Class: AnimationCycle

collie. AnimationCycle

new collie.AnimationCycle(fCallback, nDuration, htOption)

특정 시간 동안 실행된 후 대기 시간 이후에 다시 실행되는 싸이클 애니메이션 주로 Sprite 애니메이션에 사용 된다.

튜토리얼 보기

timeline ------------------------------------> action -duration- delay -duration- delay

Name Type Description
fCallback Function | collie.DisplayObject | Array

실행될 콜백 함수, DisplayObject를 넣게 되면 해당 객체에 관한 내용만 변경함. htOption의 set 참조.

Name Type Description
timer collie.AnimationCycle

현재 타이머 인스턴스

frame Number

현재 프레임

duration Number

타이머에 설정된 duraiton 값

count Number

실행 횟수

skippedCount Number

지나간 실행 횟수

runningTime Number

타이머 시작 후 실행된 시간 (ms)

value Variables

싸이클 값

cycle Number

싸이클 반복 횟수

step Number

단계 값

from Number

시작 값

to Number

끝 값

nDuration Number | String

시간 간격 (ms), fps 단위를 사용할 수 있다.

htOption Number

설정

Name Type Default Description
from=0 Number

싸이클 시작 값

to=0 Number

싸이클 끝 값

step Number 1 optional

증감 값

loop Number 0 optional

0이 아니면 해당 횟수만큼 반복

useRealTime Number true optional

SkippedFrame을 적용해서 싸이클을 현재 시간과 일치

valueSet Array optional

비 규칙적 cycle을 사용할 때 valueSet에 배열을 넣고 순서대로 값을 꺼내 쓸 수 있다

set String | Array "spriteX" optional

fCallback에 DisplayObject를 넣을 경우 set을 이용해서 특정 값을 변경한다. 배열로 넣을 경우 여러 속성을 변경할 수 있다

start Number optional

from 값이 아닌 값부터 시작할 경우 값을 설정. ex) from:0, to:3 일 때 2, 3, 0, 1, 2, 3... 으로 진행할 경우 start:2 값을 설정

See:
Example

valueSet 사용 방법, step, from, to 옵션은 자동으로 설정된다

collie.Timer.cycle(function () {
 // 0, 1, 2, 1, 0 순으로 플레이
}, 1000, {
 valueSet : [0, 1, 2, 1, 0]
});

DisplayObject를 callback으로 사용해서 스프라이트 애니메이션을 구현하는 방법

collie.Timer.cycle(oDisplayObject, 1000, {
 valueSet : [0, 1, 2, 1, 0]
});

fps 단위를 쓰면 프레임 당 재생 속도를 설정할 수 있다. 8프레임이니 이 경우에 24fps는 (1000 / 24 * 8)ms가 된다. <code> collie.Timer.cycle(oDisplayObject, "24fps", { from : 0, to : 7 }); </code>

Extends

Members

remove

현재 타이머를 제거한다

Deprecated
  • start, stop할 때 List에 추가되고 제거되기 때문에 별도로 remove를 할 필요가 없어졌다.

    Methods

    inherited attach(vEvent, fHandler){collie.Component}

    이벤트 핸들러 추가

    Name Type Description
    vEvent Object | String
    fHandler Function
    Returns:
    체이닝 지원

    애니메이션이 완료 됐을 때 실행

    inherited detach(vEvent, fHandler)

    이벤트 핸들러를 해제한다

    Name Type Description
    vEvent Object | String
    fHandler Function

    값이 없을 경우 이 이벤트에 할당된 전체 핸들러를 해제한다

    inherited detachAll(sName)

    모든 이벤트 핸들러를 해제

    Name Type Description
    sName String

    이벤트 이름, 값이 없으면 이 컴포넌트에 할당된 모든 이벤트를 해제한다

    inherited fireEvent(sName, oEvent){Boolean}

    이벤트 발생

    Name Type Description
    sName String
    oEvent Object
    Returns:
    발생 중 collie.ComponentEvent의 stop 메소드가 실행될 경우 false를 반환한다

    inherited get(sName){Variables}

    DisplayObject와 Layer의 서로 다른 인터페이스를 맞추기 위한 임시 메서드

    Name Type Description
    sName String
    See:

    inherited getDuration(){Number}

    Duration을 반환

    getValue(){Variables}

    현재 값을 반환

    inherited isPlaying(){Boolean}

    타이머가 진행 중인지 여부를 반환

    Returns:
    실행 중

    inherited option(vName, vValue, bNotOverwrite)

    컴포넌트의 옵션을 설정한다.

    Name Type Description
    vName Object | String

    옵션 이름이나 여러 옵션을 설정할 수 있는 객체를 넣을 수 있다.

    vValue Variables optional

    옵션 값, 값이 없다면 해당 옵션 값을 반환한다.

    bNotOverwrite Boolean optional

    이 값이 true면 기존에 값이 있을 경우 덮이 씌우지 않는다

    Example

    component.option({ a : 1, b : true });

    component.option("a", 1); component.option("a"); // return 1

    inherited optionSetter(sName, fSetter)

    옵션 값이 설정될 때 실행될 함수를 지정한다. Setter는 한 속성 당 한 개의 함수만 설정할 수 있다.

    Name Type Description
    sName String
    fSetter Function

    애니메이션을 일시정지

    Example

    // pause/start var timer = collie.Timer.repeat(function () {}, 1000); timer.pause(); timer.start();

    값을 초기화

    run(nCurrentFrame, nFrameDuration)

    애니메이션을 실행

    Name Type Description
    nCurrentFrame Number optional

    현재 렌더러 프레임, 값이 없으면 자동으로 현재 렌더러 프레임을 가져 온다

    nFrameDuration Number optional

    진행된 프레임 시간(ms)

    inherited set(sName, vValue, bNotOverwrite){Object}

    DisplayObject와 Layer의 서로 다른 인터페이스를 맞추기 위한 임시 메서드

    Name Type Description
    sName String
    vValue Variables
    bNotOverwrite Boolean optional
    See:
    Returns:
    method chaining

    setValue(vValue)

    현재 값을 설정

    Name Type Description
    vValue Variables

    정지 상태인 타이머를 다시 실행

    애니메이션을 정지

    Name Type Description
    bSkipEvent Boolean

    이벤트를 발생하지 않는다

    Example

    // stop/start var timer = collie.Timer.repeat(function () {}, 1000); timer.stop(); timer.start();

    옵션을 제거한다

    Name Type Description
    sKey String

    Events

    타이머가 정상적으로 종료되면 발생, repeat나 cycle의 loop가 0과 같이 지속적으로 반복되는 타이머에서는 일어나지 않는다

    Name Type Description
    oEvent Object

    기본 컴포넌트 이벤트 객체

    한 싸이클이 끝나면 발생함

    Name Type Description
    oEvent Object

    컴포넌트 기본 이벤트 객체

    타이머를 일시 정지할 때 발생

    Name Type Description
    oEvent Object

    기본 컴포넌트 이벤트 객체

    타이머를 실행할 때 발생. Timer를 이용해서 생성할 때는 생성하는 순간 시작 상태이다.

    Name Type Description
    oEvent Object

    기본 컴포넌트 이벤트 객체

    타이머를 정지할 때 발생. 정상적으로 complete된 경우에는 발생하지 않는다

    Name Type Description
    oEvent Object

    기본 컴포넌트 이벤트 객체

    comments powered by Disqus