Переопределение x, y, ширины и высоты (геттеры)

#actionscript-3

#actionscript-3

Вопрос:

Есть ли способ переопределить ширину (для геттера) для спрайта?

Я вижу примеры того, как переопределить сеттер, но не геттер

Мне нужно сделать что-то вроде

 override public function get width():Number {
  if (onecase) {
     return this width;
  } else {
    return another width;
  }
}
 

Ответ №1:

Да, вы можете.

 override public function get width():Number {
   if (onecase) {
      return myWidth;
   } else {
      return super.width;
   }
}
 

super.width будет основным средством получения спрайтов.

Ответ №2:

сигнатуры методов 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;
}