getURL("http://www.moock.org");ActionScript 3.0에서는 다음의 코드이고요.
navigateToURL(new URLRequest("http://www.moock.org"));2) 특정 무비클립에 원하는 swf파일을 읽어오려면 ActionScript 1.0과 2.0에서는 다음과 같이 해야합니다.
someClip.loadMovie("foo.swf"); ActionScript 3.0에서는 이렇고요. var loader:Loader = new Loader(); loader.load(new URLRequest("foo.swf")); someClip.addChild(loader);앞의 두 예제에서 중 ActionScript 3.0코드는 이전 버전의 코드보다 깁니다. 하지만 각각의 코드들만으로는 최근의 개발 트렌드를 반영할 수 없습니다. 제가 직접 프로그래밍을 해본 결과 ActionScript 3.0은 ActionScript 2.0과 1.0보다 항상 더 많은 코드가 필요한 건 아닙니다. 예를 들어 ActionScript 3.0에서 텍스트필드, 버튼, 무비클립등을 만들 때는 ActionScript 2.0 과 1.0 에서의 코드량과 비슷합니다. 여기 ActionScript 3.0과 그 이전 버전의 제대로 된 그 차이를 제대로 보여줄 수 있는 예제가 있습니다.
// ActionScript 1.0 와 ActionScript 2.0 someClip.createTextField("t", 1, 0, 0, 0, 0); t.border = true; t.text = "hello world"; // ActionScript 3.0 var t:TextField = new TextField(); t.border = true; t.text = "hello world"; someClip.addChild(t);단순히 보았을 때 ActionScript 3.0에서는 16번 이상의 타이핑이 더 필요합니다. 하지만 ActionScript 3.0의 구조적 차이는 여러 이점이 있습니다. 예를 들자면 ActionScript 3.0에서 다른 무비클립에 같은 텍스트필드를 하나 더 추가하기 위해 다음의 것을 하기만 하면 됩니다.
someOtherClip.addChild(t);ActionScript 2.0과 1.0 에서는 이전의 코드에서 바로 간단히 텍스트필드를 복제 할 수 없습니다. 원하는 무비클립에 텍스트필드를 추가하도록 함수를 만들고, 추가된 텍스트 필드에 원래의 텍스트 필드의 정보들을 복사해 넣어야 합니다. 이렇게 하면 코드량이 많아지고 복잡해지는데, ActionScript 3.0에서는 이런 수고를 할 필요가 없습니다.
위 자료에서 두 번째 EMPLOYEE의 NAME을 알기 위해 ActionScript 2.0과 1.0에서는 다음과 같이 해야 합니다.Marco James Graham James James Dorian
staff.firstChild.childNodes[1].firstChild.firstChildActionScript 3.0 에서는 이렇습니다.
staff.EMPLOYEE[1].NAMEActionScript 3.0의 코드가 더 짧고, 더 직관적입니다. 이제 MANAGER가 “James”인 모든 EMPLOYEE의 목록을 구해봅시다. ActionScript 2.0 와1.0 에서는,
var managedByJames = new Array(); for (var i = 0; i < staff.firstChild.childNodes.length; i++) { if (staff.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue == "James Porter") { managedByJames.push(staff.firstChild.childNodes[i]); } }ActionScript 3.0 에서는,
staff.*.(MANAGER == "James Porter")ActionScript3.0의 코드가 훨씬 더 짧고, 훨씬 더 직관적입니다.
최신 콘텐츠