[RESOLVIDO]Alterar codigo em tempo de execucao

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

Resolvido [RESOLVIDO]Alterar codigo em tempo de execucao

Mensagem por itarodrigo em Seg 20 Set 2010, 20:58

estou usando o seguinte codigo:

Código:

instance_create(105,55,ob_casa);
instance_create(30,100,ob_casa);
instance_create(180,100,ob_casa);

como fazer para alterar o codigo de cada objeto?

ex:

Código:

instance_create(105,55,ob_casa);
ev_mouse
execute_code(MEU_CODIGO_PARA_ESSE_OBJETO);
instance_create(30,100,ob_casa);
ev_mouse
execute_code(MEU_CODIGO_PARA_ESSE_OBJETO);
instance_create(180,100,ob_casa);
ev_mouse
execute_code(MEU_CODIGO_PARA_ESSE_OBJETO);

acredito que deu pra entender.

agradeço qualquer ajuda.

abraços.

itarodrigo

Número de Mensagens : 599
Idade : 33
Data de inscrição : 28/08/2010
Reputação : 52
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]Alterar codigo em tempo de execucao

Mensagem por itarodrigo em Seg 20 Set 2010, 21:05

estou usando assim:
Código:

i = instance_create(105,55,ob_casa);
object_event_add(i,ev_mouse,ev_left_press,show_message("teste"));
o codigo executa assim que o jogo inicia e nao quando eu clico com o mouse.

itarodrigo

Número de Mensagens : 599
Idade : 33
Data de inscrição : 28/08/2010
Reputação : 52
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]Alterar codigo em tempo de execucao

Mensagem por itarodrigo em Seg 20 Set 2010, 21:21

RESOLVIDO, PODE TRANCAR O TOPICO.

para quem interessar, o codigo é:

Código:

obj=object_add();
object_set_sprite(obj,sp_casa);
object_event_add(obj,ev_create,0,"speed=0; x=105; y=55;");
object_event_add(obj,ev_mouse,ev_left_press,"show_message('teste')");
instance_create(0,0,obj);

itarodrigo

Número de Mensagens : 599
Idade : 33
Data de inscrição : 28/08/2010
Reputação : 52
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]Alterar codigo em tempo de execucao

Mensagem por fonetico em Seg 20 Set 2010, 21:23

itarodrigo, favor sem posts duplos ok? Só um aviso.

Bom, quanto ao seu programa, achei uma forma mais fácil para se fazer isso, no caso usando uma variável.

• Primeiro, seria necessário declará-la no evento create do objeto casa. Essa variável vai comandar que código será executado ao pressionar o objeto, então o código é:

Código:
acao = 0;

Lembre-se que em códigos nunca pode ter cedilhas.

Certo. Nesse mesmo objeto da cas, em um evento mouse_pressed, você define o valor da variável para executar tal código, ou seja:

Código:

if acao = 1 //o 1° obj casa
//executar tal código

if acao = 2 //o 2° obj casa
//executar tal codigo

//. . . e assim sucessivamente até o número de casas que criar-a

Agora, no tal objeto que criará as casas, pelo que vi, em um evento sem repetição você usa o mesmo objeto de criação, só que de uma forma diferente:

Código:

a = instance_create(105,55,ob_casa); //salva a id do objeto
b = instance_create(30,100,ob_casa);//idem
c = instance_create(180,100,ob_casa);//idem

with(a) //acessa o 1° obj
acao = 1 //muda a variavel deste objeto

with(b)//acessa o 2° obj
acao = 2 //muda a variavel deste outro objeto

with(c)//acessa o 3° obj
acao = 3 //muda a variaavel de mais um objeto


Bom colega, usei o máximo de minha lógica rs. Não testei o código, mas deve funcionar.

E se for testá-lo, recomendo tirar esse código de criação de eventos.


Opa! Postei tarde de mais rs Mas tudo bem, sem problemas!

Resolvido!
Tópico trancado!

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO]Alterar codigo em tempo de execucao

Mensagem por Conteúdo patrocinado Hoje à(s) 12:36


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