Criar vários objetos em direções diferentes?

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

Criar vários objetos em direções diferentes?

Mensagem por GuiMaker em Sex 04 Nov 2011, 19:41

Como criar vários objetos,só que em direções diferentes,por exemplo,eu aperto um botão,e daí vem 8 tiros,um pra cada direção,usei o image angle para fazer os tiros :
Código:
image_angle = direction // isso faz com que a sprite fique com o angulo da direção
Até aqui está tudo certo,mas o resto eu não sei fazer *.*,assim,n precisa colocar image angle no código nem nada,já está feito.
Eu coloquei instance create,mas eu não consigo colocar criar objeto na direção desejada entendem?Vai ser um em cada direção : 45,90,135,180,225,270,315,360.
FLW!

GuiMaker

Número de Mensagens : 23
Data de inscrição : 09/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Criar vários objetos em direções diferentes?

Mensagem por Carlos Mahnke em Sex 04 Nov 2011, 19:53

Existe mais de uma forma de fazer isso. Se os objetos devem seguir em direções aleatórias e são exclusivos para esta finalidade basta ir no evento Create e definir um motion_set, ex:
Código:
motion_set(floor(random(360)), velocidade);

Por outro lado, se deseja que os objetos sigam em direções específicas ou mesmo eles sejam usados em outros momentos do jogo sem essa movimentação vc pode fazer o seguinte:
Código:
Evento que cria os objetos
var _id; //declara uma var temporária para armazenar o id do objeto
for (i = 0; i < n; i += 1) //n é o número de objetos que devem ser criados
{
_id = instance_create(x, y, objeto); //cria uma instância do objeto e armazena o id
switch (i) //conforme o passo do for identifica qual será o objeto (1°, 2°, 3°, etc)
{
case 0: { motion_set(direção desejada para o 1° objeto, velocidade); break; } //define a direção pro 1° objeto
case 1: { motion_set(direção desejada para o 2° objeto, velocidade); break; } //define a direção pro 2° objeto
case 2: { motion_set(direção desejada para o 3° objeto, velocidade); break; } //define a direção pro 3° objeto
case n: { motion_set(direção desejada para o n objeto, velocidade); break; } //define a direção pro n objeto
}
}


Última edição por Carlos Mahnke em Sex 04 Nov 2011, 20:24, editado 3 vez(es)

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

Re: Criar vários objetos em direções diferentes?

Mensagem por GuiMaker em Sex 04 Nov 2011, 20:12

Carlos Mahnke escreveu:Existe mais de uma forma de fazer isso. Se os objetos devem seguir em direções aleatórias e são exclusivos para esta finalidade basta ir no evento Create e definir um motion_set, ex:
Código:
motion_set(floor(random(360)), velocidade);

Por outro lado, se deseja que os objetos sigam em direções específicas ou mesmo eles sejam usados em outros momentos do jogo sem essa movimentação vc pode fazer o seguinte:
Código:
Evento que cria os objetos
var _id; //declara uma var temporária para armazenar o id do objeto
for (i = 0; i < n; i += 1) //n é o número de objetos que devem ser criados
{
_id = instance_create(x, y, objeto); //cria uma instância do objeto e armazena o id
switch (i) //conforme o passo do for identifica qual será o objeto (1°, 2°, 3°, etc)
{
case 0: { motion_set(direção desejada para o 1° objeto, velocidade); break; } //define a direção pro 1° objeto
case 1: { motion_set(direção desejada para o 2° objeto, velocidade); break; } //define a direção pro 2° objeto
case 2: { motion_set(direção desejada para o 3° objeto, velocidade); break; } //define a direção pro 3° objeto
case n: { motion_set(direção desejada para o n objeto, velocidade); break; } //define a direção pro n objeto
}
}

Eu escrevi o codigo certinho,mudei tudo que tinha q fazer,etc...mas surgiu um erro aqui em var _id :

___________________________________________
FATAL ERROR in
action number 1
of Key Release Event for Key
for object object0:

COMPILATION ERROR in code action
Error in code at line 2:
var _id;
^
at position 2: Assignment operator expected.

vlw

GuiMaker

Número de Mensagens : 23
Data de inscrição : 09/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Criar vários objetos em direções diferentes?

Mensagem por Carlos Mahnke em Sex 04 Nov 2011, 20:22

Acabei esquecendo uma coisa aqui, mas não sei se é o motivo do erro. Em todo caso o código fica assim:
Código:
Evento que cria os objetos
var _id; //declara uma var temporária para armazenar o id do objeto
for (i = 0; i < n; i += 1) //n é o número de objetos que devem ser criados
{
_id = instance_create(x, y, objeto); //cria uma instância do objeto e armazena o id
switch (i) //conforme o passo do for identifica qual será o objeto (1°, 2°, 3°, etc)
{
case 0: { with (_id) { motion_set(direção desejada para o 1° objeto, velocidade); } break; } //define a direção pro 1° objeto
case 1: { with (_id) { motion_set(direção desejada para o 2° objeto, velocidade); } break; } //define a direção pro 2° objeto
case 2: { with (_id) { motion_set(direção desejada para o 3° objeto, velocidade); } break; } //define a direção pro 3° objeto
case n: { with (_id) { motion_set(direção desejada para o n objeto, velocidade); } break; } //define a direção pro n objeto
}
}

Dê uma olhada e me diga se continua o problema.

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

Re: Criar vários objetos em direções diferentes?

Mensagem por GuiMaker em Sex 04 Nov 2011, 20:50

Carlos Mahnke escreveu:Acabei esquecendo uma coisa aqui, mas não sei se é o motivo do erro. Em todo caso o código fica assim:
Código:
Evento que cria os objetos
var _id; //declara uma var temporária para armazenar o id do objeto
for (i = 0; i < n; i += 1) //n é o número de objetos que devem ser criados
{
_id = instance_create(x, y, objeto); //cria uma instância do objeto e armazena o id
switch (i) //conforme o passo do for identifica qual será o objeto (1°, 2°, 3°, etc)
{
case 0: { with (_id) { motion_set(direção desejada para o 1° objeto, velocidade); } break; } //define a direção pro 1° objeto
case 1: { with (_id) { motion_set(direção desejada para o 2° objeto, velocidade); } break; } //define a direção pro 2° objeto
case 2: { with (_id) { motion_set(direção desejada para o 3° objeto, velocidade); } break; } //define a direção pro 3° objeto
case n: { with (_id) { motion_set(direção desejada para o n objeto, velocidade); } break; } //define a direção pro n objeto
}
}

Dê uma olhada e me diga se continua o problema.

Muito obrigado!Era isso que eu estava precisando!Vlw mesmo!

GuiMaker

Número de Mensagens : 23
Data de inscrição : 09/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Criar vários objetos em direções diferentes?

Mensagem por Conteúdo patrocinado Hoje à(s) 06:04


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