有没有办法在Sprite上覆盖宽度(对于getter)?
我看到了如何覆盖setter而不是getter的示例
我需要做类似
的事情override public function get width():Number {
if (onecase) {
return this width;
} else {
return another width;
}
}
答案 0 :(得分:2)
是的,你可以。
override public function get width():Number {
if (onecase) {
return myWidth;
} else {
return super.width;
}
}
super.width将是基本的Sprite getter。
答案 1 :(得分:1)
setter / getter方法签名需要相同,因为ActionScript 3.0不支持函数重载。显示对象的x,y,width和height属性是Number对象,而不是人们可能认为的int。
//Class Properties
private var widthProperty:Number;
~
//Set Width
override public function set width(value:Number):void
{
widthProperty = value;
}
//Get Width
override public function get width():Number
{
return widthProperty;
}