이번 프로젝트를 진행하면서 OpenAPI를 사용하지 않고 내 힘으로 만들어보자고 다짐했다.
그래서 일단 Tweener 를 만들어 보았다.(아마 내장 API가 있으려나..)
나는 먼저 무엇을 만들기 전에 그것을 어떻게 사용할것인지부터 생각을 한다.
여러가지 고민을 해보았지만 그냥 Tween.go(대상객체,Duration,{속성:값}); 의 형식이 가장 사용하기 편하다고 생각했다.
우선 Tweener 라 하면은, Duration 동안 대상 객체의 현재 속성값이 얼마간의 '횟수'를 통해 지정된 '값'에 도달하도록 하는것이 목적이다.
이 애니메이션을 적용하기 위해 Timer 클래스를 사용하였고, Timer가 실행되는 '주기'는 stage.frameRate*duration 에 반비례 하게 된다.
frameRate와 Timer의 실행 주기를 계산해보면 1:stage.frameRate = duration:실행될 횟수 -> 즉, 실행될 횟수 = stage.frameRate*duration 이 된다.
그러면 실제로 Timer가 실행되어야 할 주기는 1/(stage.frameRate*duration) 이 된다.
그럼 이제 duration 값에 따라 Timer가 총 실행될 '횟수'를 계산해보자.
Timer가 총 실행될 '횟수'는 duration 에 반비례하고, 즉 총 실행될 횟수는 frameRate/duration 이 된다.
그럼 이제, Timer가 한번씩 실행될때마다 대상객체의 속성값에 더해져야 할 값은 (대상객체가 가져야 할 목표값 - 대상객체 초기 위치)/실행될 총 횟수
가 된다.
그래서 일단 Tweener 를 만들어 보았다.(아마 내장 API가 있으려나..)
나는 먼저 무엇을 만들기 전에 그것을 어떻게 사용할것인지부터 생각을 한다.
여러가지 고민을 해보았지만 그냥 Tween.go(대상객체,Duration,{속성:값}); 의 형식이 가장 사용하기 편하다고 생각했다.
우선 Tweener 라 하면은, Duration 동안 대상 객체의 현재 속성값이 얼마간의 '횟수'를 통해 지정된 '값'에 도달하도록 하는것이 목적이다.
이 애니메이션을 적용하기 위해 Timer 클래스를 사용하였고, Timer가 실행되는 '주기'는 stage.frameRate*duration 에 반비례 하게 된다.
frameRate와 Timer의 실행 주기를 계산해보면 1:stage.frameRate = duration:실행될 횟수 -> 즉, 실행될 횟수 = stage.frameRate*duration 이 된다.
그러면 실제로 Timer가 실행되어야 할 주기는 1/(stage.frameRate*duration) 이 된다.
그럼 이제 duration 값에 따라 Timer가 총 실행될 '횟수'를 계산해보자.
Timer가 총 실행될 '횟수'는 duration 에 반비례하고, 즉 총 실행될 횟수는 frameRate/duration 이 된다.
그럼 이제, Timer가 한번씩 실행될때마다 대상객체의 속성값에 더해져야 할 값은 (대상객체가 가져야 할 목표값 - 대상객체 초기 위치)/실행될 총 횟수
가 된다.
'프로그래밍 > Actionscript3.0' 카테고리의 다른 글
| [Actionscript3] 3D 파티클.. (0) | 2009/09/25 |
|---|---|
| [Actionscript3] Tweener 제작 (0) | 2009/09/25 |
| [Flash/Actionscirpt3] 3D 로테이션 (0) | 2009/09/17 |
| 장난감... (0) | 2009/09/13 |



