Прошить AS3 если / еще простая проблема - PullRequest
0 голосов
/ 31 августа 2011

Я пытаюсь написать плавный переходный фрагмент, и я не знаю, что происходит.Я оставил его прошлой ночью, и он работал, я думаю, сейчас его нет.

вот оно.

function btnclick(event:Event):void
{   
    if(event.target == load1 || load2)
    { 
        trace("working");
    } 
    else 
    {
        trace("not ");
    }
}

на моей сцене, у меня есть 3 кнопки,

load1.addEventListener(MouseEvent.CLICK, btnclick);
load2.addEventListener(MouseEvent.CLICK, btnclick);
load3.addEventListener(MouseEvent.CLICK, btnclick);

3 экземпляра кнопок:

load1, load2 and load3.

Когда я нажимаю кнопки load1 или load2, я получаю трассу «работающей», но когда я нажимаю кнопку load3, я все еще работаю, когда еедолжен сказать "не"

просто чтобы проверить, я изменил это на это:

function btnclick(event:Event):void
{
    if(event.target == load1 || load2) 
    {
            trace("working");
    } 
    else if (event.target == load3)
    {
            trace("not ");
    }
}

и та же проблема, они все говорят "работающие"

Любые идеи, чтоэто что мне не хватает?

Ответы [ 2 ]

4 голосов
/ 31 августа 2011

Простая вещь: Ваше состояние не так!

if(event.target == load1 || load2) {

Это оценивает:

IF (event.target == load1)
OR IF (load2 is not empty)

Так как load2 - ваша кнопка, это всегда будет true.

Измените его на:

if(event.target == load1 || event.target == load2) {
3 голосов
/ 31 августа 2011

Попробуйте это:

function btnclick(event:Event):void{


    if(event.target == load1 || event.target == load2) {
           trace("working");
          } else {
               trace("not ");
           }

}

Но я рекомендую вам использовать currentTarget вместо target:

function btnclick(event:Event):void{


    if(event.currentTarget == load1 || event.currentTarget == load2) {
           trace("working");
          } else {
               trace("not ");
           }

}

Проблема с вашим кодом была в event.target == load1 || load2. И это эквивалентно (event.target == load1) || (load2), где Boolean(load2) равно true, если load2 не равно null. Так что event.target == load1 || load2 всегда true в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...