Spriteを拡張するクラスを作成しようとしていて、いくつかのプライベートプロパティが接続されていて、gettersとsetterを使用してこれらのプロパティを読み書きできます。 シンプルですが、コンパイラがこのエラーをスローします。 "静的型flash.display:Spriteを持つ参照によって、おそらく未定義のプロパティスピードのアクセスが発生します。 MovieClipオブジェクトを拡張するようにクラスを設定すると機能します。 誰かが私にこの背後にある論理を説明できますか?どうして私はゲッターとセッターをスプライトで使うことができないのですか?ここでSpriteでgetter/setterメソッドを使用するときのエラー
はサンプルコードです:
package {
import flash.display.Sprite;
public class Vehicle extends Sprite{
private var _speed:uint = 3;
public function get speed():uint {
return _speed;
}
public function set speed(value:uint):void {
_speed = value;
}
public function Vehicle() {
super();
}
}
}
をあなたが入力していますあなたの車両のインスタンスはスプライト型かVehicle型ですか?前者の場合は、あなたの小道具を手に入れる/セットする前に、それをビークルとしてキャストする必要があります。 – Nolsto
スプライトでget/setを使うことができますが、別の場所で問題があるはずです。 Vehicleをインスタンス化するコードと、アクセサを使用する場所を記述してください。 – shanethehat
私はこのようにしていました: var vehicle:Sprite = new Vehicle(); addChild(vehicle); –