Iniciar Variavel Local pelo Script

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

Iniciar Variavel Local pelo Script

Mensagem por 7hiagomp 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.




7hiagomp

Número de Mensagens : 124
Idade : 31
Data de inscrição : 21/04/2014
Reputação : 24
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Iniciar Variavel Local pelo Script

Mensagem por Lauro em Qua 16 Jul 2014, 14:18

Vai ver vc tenha que inicializar antes, marcando como false msm antes de verificar

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: Iniciar Variavel Local pelo Script

Mensagem por Gonçalves 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é? '-'

Gonçalves

Ranking : Nota B
Número de Mensagens : 1013
Data de inscrição : 29/10/2010
Notas recebidas : B + A + C
Reputação : 79
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Iniciar Variavel Local pelo Script

Mensagem por Witen 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.

Witen

Ranking : Sem avaliações
Número de Mensagens : 515
Idade : 17
Data de inscrição : 23/05/2012
Reputação : 36
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Iniciar Variavel Local pelo Script

Mensagem por antchita 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.

antchita

Ranking : Nota A
Número de Mensagens : 81
Idade : 25
Data de inscrição : 07/12/2012
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Iniciar Variavel Local pelo Script

Mensagem por chicoweb 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".

chicoweb

Ranking : Nota C
Número de Mensagens : 666
Idade : 39
Data de inscrição : 15/05/2012
Notas recebidas : B+C
Reputação : 49
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Iniciar Variavel Local pelo Script

Mensagem por Conteúdo patrocinado Hoje à(s) 00:13


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