我有两个返回值的函数。
protected function createbox():player
{
var face:player = _world.CreateBody(bodydef);
return face;
}
它们是相同的,只是它们返回一个不同的变量。一个回到脸,另一个回眼。
它们的执行方式如下:
_elements.push(new Item(createbox(), new BoxSprite()));
创建元素。但是当我尝试引用面部或眼睛时,问题就出现了。我不知道如何引用它们。它们不会出现在变量的调试列表中。它们是空值(在它们的函数之外)。
项目是一个类文件。这也是一个功能
public function Item(body:player,sprite:Graphic)
_elements
是一个矢量数组。
player
是一个类
我不知道访问面部和眼睛的语法。无论您在何处访问它们,它们始终返回NULL或未找到的属性。
答案 0 :(得分:0)
尝试创建全局变量。函数定义内部和外部都可以使用全局变量。因此,尝试从函数中分配变量并在函数内更新其值。
参见示例:
var face:String = "This is created out of the function";
function scopeTest(){
face = "This was updated inside the function";
}
scopeTest();
trace(face);
答案 1 :(得分:0)
根据你的帖子, faces 和 eyes 是来自 createbox()的返回对象,然后它们参与了一个实例化过程。 Item 对象,然后将其推入 _elements 向量。因此,为了访问 faces 和 eyes ,您必须在 Item 类的构造函数中将这些对象传递给某些公共引用。之后,您应该能够通过在向量中枚举所需的 Item 对象并在 Item 对象上使用点语法来访问它们。