2011-05-01 4 views
1

저는 Flash/ActionScript를 처음 사용하고 일부 심볼에 대한 사용자 정의 기본 클래스를 만드는 데 어려움을 겪고 있습니다.ActionScript의 심볼 링크 3/Flash CS5

행성의 개수가 많은 플래시 파일이 있고 각 행성에 대한 정보를 저장하고 싶습니다. 그래서 actionScript 파일에 행성 클래스를 작성했습니다. 행성 클래스의 최소 및 최대 온도 각 행성.

내 메인 플래시 파일에는 커스텀 그림이있는 각 행성에 대한 심볼이 있고 각 행성마다 다른 애니메이션이 있습니다. 제가하고 싶은 일은 행성에이 상징들의 클래스를 설정하는 것입니다. 원래는 라이브러리의 링키지를 행성으로 바꾸는 것만으로도 이것을 했었습니다. 그러나 그것은 한 심볼에 대해서만 작동했습니다. , 당신이 그들을 같은 수업에 들게하지 않을 것입니다. 그래서 마우스 오른쪽 버튼을 클릭하고 속성 및 'actionscript'에 대한 내보내기 설정 '클래스'수성 또는 '금성'이름을 지정하고 플래닛 행성 (행성 확장 movieclip) 기본 클래스 설정. 그것은 금식이 나를 수출 시간에 생성 할 수 없다고 생각하는 것조차도 보증합니다.

../Main.as, Line 9 1046: Type was not found or was not a compile-time constant: Venus. 

하고 그냥 1 개 클래스와 일하는

..Main.as, Line 31 1046: Type was not found or was not a compile-time constant: Mercury. 

, 그것은 기본 생성자와 행성의 인스턴스를 만들 것이다 : 나는 시간 오류를 컴파일 명령을 누르면 + 입력하고 이들과 함께 온다 , 그리고 Main 메서드에서 인스턴스 변수와 이벤트 핸들러를 나중에 사용할 수 있도록 설정할 클래스의 '초기화'함수를 호출합니다. 나는 플래쉬 콜을 만들어서 다른 모든 상징들을 하나의 요소로 결합하지 않고 더 많은 플래닛 인스턴스를 생성하는 방법을 알아야합니다.

팁을 보내 주시면 감사하겠습니다. 감사.

답변

1

귀하의 질문에 약간 혼란 스러웠습니다. 그러나 그것은 당신이 기본 클래스 인 "행성"을 만들고 머큐리와 금성과 같은 다른 클래스들에 속성을 상속 받기를 원하는 것처럼 보입니다. 여기에서 Plant를 기본 클래스로 사용하도록 라이브러리 심볼을 설정할 수 있습니다. 다음은이 일에 대해 갈 수있는 방법은 다음과 같습니다

기본 클래스 : 실제 행성 (각 행성 하나가 필요합니다)에 대한

package 
{ 
    import flash.display.MovieClip; 

    public class Planet extends MovieClip 
    { 
     // vars 
     public var temperature:Number; 
     public var radius:Number; 
    } 
} 

클래스 :

다음
package 
{ 
    public class Venus extends Planet 
    { 
     /** 
     * Constructor 
     */ 
     public function Venus() 
     { 
      // set properties here 
      temperature = 900; 
      radius = 12.93; 
     } 
    } 
} 

이 파일을 작성하는 경우, 모두 잘 작동해야합니다.

+0

고마워요, 내가 뭘했는지, 플래시가 자동으로 기본 생성자 (링크와 기본 클래스를 설정할 때 알려주는 것)로 자동으로 생성 될 수 있기를 바랐지만, 약속. 이 방법이 효과가 있지만 중요하지 않습니다. 도움을 주셔서 대단히 감사합니다! – vgrixti