2010-02-11 12 views
0

Greensock TweenMax 또는 TweenLite를 사용하여 카운터를 만드는 방법은 무엇입니까? 누군가가 덮어 쓰기 관리자를 이해합니까?TweenMax 및 AS3의 카운터를 "관리자 덮어 쓰기"

내 코드는 AS3에 있습니다. 타이머 기반이되고 이 가능하거나 자체 및 반복을 재설정 할 수 있기를 바랍니다. 조언이나 시동 코드가 좋을 것입니다. 또한 트위닝 엔진을 사용하는 것이 좋지 않습니까? 알려줘.
0
1
2
3
4
5
6
7
8
9
"픽셀 단위"숫자 열 이동

IDEAS
0

//1 
TweenMax.to 
(num7, 1, {y:-3911, delay:1, paused:false, useFrames : false, immediateRender : false}); 
//2 
TweenMax.to 
(num7, 1, {y:85, delay:2, paused:false, useFrames : false, immediateRender : false}); 
//3 
TweenMax.to 
(num7, 1, {y:-3911, delay:3, paused:false, useFrames : false, immediateRender : false}); 
//4 
TweenMax.to 
(num7, 1, {y:85, delay:4, paused:false, useFrames : false, immediateRender : false}); 
//5 
TweenMax.to 
(num7, 1, {y:-3911, delay:5, paused:false, useFrames : false, immediateRender : false}); 
//6 
TweenMax.to 
(num7, 1, {y:85, delay:6, paused:false, useFrames : false, immediateRender : false}); 
//7 
TweenMax.to 
(num7, 1, {y:-3911, delay:7, paused:false, useFrames : false, immediateRender : false}); 
//8 
TweenMax.to 
(num7, 1, {y:85, delay:8, paused:false, useFrames : false, immediateRender : false}); 
//9 
TweenMax.to 
(num7, 1, {y:-3911, delay:9, paused:false, useFrames : false, immediateRender : false}); 
//10 

모양 "비슷한 상황이 나타나고 사라지는는로드하지-스프라이트 방법을합니다"
"더 예"

내 문제
-infinite 루프 운동을
- 전역 시간 스케일링 및 수학 층
- 가비지 빌드

답변

0

너는 복잡하게하는 습관이있는 것처럼 들리 네. 아마도 트위닝 엔진을 사용하지는 않지만 Timer 클래스를 사용할 수 있습니다.

나는 또한 관리 가능한 덩어리로 분리 할 것입니다. 지금은 타이밍 코드가있는 것처럼 보이며 코드가 모두 함께 표시됩니다. 나는이 별도의 부품을 만들 것입니다 :

  1. CounterTimer을 - (시간 기준)에 당신의 최대 카운트 무엇을 작동하는 것입니다.
  2. CounterView - 카운터의 시각적 그래픽. 숫자를 렌더링하는 것이 유일한 일입니다. TOLD이 표시됩니다. 상태 간 전환을 처리합니다.
  3. CounterController - 중간 남자의 정렬. CounterTimer에서 현재 Count를 가져오고 CounterView에 해당 숫자를 렌더링하도록 지시합니다 (프레임 당 한 번만 렌더링 할 수 있기 때문에 프레임 기반).

이렇게 분해하면 한 번에 하나의 구성 요소에만 집중할 수 있고 다른 부분과는 별도로 한 부분 만 테스트 할 수 있습니다. 예를 들어; 먼저 CounterView를 만들 수 있습니다. 이것은 무대에서 그래픽을 보유하고있는 MovieClip 일 것입니다.

이 메서드를 호출하면 CounterView가 전환을 포함하여 해당 숫자의 그래픽을 표시합니다.이 구성 요소를 테스트하려면 카운터 뷰 부모에서 임의의 숫자로이 메서드를 호출하면됩니다. 일단 작동하면 CounterTimer에서 작업을 시작할 수 있습니다.

CounterTimer의 경우 좀 더 많은 API가 필요합니다.

public function CounterTimer(startCount:Number) //This is the constructor. 
public function start() 
public function reset():void 
public function getCount():Number 

CounterTimer가 끝나면 CounterController를 시작하여 함께 연결합니다. CounterController는 enterframe 이벤트를 청취하고 CounterView에 모든 프레임의 CounterTimer 수를 표시하도록 지시해야합니다.

+0

설명해 주셔서 감사합니다. 내 프로젝트를 마무리하는 데 더 가까워집니다. –