2008-11-12 4 views
2

ActionScript에서 객체를 만드는 방법을 배우려는 시도에서 나는 성공하지 못했습니다. 내가 알아챈 한 가지는 수십억 가지의 다른 방법이있는 것 같습니다. 그들 중 누구도 나를 위해 일하지 않았다. 이것은 정말 혼란스럽고 디버깅을 시도하는 방법을 모르겠습니다.액션 스크립트 객체 (클래스?) 구문

function myClass() { 
    this.val = 1; 
} 

var test = new myClass(); 
trace(test.val); 

하지만이 날 내가 그것을 만드는 방법을 간단없이 오류를 컴파일러 없습니다 제공하고, 그것은 함수가 될 수 있다는 것을 나에게 아무 의미 :

가장 자주 올 것 같다 접근 방식은 목적. 함수가 객체 인 경우 "this"는 함수의 함수에있을 때를 가리 킵니다 (즉 객체로 해석 됨). 다소 덜 자주 올 것 같다

또 다른 방법은 다음과 같습니다

class myClass { 
    function myClass() { 
     this.val = 1; 
    } 
} 

var test = ....

이 날뿐만 아니라 오류를 컴파일러 제공하고,보다 공식적인 보인다. 그러나 나는 아주 작은 문서 comparitivley를 찾을 수있다. 대부분의 가이드는 매우 간단하거나 내장 된 오브젝트에 대해 이야기하고 있다고 가정합니다.

세 번째 방법은 함수에

 new Object();
을 만들고 원하는 모든 것을 추가하여 반환하는 것입니다. 논리적 인 것 같아. 그러나 저는 프로토 타입을 언급하는 모든 종류의 것을 읽었습니다. 그리고 이런 방식으로 만들어진 객체가 프로토 타입이 될 수없는 것처럼 보입니다. 그러나 정말로 나는 단지 매우 혼란 스럽다.

나는 또한 객체 문법이 AS2와 AS3간에 다르다는 것을 알게되었다.

개체를 어떻게 생성해야합니까? 모범 사례는 무엇이며, 신의 사랑에 대해 누군가 제가 깊이있는 튜토리얼을 어디에서 찾을 수 있는지 알고 있습니까? (내 google-fu는 분명히 약함)

답변

5

AS2와 AS3 간의 클래스 구문은 실제로 다릅니다.

설명의 방법으로
package somePackage { 

    public class SomeClass { 
     public function SomeClass() { 

     } 
    } 
} 

이 패키지는 각 클래스 정의에 포함 된 내용을 패키지 선언해야하므로 여러 클래스를 포함 할 수있는 래퍼입니다 : AS3의 구문은 다음과 같이 보입니다.

클래스에는 생성자 함수가 필요합니다. 대부분의 언어에서 생성자 함수의 이름은 클래스 이름과 동일합니다. ActionScript의 경우입니다.

는 다음과 같이 보일 것이다 클래스의 인스턴스를 호출하려면 : 나는 내 앞에 앉아 내 AS3 참조를 가지고

package somePackage { 

    public class OtherClass { 
     public function OtherClass() { 
      var something = new SomeClass(); 
     } 
    } 
} 

그래서 위의 코드 꽤 확신하지만, 불행히도 내를 AS2 참조 직장에서하지만 코드는 다음과 같이 보일 것입니다 :

: 다음

class ThirdClass { 
    public function ThirdClass() { 

    } 
} 

그리고 것은의 모양은 변수의 인스턴스를을

제공되는 예제가 ActionScript 입력에서 가능할 때마다 사용하도록 권장하는 강력한 입력을 사용하지 마십시오.난 강력하게 당신이 Essential ActionScript 2.0 및/또는 Essential ActionScript 3.0의 사본을 선택하는 것이 좋습니다 것이지만

, 나는 시작 자습서 다음 링크를 발견 :

Beginning Flash and ActionScript Tutorials

More Beginner Tutorials

+0

나는,하지만이 시도에 대한 이유가 무엇이든간에, 나는 그것을 사용할 수 없다. 나는 그것을 동일한 파일에 넣고 다양한 가져 오기 명령문을 사용하여 다른 파일에 넣으려고했다. 이 수업에 어떻게 접근합니까? – Alex

+0

AS2 또는 AS3에서 작업하고 있습니까? –

+0

AS3,하지만 드디어 액세스 할 수 있었지만, 어떻게 다른지는 알 수 없지만 작동하는 것으로 보입니다. 감사 – Alex

관련 문제