這裏的漂亮的新flixel/AS3用戶,雖然不是編碼的全新。無論如何,這個錯誤很簡單,但不是解決方案。 「AS3/Flixel:「訪問可能未定義的屬性。」
」錯誤:通過靜態類型org.flixel:FlxSprite引用訪問可能未定義的屬性。「
它被拋出6次,使用scrap.selected屬性和使用scrap.distanceToMouse四次拋出兩次 - 我標記了每條引發錯誤和註釋的行。
我已經遍及整個網絡和StackOverflow專門搜索。這看起來像是一個很常見的問題,但我無法對我的具體情況應用任何解決方案。不管怎樣,下面是相關的代碼...
ScrapManager.as
if (FlxG.mouse.pressed)
{
var ClosestDistance:int = 500;
for each (var scrap:FlxSprite in this)
{
scrap.selected = false; //error here!~
var dx:int = scrap.x - FlxG.mouse.screenX;
var dy:int = scrap.y - FlxG.mouse.screenY;
scrap.distanceToMouse = (dx * dx) + (dy * dy); //error here!~
if (scrap.distanceToMouse < ClosestDistance) //error here!~
{
ClosestDistance = scrap.distanceToMouse; //error here!~
}
}
for each (var scrap:FlxSprite in this)
{
if (scrap.distanceToMouse == ClosestDistance) //error here!~
{
scrap.selected = true; //error here!~
}
}
}
Scrap.as
package
{
//import stuff...
public class Scrap extends FlxExtendedSprite
{
public var selected:Boolean = false;
public var distanceToMouse:int;
//and more stuff...
我認爲(希望)這是所有對解決這個需要,但我會如果需要,很樂意提供更多。謝謝閱讀。 :D
噢,我完全忘了,但是我改變了Scrap爲FlxExtendedSprite。我想這可能會搞砸了吧?現在無法訪問我的代碼,但希望能解決它。感謝您的提示,不能相信我已經忘記了這一點。< – 2012-01-31 15:05:42
完成後一定要標記正確的答案。歡迎來到堆棧溢出! – 2012-01-31 18:23:05
AHAH!你的回答比我想象的更接近。我在ScrapManager中也有這樣的一行: 'var scrap:Scrap = Scrap(getFirstAvailable());' 我想這意味着我無法訪問Scrap內部的變量,因爲我在看FlxSprite(他們沒有'是否存在),對嗎?非常感謝你!它還沒有工作,但那是因爲我的數學,這一切都沒有錯誤! – 2012-01-31 23:53:10