2015-03-30 2 views
0

Мой код работает, но не получает VAR в последней функции. Что мне не хватает?AS3 pass var от основного класса до другого класса

Главного Код класса

package { 

    import flash.display.MovieClip; 
    import flash.events.*; 

    import com.Bubble; 


    public class numberPop extends MovieClip 
    { 

     public var numberBubble:Bubble; 

     public function numberPop() 
     { 

      addBubble(3); 

     } 


     public function addBubble(num:Number) 
     { 
      var i:Number = num;   
      numberBubble = new Bubble(i); 
      addChild(numberBubble); 
     } 

    } 

} 

второй класс Код: Bubbles.as

package com { 

    import flash.display.MovieClip; 
    import flash.events.*; 


    public class Bubble extends MovieClip 
    { 

     public var num:Number; 

     public function Bubble(num:Number) 
     { 
      super(); 
      num = num; 
      trace("Number is: " + num); /// WORKS !!!!! 

      this.addEventListener(MouseEvent.CLICK, bubbleAction); 



     } 

     public function bubbleAction(e:Event) 
     { 
      trace(num); // DOES NOT WORK BUT SHOULD. 
     } 

    } 

} 
+0

Я хотел бы попробовать переименовать 'публичную функцию Bubble (Num: Number)' в какой-либо другой переменной имя. Это может быть противоречиво с 'public var num: Number;' –

ответ

1

Ваш аргумент в конструкторе наиважнейшая классы. Изменение:

num = num; 

в

this.num = num; 
+0

Так оно и было. Спасибо. :) –

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