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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

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

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

Iniciar Variavel Local pelo Script

em Qua 16 Jul 2014, 13:57
olá,
estou criando uma room cheia de objetos que tem o mesmo código, são muitos mesmo, então resolvi criar um script para todos, mas estou enfrentando uma dificuldade. Preciso iniciar uma variável local que permite que o jogador mova apenas o objeto sob o mouse. Copiando e colando o código nos objetos já funcionou, mas pelo script não está dando certo. me ajudem por favor.

Script:
Código:
// iniciar variavel local
var ok;

// checagem individual e efeitos
if global.pause == false
  {
    if distance_to_point(mouse_x, mouse_y) < 10
      {
        image_index = 1
        image_speed = 0
        if mouse_check_button_pressed(mb_left)
        {
        ok = true
        }
      }
      else
      {
        image_index = 0
        image_speed = 0             
      }
    }
if mouse_check_button_released(mb_left)
        {
        ok = false
        } 
       
//carregando
if mouse_check_button(mb_left) && ok == true
      {
        phy_position_x = mouse_x;
        phy_position_y = mouse_y;
        }

erro:

A intenção é que cada objeto na sala tenha sua propria variavel local "ok"
valeu.



avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

Re: Iniciar Variavel Local pelo Script

em Qua 16 Jul 2014, 14:18
Vai ver vc tenha que inicializar antes, marcando como false msm antes de verificar
avatar
Ranking : Nota B
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Número de Mensagens : 1013
Insígnias de JAM :

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

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

Re: Iniciar Variavel Local pelo Script

em Qua 16 Jul 2014, 14:29
Apartir do momento que você define ela como local ("var ok;") ele só servirá para aquele script. Por quê não tira o "var ok;" ué? '-'
avatar
Ranking : Sem avaliações
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.wibix.webs.com

Re: Iniciar Variavel Local pelo Script

em Qua 16 Jul 2014, 21:01
Amigo a variável não pode ser temporária e tente fazer uma checagem para definir a variável como false caso não esteja arrastando o obj.
avatar
Ranking : Nota A
Data de inscrição : 07/12/2012
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9
Ver perfil do usuário

Re: Iniciar Variavel Local pelo Script

em Qui 17 Jul 2014, 02:54
sim o script conter uma variavel local ou temporaria e voce chamar o script pelo criate do objecto, automaticamente essa variavel ha de pertencer ao objecto. assim é so vc marcar falso no script, e quando clicar para arrastar ela primeiro fica true e depois faz as açoes, ao soltar mete pra ficar false, isso ha de acontecer apenas no objecto em q o cursor esta em cima, acho melhor nao usar uma variavel global e tira o var antes d variavel.
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: Iniciar Variavel Local pelo Script

em Qui 17 Jul 2014, 12:15

Como o antchita disse, se o script é chamado de dentro do objeto então a variavel criada na script passa a ser do objeto que a chamou.

O que acontece é o seguinte: Sempre que ele entrar no script a variavel ok vai zerar pq vc está declarando ela ali e como o step chama ela a todo momento isso acontece.

Solução:

- No create de cada objeto caixa que vc criar declare a "var ok";
- Aí vc retira o "var ok" do script;

Testa lá deve funcionar sim.


OBS: Sei que se vc tem bilhoes de caixas criadas vai ficar dificil, então faz outro script tipo "scr_caixas_iniciar" ai vc declara tudo ali e chama esse script no create das caixas. Não tem jeito pelo menos uma vez vc vai ter que mexer em todos os creates, mas pelo menos com o script, se vc quiser inserir mais alguma var, é só ir no script "scr_caixas_iniciar".
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