2013-04-23 2 views
0

У меня есть эта проблема, когда работает только последняя функция, и все предыдущие игнорируются флэш-памятью. Так как все функции написаны одинаково, я не могу найти проблему.Action Script 2 работает только последняя функция

Этот код является просто нажатием кнопки для изменения типа сцены, где я нажимаю определенный ключ, и он изменяется, но в этом случае работает только последний ключ, который я выбрал.

Любой отзыв?

var gomas:Object = new Object(); 
var chocolate:Object = new Object(); 
var tarte:Object = new Object(); 
var peixe:Object = new Object(); 
var lama:Object = new Object(); 

gomas.onKeyDown = function() 
   { 
       if (Key.getCode() == "51","54","222","87","73","71","86"); 
           { 
                 loadMovieNum("01 Gomas.swf",0); 
           } 
   }; 
Key.addListener(gomas); 

chocolate.onKeyDown = function() 
   { 
       if (Key.getCode() == "49","56","69","71","76","67","78"); 
           { 
                 loadMovieNum("02 Chocolate.swf",0); 
           } 
   }; 
Key.addListener(chocolate); 

tarte.onKeyDown = function() 
   { 
       if (Key.getCode() == "52","48","82","75","66","85"); 
           { 
                 loadMovieNum("03 Tarte.swf",0); 
           } 
   }; 
Key.addListener(tarte); 

peixe.onKeyDown = function() 
   { 
       if (Key.getCode() == "50","55","84","79","83","72","77"); 
           { 
                 loadMovieNum("04 Peixe.swf",0); 
           } 
   }; 
Key.addListener(peixe); 

lama.onKeyDown = function() 
   { 
       if (Key.getCode() == "53","57","81","89","80","68","74"); 
           { 
                 loadMovieNum("05 Lama.swf",0); 
           } 
   }; 
Key.addListener(lama); 
+0

«Лама» - это не слово. Возможно, вы принимаете «ламу». – 2013-04-23 23:24:40

+0

Действительно ли имеет значение для сравнения значений, разделенных запятыми? –

ответ

1

Похоже, проблема в ваших операторах if. Запустив код, все методы вызываются в порядке нажатия клавиши. Поскольку все они загружают swf на один уровень, они перезаписывают, в результате чего загружается последний.

Я не думаю, что вы можете вставить такие запятые, как будто это рассматривается как другое условие. Это всегда прослеживает «да» (я думаю, из-за «54» быть «truthy»):

var temp:String = "1"; 
if(temp == "0", "54"){ 
    trace("yes"); 
} 

Я предложил бы использовать переключатель заявление, так как вы просто хотите проверить ключевые коды, соответствующие единичные значения.

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