[Divida] Objetos não se sobreporem

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Divida] Objetos não se sobreporem

Mensagem por Leydine em Seg 31 Out 2011, 13:56

Eu gostaria de adicionar randomicamente uma pedra até a room ficar completamente coberta, mas essas pedras não podem ficar uma em cima da outra, precisam ficar uma ao lado da outra.
A parte de adicionar objetos randomicamente eu sei fazer, mas não sei como fazer com que os objetos não se sobreponham.

Alguém tem alguma idéia? scratch


Última edição por Leydine em Seg 31 Out 2011, 15:10, editado 1 vez(es)

Leydine

Número de Mensagens : 9
Idade : 25
Data de inscrição : 16/09/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Igor KinGamer em Seg 31 Out 2011, 14:00

Após criar a instância, teste se ela está colidindo com outra, e no caso de estar, mova-a aleatoriamente até que não colida mais.
Só que você poderá ter problemas se a room estiver cheia e você tentar posicionar mais uma pedra. Não havendo espaço livre, entrará num loop infinito e o jogo travará.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Willy em Seg 31 Out 2011, 14:03

Antes de criar a pedra, verifique se o lugar em que ela vai ser criada não está ocupada por uma outra pedra:

Código:
if !place_meeting(x+valor,y+valor,obj_pedra){
instance_create(x+valor,y-valor,obj_pedra)
}

Espero ter ajudado!
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por GALAXY GAMES em Seg 31 Out 2011, 14:11

Tente esse código:
Código:

if distance_to_object(nome_do_objeto_pedra)<10 //Se a distancia entre uma pedra e outra for menor que 10 pixels
{
y+=2 //Mantem um espaço de 2 na posição Y e X
x+=2
}

GALAXY GAMES

Ranking : Nota E
Número de Mensagens : 439
Data de inscrição : 03/10/2011
Notas recebidas : D+E+E
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Willy em Seg 31 Out 2011, 14:33

Uma outra forma de preencher a room é usando a função "for".
Montei uma engine para você.
Código:
http://www.4shared.com/file/_gxR-QxI/Preencher_room_com_blocos.html
Nota: Coloque o tamanho X do bloco aonde tiver 32. Na engine, estou usando 32 sem alinhamento. Se tiver alinhamento, é só colocar o valor correspondente.

Se tiver dúvidas, é só falar.
Espero ter ajudado!
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Leydine em Seg 31 Out 2011, 15:09

Obrigado pela Engine, ficou perfeito, mas vou procurar um tutorial explicando como funciona esse FOR porque eu não entendi nada. silent

Leydine

Número de Mensagens : 9
Idade : 25
Data de inscrição : 16/09/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Carlos Mahnke em Seg 31 Out 2011, 15:20

Leydine escreveu:mas vou procurar um tutorial explicando como funciona esse FOR porque eu não entendi nada.
Dê uma olhada nessa explicação básica: http://www.brasilacademico.com/apostilas/A7_Para.pdf

Carlos Mahnke

Ranking : Sem avaliações
Número de Mensagens : 202
Data de inscrição : 27/07/2011
Notas recebidas : A+B (não colocar conceito)
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Luca$ em Seg 31 Out 2011, 15:46

Ja mandaram um link PDF,mas vou tentar explicar de um jeito simples:
for (afirmaçao1 ; expressao ;afirmaçao2) afirmaçao3
Obs:Linha de codigo retirada do Help do Game Maker,apenas traduzido.

A "afirmaçao1",é o valor inicial. exemplo:
Código:
i=0

A "expressao",é como se fosse um if, exemplo:

Código:
y>=10;//se y for maior ou igual a 10

A "afirmaçao2",é o valor que deverá ser atribuido a variavel se a expressao for verdadeira.Ex:

Código:
i+=1

E a "afirmaçao3" é a açao.

Agora um exemplo e um exemplo "traduzido" de for.

Código:
for(i=0; i>=10; i+=1)
{
array[i]=0//Esse script de for irá criar uma array com 10  com de valor 0
}
Traduzindo...
Código:
 for(valor inicial de i=0; enquanto nao for maior ou igual a 10; acrescenta 1 a variavel i)
{
array[i]=0//Esse script de for irá criar uma array com 10  com de valor 0
}

Espero que tenha entendido...



Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Divida] Objetos não se sobreporem

Mensagem por Conteúdo patrocinado Hoje à(s) 02:42


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum