Conectar-se
Quem está conectado
33 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 32 Visitantes

Biemorth

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A-C-B-A
Data de inscrição : 05/10/2010
Número de Mensagens : 383
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 57

Prêmios
   : 0
   : 1
   : 2
Ver perfil do usuário

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

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.)
avatar
Ranking : Nota A
Notas recebidas : A
Data de inscrição : 09/03/2010
Número de Mensagens : 1035
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 43

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://www.www.ww.www

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

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
avatar
Ranking : Nota A
Notas recebidas : A-C-B-A
Data de inscrição : 05/10/2010
Número de Mensagens : 383
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 57

Prêmios
   : 0
   : 1
   : 2
Ver perfil do usuário

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

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/
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2010
Número de Mensagens : 628
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 15

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

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á
avatar
Ranking : Nota A
Notas recebidas : A-C-B-A
Data de inscrição : 05/10/2010
Número de Mensagens : 383
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 57

Prêmios
   : 0
   : 1
   : 2
Ver perfil do usuário

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

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/
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum