2014-01-20 6 views
0

다른 사람의 플래시 응용 프로그램을 ActionScript 3로 변환하려고합니다. 지금까지는 ActionScript를 다룰 필요가 없었습니다. 나는 오류 메시지가 나에게 말해주는 것을하려고 노력했지만 그들은 나를 서클에서 돌리고있다. 여기 간단한 버전의 상황이 있습니다.액션 스크립트 2에서 액션 스크립트 3으로 마이그레이션

class IF12345 
{ 
    var a0:controls.Button; 
    var a1:controls.TextArea; 
    var a2:controls.TextInput; 
} 

이제 컨트롤은 다음과 같이 : 내가 가진

dynamic class mx.controls.Button extends mx.controls.SimpleButton 
{ 
    var enabled; 
    function Button() 
    { 
    } 
    function draw() 
    { 
    } 

    var borderW = 1; 
} 

첫 번째 오류는 액션 스크립트가 외부 적으로 하나가 있어야한다는 불평 I는 다음과 같습니다 기본 폴더에 액션 스크립트가 보이는 클래스 그래서 나는 기본 파일에있는 클래스에 public을 추가했다. 그렇다면 패키지없이 공개 수업을 할 수 없다고 말하면 패키지로 포장했습니다.

그 후 작업 스크립트에는 컨트롤에 대해 외부에서 볼 수있는 클래스가 하나 있어야하므로 컨트롤 클래스에 public을 추가했습니다. 물론 패키지에 있어야한다고 불평하지만 컨트롤 클래스를 패키지에 넣으면 중첩 된 패키지를 가질 수 없다고했습니다. 그래서이 시점에서 나는 무엇을 해야할지 모른다.

+0

마지막 "." mx.controls 패키지에 Button 클래스가 들어 있기 때문에 동적 클래스가 수행중인 작업을 잘 모릅니다. 그 계급은 무엇을 성취하려고 하는가? –

답변

1

몇 점이 섞여있는 것 같지만, 내가 보는 주된 것은 전체 패키지를 포함하는 클래스 이름을 만드는 것처럼 보입니다.

package controls 
//  ^^^^^^^^ The controls package is defined here, not when providing the 
//    class name like in your example. 
{ 
    import flash.display.SimpleButton; 
    //  ^^^^^^^^^^^^^ In ActionScript 3, SimpleButton is in the 
    //     flash.display package, and needs to be imported with an 
    //     import statement above the class definition. 

    public class Button extends SimpleButton 
    //   ^^^^^^ We only use the class name here. You can do the fully 
    //     qualified class name for the extended class, but the 
    //     import statement is cleaner and makes that unnecessary 
    //     except for in uncommon circumstances. 
    { 
     private var enabled:Boolean = false; 
     private var borderW:int = 1; 

     public function Button() 
     { 
      // Constructors must be public. 
     } 

     public function draw() 
     { 
      // 
     } 
    } 
} 

그리고 다른 클래스 : 당신이 원하는 내 생각의 작업을 예로들 수 있습니다 내가 $를 _ "클래스 이름 만, 숫자를 문자 메시지 있어야합니다" "및"확인

package 
{ 
    import controls.Button; 
    //  ^^^^^^^^^^^^^^^ Need to import your above Button class. 

    public class IF12345 
    { 
     public var a0:Button; 
    } 
} 
+0

그렇게 많은 도움이되었습니다. 고맙습니다! – SteveDeFacto

관련 문제