Página 1 de 1

Dificuldade com instance_position.

Enviado: Sáb Jun 18, 2016 9:18 pm
por Matheus Carvalho
       Estou fazendo um clone do tetris. A ideia é checar linha por linha, se somar 20 blocos, destruí-los. (Cada linha cabem 20 blocos). Porém, não está funcionando. Ele detecta alguns blocos, mas não todos da linha. Já usei o Draw Event para ver se ele estava checando nos lugares corretos e está. Alguma ideia do que pode ser?


        

Código: Selecionar todos

if check_line
                {
                    check_line = 0
                    var ii = 0;
                    repeat(40)
                    {
                        var i = 0;
                        var blocks = 0;
                        repeat(20)
                        {
                            if instance_position(960 - tw/2 + 20*i + 10, 540 + th/2 - 20*ii - 10, obj_tetris_blocki) > 0
                            {
                                blocks++
                                dest[i] = instance_position(960 - tw/2 + 10 + 20*i, 540 + th/2 - 10 - 20*ii, obj_tetris_blocki)
                                show_message(i)
                            }
                            i++
                        }
                        if blocks = 20
                        {
                            var i = 0;
                            repeat(20)
                            {
                                with(dest[i])
                                {
                                    instance_destroy()
                                }
                                i++
                            }
                        }
                        ii++
                    }
                }

Re: Dificuldade com instance_position.

Enviado: Sáb Jun 18, 2016 9:19 pm
por nicoca
coloco as coordenadas das linhas ?

Re: Dificuldade com instance_position.

Enviado: Sáb Jun 18, 2016 9:21 pm
por Matheus Carvalho
Sim, coloquei pra desenhar sprites dos blocos exatamente nessas posições que to checando, e desenhou eles exatamente onde quero.

Re: Dificuldade com instance_position.

Enviado: Sáb Jun 18, 2016 9:25 pm
por nicoca

Código: Selecionar todos

if check_line
                {
                    check_line = 0
                    ii = 0;
                    repeat(40)
                    {
                        i = 0;
                        blocks = 0;
                        repeat(20)
                        {
                            if instance_position(960 - tw/2 + 20*i + 10, 540 + th/2 - 20*ii - 10, obj_tetris_blocki) > 0
                            {
                                blocks++
                                dest[i] = instance_position(960 - tw/2 + 10 + 20*i, 540 + th/2 - 10 - 20*ii, obj_tetris_blocki)
                                show_message(i)
                            }
                            i++
                        }
                        if blocks = 20
                        {
                            i = 0;
                            repeat(20)
                            {
                                with(dest[i])
                                {
                                    instance_destroy()
                                }
                                i++
                            }
                        }
                        ii++
                    }
                }

tenta usar esse codigo ai

Re: Dificuldade com instance_position.

Enviado: Sáb Jun 18, 2016 9:29 pm
por Matheus Carvalho
Não mudou nada, você só tirou os 'var' kkkk. Mas acho que reparei em algo aqui. Vou testar

Funcionou agora.

O problema era que eu mudava os blocos e blocka pra blocki, porém o instance_change só acontece depois do steps, então não tava reconhecendo como bloco que pode ser destruído.

Mesmo assim, valeu pela ajuda :)