2015-11-21 3 views
0

Эй, я хотел использовать переменную два разных клипа.Доступ к переменной из другого мувиклипа

У меня есть MovieClip (mainGame) с этим кодом

onClipEvent(load) 
{ 
    var light:Boolean; 
    light = true; 
    trace("Game Loaded"); 

} 

on(keyPress "x") 
{ 
    if(light == false) 
    { 
     light = true; 
     trace("light is on"); 
    } 
    else if(light == true) 
    { 
     light = false; 
     trace("light is off"); 
    } 
} 

Этот код переключает логическое значение.

Теперь у меня есть еще один клиппинг (враг), в котором я хотел бы получить доступ к булевому «свету», а затем сделать этот клиппинг (враг) видимым или невидимым в зависимости от булевого.

onClipEvent(enterFrame) 
{ 
    if(light == true) 
    { 
     this._visible = false; 
    } 
    else if(light == false); 
    { 
     this._visible = true; 
    } 
} 

спасибо за помощь, Joao Silva

ответ

0

Чтобы получить доступ к light переменной вашего mainGame мувиклип с вашего enemy один, вы можете сделать:

_root.mainGame.light 

Так что ваш код может быть например,

// mainGame 

onClipEvent(load) 
{ 
    var light:Boolean = true; 
    trace('Game Loaded'); 
} 

on(keyPress 'x') 
{ 
    // here we use the NOT (!) operator to inverse the value 
    light = ! light; 

    // here we use the conditional operator (?:) 
    trace('light is ' + (light ? 'on' : 'off')); 
} 

и

// enemy 

onClipEvent(enterFrame) 
{ 
    this._visible = ! _root.mainGame.light; 
} 

, которые вы можете сделать из mainGame MovieClip:

// mainGame 

on(keyPress 'x') 
{ 
    light = ! light; 

    _root.enemy._visible = ! light; 

    trace('light is ' + (light ? 'on' : 'off')); 
} 

Для больше о NOT (!) operator, посмотрите here, и о conditional operator (?:) от here.

И как вы учитесь, вы можете начать learning ActionScript3here ...

Надежда, которая может помочь.

Смежные вопросы