Sprite를 확장하는 클래스를 만들려고하고 일부 개인 속성을 첨부하고 getters 및 setter를 사용하여 해당 속성을 읽고 쓸 수있게하려고합니다. 간단하지만 컴파일러가 "정적 유형 flash.display : Sprite로 참조를 통해 정의되지 않은 속성 속도에 액세스 할 수 있습니다."라는 오류가 발생합니다. MovieClip 객체를 확장하도록 클래스를 설정하면 작동합니다. 누군가 나에게이 논리를 설명 할 수 있습니까? Sprite로 getter와 setter를 사용할 수없는 이유는 무엇입니까? 스프라이트는 무비 클립 동적 아니기 때문에,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();
}
}
}
를 입력하는을 Sprite 유형 또는 Vehicle 유형의 차량 인스턴스? 전자의 경우, 소품을 가져 오거나 설정하기 전에 차량으로 캐스팅해야합니다. – Nolsto
Sprite와 함께 get/set을 사용할 수 있지만 다른 곳에서는 문제가있을 것입니다. Vehicle을 인스턴스화하는 코드와 접근자를 사용하는 코드를 게시하십시오. – shanethehat
나는 이렇게했다 : var vehicle : Sprite = new Vehicle(); addChild (차량); –