[Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

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

Resolvido [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por Mr.Rafael em Dom 26 Jun 2011, 18:21

Estou brincando com um projeto no Game Maker e vi que, para continuar, preciso espalhar objetos pela room para o desafio em questão ser iniciado. No entanto, eu não quero que ele randomize no mapa todo, mas sim na tela principal onde o jogo está localizado. Para entender melhor, desenhei 2 quadrados bem rápidos no source abaixo:

Código:
 1
------------------------------
-                            -
-                            -
-                            -
- 2                          -
---------------              -
-              -            --
-              -            --
-              -            --
-              -            --
---------------              -
-                            -
------------------------------
1: room inteira.
2: Área onde quero que ocorra a randomização.

De uma room inteira, eu quero apenas uma parte para ocorrer a randomização, sendo que nenhum objeto deverá surgir fora da área 2. E se for possível, gostaria de fazer isso com "grades", ou seja, ele se randomizaria, mas não aparecia em qualquer lugar, evitando que fosse criado um em cima do outro ou "na beirada" da tela. Existe a função "Jump to Random", mas não sei usá-la. Já fui em wikis de GM e fiquei cavando tópicos na GMC, mas não obtive nada que me explicasse melhor como entender essa função. Também tentei aprender a base de chutes (tentando até conseguir resultados), mas tudo o que consegui foi ter o objeto aparecendo no topo do mapa (0,0).

Enfim... me expliquem aí como posso fazer isso, por favor. Agradeço desde já!

o/


Última edição por Mr.Rafael em Dom 26 Jun 2011, 23:30, editado 1 vez(es) (Razão : Tópico resolvido.)

Mr.Rafael

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

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por LCS em Dom 26 Jun 2011, 18:28

hmm tu pode usar o random_range
random_range(x1,x2)
o random range gera um valor aleatorio entre o x1 e o x2.
Por exemplo para eu criar um objeto em uma posição aleatoria no eixo y entre 16 e 32 eu faço o seguinte
instance_create(x,random_range(16,32),obj_nada)
Qualquer duvida pergunta ai.

flws

LCS

Ranking : Nota A
Número de Mensagens : 1035
Idade : 21
Data de inscrição : 09/03/2010
Notas recebidas : A
Reputação : 43
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://www.www.ww.www

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por Mr.Rafael em Dom 26 Jun 2011, 18:44

Funcionou! Eu havia me esquecido do GML (mania minha, muito tempo usando GM7 lite fez com que eu aprendesse a fazer quase tudo que queria em DnD). No caso, basta definir a distância nos campos do instance_create que ele gera por conta própria.

Quanto a grade... existe alguma forma de randomizá-lo sem que eu precise alinhar o objeto no Create? Sempre que eu faço isso acontece uns bugs graças a colisão "principal" dos objetos (o canto superior esquerdo). Isso faz com que, ao invés dele se alinhar da forma que eu queria, ele é puxado para outra posição porque o canto esquerdo dele estava a meros pixels próximo a outra coordenada.

Já ia me esquecendo... obrigado pela ajuda!

o/

Mr.Rafael

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

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por Mentos e Coca-cola em Dom 26 Jun 2011, 19:16

coloque um resolvido no tópico e algum mod, ou admin ou etc... tranca o tópico
se está resolvido já

Mentos e Coca-cola

Ranking : Nota D
Número de Mensagens : 627
Idade : 18
Data de inscrição : 30/06/2010
Notas recebidas : D
Reputação : 15
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: [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por Mr.Rafael em Dom 26 Jun 2011, 19:30

Ainda não está resolvido: Eu gostaria de saber se existe uma maneira de randomizá-lo em "grade", ou seja, que ele não apareça em qualquer posição escolhida. No caso eu quero 16x16, seria um sorteio de todos os múltiplos de 16.

o/

Mr.Rafael

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

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por PedroX em Dom 26 Jun 2011, 23:01

A lógica é:

Código:
xx=random_range(inicio,fim)
yy=random_range(inicio,fim)

xx=floor(xx/16)*16;
yy=floor(yy/16)*16;

instance_create(xx,yy,objeto)

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]DÚVIDA - Randomizar em apenas uma parte da room

Mensagem por Conteúdo patrocinado Hoje à(s) 22:53


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