我正在创建一个 Sprite ,附加一些图形和一个文本字段。然后我将 Sprite 返回到代码的另一部分。此时,是否可以通过父 Sprite 访问文本字段?
例如
private function foo():Sprite
{
var mySprite:Sprite = new Sprite();
mySprite.graphics.drawRect(0, 0, 200, 200);
var tmpTextField:TextField = new TextField;
tmpTextField.text = "SOME TEXT HERE";
mySprite.addChild(tmpTextField);
return mySprite
}
现在我希望能够操作 mySprite
父级的 tmpTextField
子级,但是通过 mySprite
而不是直接通过 tmpTextField
.
我是 AS3 的初学者,因此我们将不胜感激:)
最佳答案
解决这个问题的正确方法是使用OOP。创建一个扩展 Sprite
的类,并将 TextField
作为属性:
public class TextHolder extends Sprite
{
private var _field:TextField;
public function TextHolder()
{
graphics.drawRect(0, 0, 200, 200);
_field = new TextField();
addChild(_field);
}
public function get field():TextField{ return _field; }
}
然后更新您的代码:
private function foo():TextHolder
{
var mySprite:TextHolder = new TextHolder();
mySprite.field.text = "SOME TEXT HERE";
return mySprite;
}
关于actionscript-3 - AS3 - 是否可以从代码的其他部分访问 Sprite 的子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17352013/