Мне нужно немного больше информации из моих точек, поэтому я подумал, что добавлю предыдущий X, предыдущий, чтобы я мог получить deltaX и deltaY. Теперь это отлично работает, если я делаю простой автономный класс.Как правильно расширить класс AS3 Point?
Я думаю, однако, что я хотел бы расширить класс flash.geom.Point, чтобы воспользоваться другими функциями и вычислениями, которые он предлагает.
Итак, я расширил точку и изменил настройки x и y, как мне было нужно. Когда я компилирую, я получаю сообщение об ошибке, что эти сеттеры не помечены для переопределения, когда они должны быть. Поэтому я переопределяю, но потом получаю сообщение об ошибке, которое говорит, что они не переопределяют какую-либо функцию.
Любая подсказка, где я прищурился?
Вот класс:
package net.jansensan.geom
{
import flash.geom.Point;
/**
* @author Mat Janson Blanchet
*/
public class UpdatablePoint extends Point
{
private var _previousX : Number = 0;
private var _previousY : Number = 0;
private var _deltaX : Number = 0;
private var _deltaY : Number = 0;
// ********************************************************************
// [ PUBLIC METHODS ]
// ********************************************************************
public function UpdatablePoint(x:Number=0, y:Number=0)
{
super(x, y);
}
override public function toString():String
{
return "(x=" + super.x + ", y=" + super.y + ", previousX=" +
_previousX + ", previousY=" + _previousY + ", deltaX=" +
_deltaX + ", deltaY=" + _deltaY + ")";
}
// ********************************************************************
// [ GETTERS/SETTERS ]
// ********************************************************************
override public function set x(x:Number):void
{
_previousX = super.x;
super.x = x;
_deltaX = super.x - _previousX;
}
override public function set y(y:Number):void
{
_previousY = super.y;
super.y = y;
_deltaY = super.y - _previousY;
}
public function get previousX():Number
{
return _previousX;
}
public function get previousY():Number
{
return _previousY;
}
public function get deltaX():Number
{
return _deltaX;
}
public function get deltaY():Number
{
return _deltaY;
}
}
}
можете ли вы указать точный текст ошибок в обоих случаях? С инструкциями 'override' и без них. Вы можете переопределить дополнительную функцию. – lunixbochs