这里的漂亮的新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