對於類和東西,我還是很新的東西。所以,我試圖做到這一點,我得到一個錯誤:訪問未定義的屬性。 爲什麼speedX和speedY var仍然錯誤,儘管我已經在主類的public var中定義了它?Actionscript 3無法訪問空對象引用的屬性或方法
謝謝!
編輯:我試過從main.speedX和main.speedY調用其他類的變量但它有錯誤:無法訪問空對象引用的屬性或方法。 波爾/ moveBall()
這是主代碼:
package
{
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip
{
public var speedX:Number = 5;
public var speedY:Number = 5;
public var speedMax:Number = 10;
private var ball:MovieClip = new Ball();
private var paddle:MovieClip = new Paddle();
public function Main()
{
paddle.addEventListener(Event.ENTER_FRAME, movePaddle);
addChild(ball);
addChild(paddle);
}
}
}
這是球影片剪輯代碼:
package
{
import flash.display.MovieClip;
import flash.events.Event;
public class Ball extends MovieClip
{ public var main:Main;
public function Ball()
{addEventListener(Event.ENTER_FRAME, moveBall);
main= new Main();
}
public function moveBall(e:Event):void
{
x += main.speedX;
y += main.speedY;
}
}
}
傳遞的值,因爲你沒有存儲球值不起作用。 aduch answer是有效的,因爲它傳遞值並將它們存儲在Ball中。澄清一下,公共變量不是全局變量。它們允許你從課堂外訪問一個班級的值,但你仍然需要參考班級。所以如果你通過了一個主要的參照球,你可以在球中做「_main.speedX」,但是在球中單獨的「speedX」將無能爲力。 – Dave
我編輯了代碼。通過使用main.speedX引用Main類來使用其他類中的var。但後來我得到了一個錯誤。我想我一直在失去一些東西。任何想法?謝謝! – user3411184
你得到什麼錯誤? Actionscript的一個很好的參考是Colin Moock的Essential Actionscript 3.0。 – Dave