我需要从另一个类访问变量,但我不断收到错误“1119:通过静态类型类的引用访问可能未定义的属性敌人列表”。我看不出我做错了什么,因为我的变量被设为“公共(public)”和“静态”。
生成变量的类。
package classes.enemy
{
imports ...
public class Enemy extends MovieClip
{
public static var enemyList:Array = new Array(); **
var speed:Number;
public function initialize()
{
var stageReff:Stage = this.stage as Stage;
addEventListener("enterFrame", enterFrame);
}
public function Enemy()
{
enemyList.push(this); **
this.x = 700;
this.y = Math.random()*200 + 50;
speed = Math.random()*5 + 5;
}
//code
}
}
需要访问变量的类
package classes.ship
{
imports ...
public class Bullet extends MovieClip
{
var speed:Number;
public function initialize()
{
var stageReff:Stage = this.stage as Stage;
stage.addEventListener("enterFrame", enterFrame);
}
//code
function enterFrame(e:Event):void
{
this.x += speed;
trace(enemy.enemyList); **
}
}
}
将“**”放在问题发生的位置和变量的位置后面,只是为了清楚起见。
类在不同的文件夹中(类>敌人和类>船),不知道是否与此有关。
提前致谢。
最佳答案
如果要访问静态属性,则需要使用它定义的类:Enemy.enemyList
还要确保该类在您的船类中正确导入:import classes.enemy.Enemy;
关于actionscript-3 - AS3 - 错误 1119 : Access of possibly undefined property enemyList through a reference with static type Class.,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8696709/