2015-09-12 3 views
0

Это мой второй пост здесь, и первый из них был быстро решен из-за знания хорошего участника. Поэтому я хотел бы попробовать еще раз, если вы можете помочь, это будет замечательно. Это для проекта класса ... И я хочу застрять снова ...AS3 - если заявление не работает

Вот мой код:

// TOP NAVIGATION - OVER ADDING CHILD // 

var dest5:Number = -23; 
var home_button:mc_home1 = new mc_home1(); 
var globe_button:mc_globe1 = new mc_globe1(); 
var game_button:mc_game1 = new mc_game1(); 
var info_button:mc_info1 = new mc_info1(); 
var menudown_dest:Number = 58.9; 
var menudown_dest_back:Number = -58.9; 


function top_menu_bg(event:Event):void{ 
    if (dest5 != mc_top.y){ 
     var easeNum:Number = 0.93 
     mc_top_bar.y = mc_top_bar.y * easeNum + dest5 * (1-easeNum); 
    } 
    if (mc_top_bar.y >= -23) { 
    function top_menu_down(event:MouseEvent):void{ 
     if (menudown_dest != mc_top_bar.y) 
     var easeNum:Number = 0.93 
     mc_top_bar.y = mc_top_bar.y * easeNum + menudown_dest * (1-easeNum); 
     } 
     if (mc_top_bar.y >= 42.95) 
     { 
     addChild(home_button); 
     home_button.x = 472.95; 
     home_button.y = 39.15; 
     addChild(globe_button); 
     globe_button.x = 582.95; 
     globe_button.y = 39.65; 
     addChild(game_button); 
     game_button.x = 699.95; 
     game_button.y = 38.15; 
     addChild(info_button); 
     info_button.x = 812.95; 
     info_button.y = 39.15; 
     removeEventListener(Event.ENTER_FRAME, top_menu_bg); 
    } 
    mc_top_bar.addEventListener(MouseEvent.MOUSE_OVER, top_menu_down); 
    } 
    if (mc_top_bar.y >= 50.9) { 
     function top_menu_bg_backup (event:MouseEvent):void{ 
      mc_top_bar.removeEventListener(MouseEvent.MOUSE_OVER, top_menu_down); 
      if (menudown_dest_back != mc_top.y) 
      var easeNum:Number = 0.93 
      trace("hello1") 
      mc_top_bar.y = mc_top_bar.y * easeNum + menudown_dest_back * (1-easeNum); 
      } 
      if (mc_top_bar.y >= 50) 
       { 
       removeChild(home_button); 
       removeChild(globe_button); 
       removeChild(game_button); 
       removeChild(info_button); 
       trace("hello2") 
       } 
      mc_top_bar.addEventListener(MouseEvent.MOUSE_OUT, top_menu_bg_backup); 

      } 
} 
addEventListener(Event.ENTER_FRAME, top_menu_bg); 

Так все работает до функции top_menu_bg_backup, потому что я отслеживание его .. . И не отслеживается ...

Я пытаюсь упростить свой код настолько, насколько могу. Это мой первый проект AS3. И все еще прошу о том же проекте ... Извините

+0

Действительно, кажется, что некоторые фигурные скобки терпят неудачу, а также вы должны, вероятно, сохранить все функции на одном уровне, а не вложить их в них. Я попытался очистить это на секунду, но выглядит слишком грязным, не могу быть уверенным, какие линии вы должны иметь в этой функции. :/ – kaarto

ответ

0
if (menudown_dest_back != mc_top.y) 
      var easeNum:Number = 0.93 

Этот фрагмент кода не имеет особого смысла. Объявление переменной для easeNum будет существовать только в этой строке, а назначенное ему значение больше не будет доступно. Может быть, вам не хватает пары фигурных скобок?

+0

Спасибо за ваш быстрый ответ. Ну, проблема, это не Tween easeNum ... но, возможно, {} ... Но я пробовал все готово и проверяю это ... Может быть, это факт, что я удаляю eventlistener ... Но может, t выяснить ... Snif – Arsenil98