- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
FLASH ActionScript 3.0 : 어려울까요? 안 어려울까요? - (1)
2014.06.22 12:52
[출처] http://www.hanbit.co.kr/network/view.html?bi_id=1483
ActionScript 3.0 : 어려울까요? 안 어려울까요? - (1)
등록일 : 2008년 01월 09일 조회수 : 3,514
제공 : 한빛 네트워크
저자 : Colin Moock
역자 : 박주현
원문 : ActionScript 3.0: Is It Hard or Not?
가끔 몇몇 분들이 ActionScript 3.0에서는 객체지향 프로그래밍을 준수해야 하고, 변수를 사용하기 전에 항상 선언을 해야 하며, 패키지 혹은 클래스에 반드시 집어넣어서 만들어야 한다고 주장합니다. 사실 그 말은 틀렸습니다. ActionScript 3.0 에서는 ActionScript 2.0 나 ActionScript 1.0 에서와 같이 각timeline에 코드를 넣을 수 있습니다. 또한 코드들이 반드시 클래스 안에 붙어있어야 하지 않습니다. strict compilation 모드에서도 별다른 변수형 선언 없이 변수를 사용할 수 있습니다. 이 언어는 필요한대로 복잡한 구조 혹은 간단한 구조 중에서 사용자 입맛에 맞게 적절히 사용할 수 있게 디자인되었습니다. 함수와 변수만 사용하는 간단한 절차형언어형 또한 ActionScript 3.0에서도 각 프레임 단위로 삽입이 가능합니다.
배우기 어려워요!
놀랍게도 대학교수급의 강사 분들이 ActionScript 3.0 은 학생들에게 너무 어려워서 대신 ActionScript 1.0 이나 ActionScript 2.0 을 가르친다고 합니다. 이는 ActionScript 3.0 에서는 자바스타일의 OOP만 가능하고, ActionScript 1.0 에서는 간단한 timeline 스크립팅으로 가능하다고 생각하는 탓인 것 같습니다. 정말로 ActionScript 3.0 는 자바스타일 프로그래밍이 가능합니다만, Flash 4에서 쓰였던 간단한 스크립트들 모두 여전히 사용 가능합니다.
ActionScript 3.0과 ActionScript 1.0중 어느것이 정말로 어려운지를, 개발에 있어서 기본이 되는 몇몇 간단한 코드들을 비교하여 봅시다. 각 예제에서 전자가 ActionScript 1.0 버전의 코드이고, 후자가, ActionScript 3.0의 코드입니다.
ActionScript 1.0에서의 예제입니다. 이 소스는 swf 파일의 로딩을 기다리고, 로딩이 되면 다음프레임으로 넘어가게 합니다.
다음으로 프로그램으로 오브젝트를 움직이는 예제를 살펴보겠습니다. 다음의 ActionScript 1.0 코드는 지정한 무비클립을 수평으로 움직입니다. 이 무비클립은 Flash에서 “ball”로 명명하고 1프레임에 놓였다고 가정하겠습니다.
이제 조금 더 복잡한 프로그래밍 모션 예제를 보겠습니다. 우선 ActionScript 1.0에서 살펴 보겠습니다. 이 코드는 무비클립을 원 주위를 한 바퀴 돌아가게 합니다. 역시 그전에 Flash에서 무비클립을 ‘ball’로 이름 짓고 1프레임에 배치 하였습니다.
저자 : Colin Moock
역자 : 박주현
원문 : ActionScript 3.0: Is It Hard or Not?
가끔 몇몇 분들이 ActionScript 3.0에서는 객체지향 프로그래밍을 준수해야 하고, 변수를 사용하기 전에 항상 선언을 해야 하며, 패키지 혹은 클래스에 반드시 집어넣어서 만들어야 한다고 주장합니다. 사실 그 말은 틀렸습니다. ActionScript 3.0 에서는 ActionScript 2.0 나 ActionScript 1.0 에서와 같이 각timeline에 코드를 넣을 수 있습니다. 또한 코드들이 반드시 클래스 안에 붙어있어야 하지 않습니다. strict compilation 모드에서도 별다른 변수형 선언 없이 변수를 사용할 수 있습니다. 이 언어는 필요한대로 복잡한 구조 혹은 간단한 구조 중에서 사용자 입맛에 맞게 적절히 사용할 수 있게 디자인되었습니다. 함수와 변수만 사용하는 간단한 절차형언어형 또한 ActionScript 3.0에서도 각 프레임 단위로 삽입이 가능합니다.
배우기 어려워요!
놀랍게도 대학교수급의 강사 분들이 ActionScript 3.0 은 학생들에게 너무 어려워서 대신 ActionScript 1.0 이나 ActionScript 2.0 을 가르친다고 합니다. 이는 ActionScript 3.0 에서는 자바스타일의 OOP만 가능하고, ActionScript 1.0 에서는 간단한 timeline 스크립팅으로 가능하다고 생각하는 탓인 것 같습니다. 정말로 ActionScript 3.0 는 자바스타일 프로그래밍이 가능합니다만, Flash 4에서 쓰였던 간단한 스크립트들 모두 여전히 사용 가능합니다.
ActionScript 3.0과 ActionScript 1.0중 어느것이 정말로 어려운지를, 개발에 있어서 기본이 되는 몇몇 간단한 코드들을 비교하여 봅시다. 각 예제에서 전자가 ActionScript 1.0 버전의 코드이고, 후자가, ActionScript 3.0의 코드입니다.
ActionScript 1.0에서의 예제입니다. 이 소스는 swf 파일의 로딩을 기다리고, 로딩이 되면 다음프레임으로 넘어가게 합니다.
// 4프레임 코드
if (_framesloaded == _totalframes) {
gotoAndPlay(6)
}
// 5프레임 코드
gotoAndPlay(4);
같은 동작을하는 ActionScript 3.0소스입니다. // 4프레임 코드
if (framesLoaded == totalFrames) {
gotoAndPlay(6);
}
// 5프레임 코드
gotoAndPlay(4);
‘_’를 없애고 각 단어의 첫 글자를 대문자로 바꾼 ActionScript 3.0의 “framesLoaded”와 “framesLoaded” 는 확실히 ActionScript 1.0에서의 그것보다 명료해서 배우기도 쉽습니다. 다음으로 프로그램으로 오브젝트를 움직이는 예제를 살펴보겠습니다. 다음의 ActionScript 1.0 코드는 지정한 무비클립을 수평으로 움직입니다. 이 무비클립은 Flash에서 “ball”로 명명하고 1프레임에 놓였다고 가정하겠습니다.
// 1프레임 코드
setInterval(moveBall, 20);
function moveBall () {
ball._x += 10;
}
아래는 ActionScript 3.0코드입니다 // 1프레임 코드
setInterval(moveBall, 20);
function moveBall () {
ball.x += 10;
}
마찬가지로 차이점은 ActionScript 1.0의 “_x”에서 언더바를 제거하여 ActionScript 3.0에서는 “x”를 사용한다는 것입니다. ActionScript 3.0에서도 무비클립 인스턴스는 여전히 각각의 인스턴스 이름을 통해 화면에서 움직이게 할 수 있습니다. 여전히 ActionScript 3.0에서 setInterval()함수도 동일하게 쓸 수 있습니다. 하지만 새로 추가된 Timer 클래스를 쓰면 더욱 향상된 재생, 정지 또는 반복기능을 사용할 수 있습니다. 이제 조금 더 복잡한 프로그래밍 모션 예제를 보겠습니다. 우선 ActionScript 1.0에서 살펴 보겠습니다. 이 코드는 무비클립을 원 주위를 한 바퀴 돌아가게 합니다. 역시 그전에 Flash에서 무비클립을 ‘ball’로 이름 짓고 1프레임에 배치 하였습니다.
var rpm = 30;
var radius = 150;
var centerX = 230;
var centerY = 200;
var theta = 0;
var degreesPerSecond = rpm * 360 / 60;
var now = getTimer();
var intervalID = setInterval(moveClipAroundCircle, 20, ball);
function moveClipAroundCircle (theClip) {
var then = now;
now = getTimer();
var elapsed = now - then;
var numSeconds = elapsed / 1000;
var degreeIncrement = degreesPerSecond * numSeconds;
theta += degreeIncrement;
theta %= 360;
var radians = degreesToRadians(theta);
theClip._x = centerX + Math.cos(radians) * radius;
theClip._y = centerY - Math.sin(radians) * radius;
}
function degreesToRadians(degrees) {
return (degrees/180) * Math.PI;
}
아래는 ActionScript 3.0 코드입니다. // Code on frame 1
var rpm = 30;
var radius = 150;
var centerX = 230;
var centerY = 200;
var theta = 0;
var degreesPerSecond = rpm * 360 / 60;
var now = getTimer();
var intervalID = setInterval(moveClipAroundCircle, 20, ball);
function moveClipAroundCircle (theClip) {
var then = now;
now = getTimer();
var elapsed = now - then;
var numSeconds = elapsed / 1000;
var degreeIncrement = degreesPerSecond * numSeconds;
theta += degreeIncrement;
theta %= 360;
var radians = degreesToRadians(theta);
theClip.x = centerX + Math.cos(radians) * radius;
theClip.y = centerY - Math.sin(radians) * radius;
}
function degreesToRadians(degrees) {
return (degrees/180) * Math.PI;
}
역시 변수명에서 언더바가 빠진 게 두 코드의 차이입니다. 때문에 ActionScript 3.0 코드가 ActionScript 1.0 코드보다 깔끔합니다. 안 어렵습니다. 본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 14 |
[MEAN Stack] MEAN Stack 소개
| 졸리운_곰 | 2015.10.11 | 564 |
| 13 |
자바스크립트 패킹(packing), 자바스크립트 난독화,
| 졸리운_곰 | 2015.05.31 | 920 |
| 12 |
•웹 소켓(Web Socket)이 있기까지
| 졸리운_곰 | 2015.05.22 | 762 |
| 11 | 자바스크립트의 한계 / 자바스크립트란 무엇인가? | 졸리운_곰 | 2015.04.28 | 634 |
| 10 |
ActionScript 3.0 학습에 도움이 되는 팁
| 졸리운_곰 | 2014.06.22 | 782 |
| 9 | ActionScript 3.0 : 어려울까요? 안 어려울까요? - (3) | 졸리운_곰 | 2014.06.22 | 762 |
| 8 | ActionScript 3.0 : 어려울까요? 안 어려울까요? - (2) | 졸리운_곰 | 2014.06.22 | 799 |
| » | ActionScript 3.0 : 어려울까요? 안 어려울까요? - (1) | 졸리운_곰 | 2014.06.22 | 905 |
| 6 | jQuery가 뭔가요? | 가을의 곰을... | 2013.12.11 | 1048 |
| 5 | JSON(JavaScript Object Notation)사용법에 대해 | 가을의 곰을... | 2013.01.30 | 1140 |
| 4 | JQuery Ajax로 Json사용 | 가을의 곰을... | 2013.01.30 | 1833 |
| 3 | jQuery에서 JSON 사용하기 (JSON to Object, Object to JSON) | 가을의 곰을... | 2013.01.30 | 1381 |
| 2 |
JSON : Javascript Object Notation 간단 설명
| 가을의 곰을... | 2013.01.30 | 1290 |
| 1 | JavaScript 및 CCS 코드 은닉 (php의 경우) | 가을의 곰을... | 2012.11.12 | 1608 |

