Conectar-se
Quem está conectado
24 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 24 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Identificar instancias

em Qui 20 Dez 2012, 19:43

Estou com um problema eu crio as seguintes instancias:

Código:
cont = 0;
while cont <= 30 {
    // Cria um cao no lado esquerdo da tela 
    instance_create(random(100),random(480),obj_cao);
    obj_cao.hspeed = 4;
    // Cria um cao no lado direito da tela 
    instance_create(random(100)+540,random(480),obj_cao)
    obj_cao.hspeed = -4;
    cont += 1;
}

Achei que pelas speed que coloquei faria cada cao de cada lado andar pro meio da tela,
mas acontece que todos começam a andar pratras, obedecendo somente o -4

Como que eu os identifoco para terem speeds diferentes???
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

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

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

Re: Identificar instancias

em Qui 20 Dez 2012, 19:46
Código:
cont = 0;
while cont <= 30 {
    // Cria um cao no lado esquerdo da tela 
    cao1=instance_create(random(100),random(480),obj_cao);
    cao1.hspeed = 4;
    // Cria um cao no lado direito da tela 
    cao2=instance_create(random(100)+540,random(480),obj_cao)
    cao2.hspeed = -4;
    cont += 1;
}
avatar
Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttps://www.facebook.com/seito.washiro.7

Re: Identificar instancias

em Qui 20 Dez 2012, 19:50
só complementando o código do pinpi
Código:

cont = 0;
while cont <= 30 {
    // Cria um cao no lado esquerdo da tela 
    (instance_create(random(100),random(480),obj_cao)).hspeed=4;
    // Cria um cao no lado direito da tela 
    (instance_create(random(100)+540,random(480),obj_cao)).hspeed=-4;
    cont += 1;
}
avatar
Ranking : Nota B
Notas recebidas : D+A+B
Data de inscrição : 16/01/2012
Número de Mensagens : 787
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://need90games.blogspot.com.br

Re: Identificar instancias

em Qui 20 Dez 2012, 19:51
você está definindo a mesma variável duas vezes em sequencia, e como a -4 é a última, é a que o objeto vai obedecer.
tente assim :
Código:
cont = 0;
while cont <= 30 {
    // Cria um cao no lado esquerdo da tela 
    i = instance_create(random(100),random(480),obj_cao);
    i.hspeed = 4;
    // Cria um cao no lado direito da tela 
    o = instance_create(random(100)+540,random(480),obj_cao)
    o.hspeed = -4;
    cont += 1;
}
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: Identificar instancias

em Qui 20 Dez 2012, 20:19
Beleza funcionou. Obrigado a todos!!

Funcionou e com várias alternativas, mas gostei da que atribui o objeto a outro novo, "objnovo = instance_create(....)".

Mas isso me levou a mais uma duvida que vai rolar no futuro:

Percebi que tb podemos usar vetores tipo

Código:
cont = 0;
while cont <= 300 {
    cao[i] = instance_create(random(100)+540,random(480),obj_cao)
    cont += 1;
}

Eu posso definir desses tipo até o cao[300].
E tb sem seta-lo para ninguem do tipo:

Código:
cont = 0;
while cont <= 30 {
    instance_create(random(100)+540,random(480),obj_cao)
    cont += 1;
}

A pergunta é: Faz alguma diferença em termos de desempenho e consumo de memória ou algo assim?



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: Identificar instancias

em Qui 20 Dez 2012, 20:48
Nesse código:
Código:
cont = 0;
while cont <= 300 {
    cao[cont] = instance_create(random(100)+540,random(480),obj_cao)
    cont += 1;
}
Ele vai criar uma matriz de 300 posições. Contando grossamente, são 2400 (300x8) bytes só de matriz. Isso equivale a pouco mais de 2 kB. É uma perda desnecessária de memória.

Já esse códig:
Código:
cont = 0;
while cont <= 30 {
    instance_create(random(100)+540,random(480),obj_cao)
    cont += 1;
}

Poderia ser substituido por:
Código:
repeat(31) instance_create(random(100)+540,random(480),obj_cao);

Se você usar var cont; no início, logo a memória da variável será recuperada, mas não é bom ficar usando variáveis para qualquer coisa. E fica até mais legível e rápido de executar.

Até mais!
avatar
Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

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

Re: Identificar instancias

em Qui 20 Dez 2012, 21:10
OK. Muito mais limpo assim neh!
Valeuuuu!
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