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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

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

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

Código com object_event_add

em Dom 06 Nov 2011, 19:07
O problema é o seguinte, se eu fizer o objeto por script, não funciona, pelo menos não aqui, mas se eu montar pelo editor de objetos do GM, funciona certinho.
Se é que há algum, qual é o erro?
PS: é um código para checkboxes, se eu clicar e estiver 'checado' ele descheca, se não estiver 'checado' ele checa. E tem os eventos de mouse_over e not over, e se estiver desativado ele deixa no sprite de desativado.

Código:
cb=object_add()

object_set_sprite(cb, spr_cb)
object_set_visible(cb, true)
object_set_solid(cb, true)

object_event_add(cb, ev_create, 0, "
global._cb+=1;
disabled=false;
checked=false;
changed=false;
font=global.font;
color=global.color;
text='';
")

object_event_add(cb, ev_destroy, 0, "global._cb-=1")

object_event_add(cb, ev_alarm, 0, "changed=false")

object_event_add(cb, ev_draw, 0, "
image_speed=0;
draw_sprite(sprite_index,image_index,x,y);
draw_text(x+18,y-3,text)
")

object_event_add(cb, ev_left_press, 0, "
if disabled then exit

switch (checked){
case true:
image_index=5;
checked=false;
changed=true;
alarm[0]=1;
break;

case false:
image_index=2;
checked=true;
changed=true;
alarm[0]=1;
break;
}
")

object_event_add(cb, ev_left_release, 0, "
if disabled then exit

switch (checked) {
case true:
image_index=4;
break;

case false:
image_index=1;
break;
}
")

object_event_add(cb, ev_mouse_enter, 0, "
if disabled then exit

switch (checked) {
case true:
image_index=4;
break;   

case false:
image_index=1;
break;
}
")

object_event_add(cb, ev_mouse_leave, 0, "
if disabled then exit

switch (checked) {
case true:
image_index=3;
break;   

case false:
image_index=0;
break;
}
")

object_event_add(cb, ev_disabled, 0, "image_index=6")


global._cb=0
global.font=cb_default
global.color=c_black
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

Re: Código com object_event_add

em Dom 06 Nov 2011, 19:17
Simples, você esqueceu que a variavel que você está criando, a "cb" é local. Ou seja, não vai funcionar se estiver num script, ela é local (do script). A solução seria usar ela como global.
Mas, nheu vô tê qui ficá colocano "global." toda hora, nhé?
Sim e não. Se você usar o "global." pra declará-la, sim. Mas se você usar este código aqui:
Código:
globalvar cb;
cb=object_add()
Aí não é necessario.

Até mais! cyclops
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