Criar instancias de acordo com o número?

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

Criar instancias de acordo com o número?

Mensagem por Hedgehog em Seg 16 Ago 2010, 19:53

Como criar instancias de acordo com um certo numero? Ex: Se o Sonic tiver 46 anéis e bater em um inimigo, cria-se 46 anéis em volta dele.

Hedgehog

Número de Mensagens : 384
Idade : 20
Data de inscrição : 28/08/2008
Reputação : -2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.recursos-mania.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por SIGILOSO em Seg 16 Ago 2010, 19:58

Bem,eu faria o seguinte... no código onde vc irá criar os objetos,eu faria isso:
Código:
if variavel>0
{
instance_create(x,y, objeto )
variavel-=1
}
Acho q deve funcionar,vc só deve colocar esse código no lugar certo ( irá depender do jeito em q vc está fazendo o jogo ).
afro

SIGILOSO

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

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Hedgehog em Seg 16 Ago 2010, 20:02

Vlw SIGILOSO! Vou testar, depois eu edito!
-----------
Não funcionou, ele cria somente 1 instancia... Mais alguem?

Hedgehog

Número de Mensagens : 384
Idade : 20
Data de inscrição : 28/08/2008
Reputação : -2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.recursos-mania.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por SIGILOSO em Seg 16 Ago 2010, 20:20

Esse código está num evento CREATE?
Se estiver,tente colocá-lo num evento STEP.
afro

SIGILOSO

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

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Hedgehog em Seg 16 Ago 2010, 20:42

Está num evento de colisão, eu queria que TODAS instancias fossem criadas ao mesmo tempo, e como se trata de uma colisão, ele só é ativado enquanto está colidindo, entendeu?

Hedgehog

Número de Mensagens : 384
Idade : 20
Data de inscrição : 28/08/2008
Reputação : -2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.recursos-mania.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por SIGILOSO em Seg 16 Ago 2010, 20:46

Então faz isso:
No CREATE do objeto q vai criar os objetos,vc pôe:
Código:
CRIAR=false
No STEP...
Código:

if CRIAR=true
{
if variavel>0
{
instance_create(x,y, objeto )
variavel-=1
}
else
CRIAR=false
}
E na colisão...
Código:
CRIAR=true
Acho q deve funfar... Happy
afro

SIGILOSO

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

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Janx em Seg 16 Ago 2010, 22:50

Tem um jeito bem mais simples:

Código:
for (i=0; i<variavel_aneis; i+=1)
{
 with(instance_create(x,y,anel)) //Pode tirar o with se quiser desconsiderar
 { //////////////////////////////////// as linhas a baixo:
  direction = random(360); //OPCIONAL
  speed = random(6); //OPCIONAL
  gravity = 0.4; //OPCIONAL
  friction = 0.3; //OPCIONAL
  }
}

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Hedgehog em Ter 17 Ago 2010, 07:21

Só uma pergunta, o que seria esse i=0?

Hedgehog

Número de Mensagens : 384
Idade : 20
Data de inscrição : 28/08/2008
Reputação : -2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.recursos-mania.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Janx em Ter 17 Ago 2010, 09:16

Esse é um loop for. Não expliquei, pois achei que você sabia como funcionava.

É assim:
for (condição)
{
//ação
}

Seria:
Enquanto condição for verdadeira:
{
Fazer isso
}

A condição é colocada da seguinte maneira:
(i = 0; i < 10; i+=1)

Inicia uma variavel com valor 0 (no caso, a variavel é i), e enquanto ela for menor que 10, executa o que estiver dentro das chaves. No fim de cada loop adiciona um na variavel i. Assim esse loop é executado 10 vezes.

Você pode fazer de outras formas tambem:

(i=10; i>0; i-=1)
(i=0; i>=-10; i-=1)
etc

Mas tem que tomar cuidado para não fazer um loop infinito! Isso iria travar o jogo.

Uma outra forma de fazer isso que você quer, é usar o loop repeat

Você usa ele assim:
repeat(variavel_aneis)
{instance_create(x,y,anel);}

Seria, repetir a ação um numero X de vezes.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Kabeção em Ter 17 Ago 2010, 10:45

Você pode cria-los como um circulo perfeito modificando algumas partes do exemplo do Janx.
Código:
for (i=0; i<variavel_aneis; i+=1)
{
 with(instance_create(x,y,anel)) //Pode tirar o with se quiser desconsiderar
 { //////////////////////////////////// as linhas a baixo:
  direction = (360/other.variavel_aneis)*other.i; //OPCIONAL
  speed = 6; //OPCIONAL
  gravity = 0.4; //OPCIONAL
  friction = 0.3; //OPCIONAL
  }
}

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por DS Santos em Ter 17 Ago 2010, 10:58

Tah, mas que mal me pergunte... como você chegou nessa conclusão matemática?
direction = (360/other.variavel_aneis)*other.i

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por Kabeção em Ter 17 Ago 2010, 11:28

Divido o valor maximo para o angulo que quero (360) pelo número total de objeto que quero criar e no final multiplico pelo número do objeto atual (i).

Por exemplo:
Quero que 8 objetos sejam criados.
360/8 = 45
45 é o angulo exato entre cada um deles.

No loop for o i representa o numero do objeto atual, então:
obj0: 45*0 = 0;
obj1: 45*1 = 45;
obj2: 45*2 = 80;
obj3: 45*3 = 135;
obj4: 45*4 = 180;
obj5: 45*5 = 225;
obj6: 45*6 = 270;
obj7: 45*7 = 315;

Assim, as direções são definidas uniformemente 45° entre cada objeto.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

Mensagem por DS Santos em Ter 17 Ago 2010, 12:06

Ah, legal, até que não é muito complicado.

DS Santos

Número de Mensagens : 98
Data de inscrição : 19/05/2010
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Criar instancias de acordo com o número?

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


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