[英]AS3 what is the correct way of making a variable accessible to a child class / object
初始化新對象時,該類如何從父對象訪問變量?
在這種情況下,Blob需要能夠訪問規模嗎?
public class Parent
{
protected var scale:int = 32;
public function Parent()
{
var shape = new Blob(15, 55);
}
}
-
public class Blob
{
private var _xp:int
private var _yp:int
private var _worldX:int;
private var _worldY:int;
public function Blob(x:int, y:int)
{
_xp = x;
_yp = y;
_worldX = _xp * scale;
_worldY = _yp * scale;
}
public function get worldX():int {
return _worldX;
}
}
extends關鍵字是您正在尋找的。
public class Blob extends Parent{
/* This class is now a subclass of Parent */
目前還不清楚你想要完成什么。 在您的示例中,您可能需要在Blob構造函數中傳遞對父對象的引用並將比例設置為public。 如果Blob和Parent都在顯示列表中並且Parent包含Blob(即Blob是DisplayObject的一些后代而Parent是DisplayObjectContainer),則可以避免傳遞引用。 這樣,您可以使用DisplayObject的父屬性來獲取Parent。
public class Parent
{
public var scale:int = 32;
public function Parent()
{
var shape = new Blob(15, 55, this);
}
}
-
public class Blob {
private var _xp:int
private var _yp:int
private var _worldX:int;
private var _worldY:int;
private var _parent:Parent;
public function Blob(x:int, y:int, parent:Parent)
{
_xp = x;
_yp = y;
_parent = parent;
_worldX = _xp * parent.scale;
_worldY = _yp * parent.scale;
}
public function get worldX():int {
return _worldX;
}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.