2013-04-06 102 views
0
package com.powerflasher.SampleApp { 
import flash.events.MouseEvent; 
import flash.display.Sprite; 

public class test1 extends Sprite { 
    public function test1() 
    {  
    NewCircle1(); 
    NewButton1(); 
    Magic(); 
    } 


    private function NewButton1():void 
    { 
     var NewButton:Sprite = new Sprite(); 
     NewButton.graphics.beginFill(0x0000ff,1); 
     NewButton.graphics.drawRect(100, 100, 50, 50); 
     NewButton.graphics.endFill(); 
     addChild(NewButton); 
     NewButton.addEventListener(MouseEvent.CLICK, Magic); 

    } 
    private function NewCircle1():void 
    { 
     var NewCircle:Sprite = new Sprite(); 
     NewCircle.graphics.beginFill(0x000000,1); 
     NewCircle.graphics.drawCircle(400, 500, 50); 
     NewCircle.graphics.endFill(); 
     addChild(NewCircle); 


    } 
    private function Magic():void { 
    Tweenlite.to(NewCircle1(), 2+Math.random()*6, {x:Math.random()*20, y:Math.random()*25, scaleX:Math.random()*3, ScaleY:Math.random()*5}); 

    }}} 

所有我想要做的是畫方,畫出圓圈,上萬點擊鼠標移動一圈隨機位置TweenLite的未聲明

得到錯誤「變量TweenLite的「被沒有聲明「,不知道..

回答

0

你的代碼有幾個問題,但是對於你最初的問題,如果你想在課堂上使用Tweenlite,你需要導入Tweenlite。

import com.greensock.Tweenlite; 

但是,您的代碼還存在其他問題,可能會導致下一個問題。您正在使用本地變量來存儲您的精靈實例。這意味着變量名稱將不會在這些方法完成之後持續存在。

需要將NewButton和NewCircle作爲類屬性,以便它們可用於類中的所有方法。

下面是一個例子:

package com.powerflasher.SampleApp { 
    import flash.events.MouseEvent; 
    import flash.display.Sprite; 
    import com.greensock.Tweenlite; // import Tweenlite 

    public class test1 extends Sprite { 

     // declare your class properties 
     public var NewButton:Sprite; 
     public var NewCircle:Sprite; 

     public function test1() 
     {  
      NewCircle1(); 
      NewButton1(); 
      Magic(); 
     } 


     private function NewButton1():void 
     { 
      NewButton = new Sprite(); 
      NewButton.graphics.beginFill(0x0000ff,1); 
      NewButton.graphics.drawRect(100, 100, 50, 50); 
      NewButton.graphics.endFill(); 
      addChild(NewButton); 
      NewButton.addEventListener(MouseEvent.CLICK, Magic); 

     } 
     private function NewCircle1():void 
     { 
      NewCircle = new Sprite(); 
      NewCircle.graphics.beginFill(0x000000,1); 
      NewCircle.graphics.drawCircle(400, 500, 50); 
      NewCircle.graphics.endFill(); 
      addChild(NewCircle); 


     } 
     private function Magic():void 
     { 

      Tweenlite.to(NewCircle, 2+Math.random()*6, {x:Math.random()*20, y:Math.random()*25, scaleX:Math.random()*3, ScaleY:Math.random()*5}); 

     } 
    } 
} 
+0

greencosck被鏈接的資源,所以在進口沒有必要,但休息幫助了很多,TY 。 p.s-將as3當作第一語言學習,在開始時有點傷腦)從來沒有編碼過 – user2252359 2013-04-09 13:49:49

0

在TweenLite函數中,你有 - NewCircle1()。但是這個函數不會返回對象,所以錯誤即將到來,因爲你正在嘗試補間 - 沒有任何東西。

+0

感謝,這有助於 – user2252359 2013-04-09 13:47:46

+0

請,接受的答案,如果它幫助:) – GeorgeCross 2013-04-09 16:51:33