Namespace: Renderer

collie. Renderer

Layer를 등록해서 그리는 렌더링 파이프라인

TODO
  • frame을 기록하는 클래스의 경우 stop되고 다시 시작되면 0부터 시작하므로 자기가 기록한 frame이 현재 frame보다 클 때 보정 처리를 반드시 해줘야 한다. 이는 나중에 frame이 int 풀카운트가 되었을 때 처리가 있을지도 모르므로 필수

Members

staticcollie.Renderer.DEBUG_MAX_DELAYNumber

가상 딜레이 최대값(랜덤하게 발생, ms)

staticcollie.Renderer.DEBUG_RENDERING_MODEString

렌더링 모드 [auto|canvas|dom]

staticcollie.Renderer.DEBUG_USE_DELAYBoolean

이 값을 true로 변경하면 가상 딜레이를 발생할 수 있다. 가상 딜레이 발생 상태에서는 requestAnimationFrame이 동작하지 않으며 타이머 등이 스킵될 때 어떻게 동작하는지 확인할 수 있다.

Example

collie.Renderer.DEBUG_USE_DELAY = true; collie.Renderer.DEBUG_MAX_DELAY = 200; collie.Renderer.start();

staticcollie.Renderer.DEFAULT_FPSString

기본 렌더링 FPS

staticcollie.Renderer.DELAY_LIMITNumber

If The Renderer can't render the screen in this time, It should be paused. (ms)

staticcollie.Renderer.RETINA_DISPLAYString Boolean

레티나 디스플레이 여부 auto 값일 경우 자동 판단, true/false 값은 수동 auto 일 때 자동 판단 됨

staticcollie.Renderer.USE_AUTO_PAUSEBoolean

자동 일시정지를 해제한다

Methods

staticcollie.Renderer.addLayer(oLayer)

렌더러에 적용할 레이어를 추가 한다

Name Type Description
oLayer collie.Layer

staticcollie.Renderer.draw(nSkippedFrame)

원하는 프레임으로 스킵해서 그린다

Name Type Description
nSkippedFrame Number

값이 없으면 스킵 없이, 값이 있으면 그 값만큼 프레임을 스킵해서 그린다

staticcollie.Renderer.getDuration(){Number}

렌더러에 적용된 시간을 반환

staticcollie.Renderer.getElement(){HTMLElement}

렌더러의 컨테이너 엘리먼트를 반환

staticcollie.Renderer.getInfo(){Object}

렌더러 정보를 반환

Returns:
Name Type Description
htInfo Object
Name Type Description
frame Number 현재 프레임 수
skippedFrame Number 지나간 누적 프레임 수
htInfo.fps Number
duration Number 지연시간(ms)
renderingTime Number 이전에 발생했던 렌더링 시간(ms)
beforeFrameTime Number 이전에 렌더러가 실행됐던 시간(timestamp)

staticcollie.Renderer.getLayers(){Array}

등록된 레이어를 모두 반환

staticcollie.Renderer.getRenderingMode(){String}

렌더링 모드를 반환 - 두개의 방식을 섞어 쓰는 것은 속도가 느려서 1가지 방식을 사용하는 것이 낫다

staticcollie.Renderer.isPlaying(){Boolean}

현재 실행 중인지 여부를 반환

staticcollie.Renderer.isPreventDefault(){Boolean}

기본 동작을 막는지 여부를 반환

Returns:
때 막는다, 기본값이 true

staticcollie.Renderer.isRetinaDisplay(){Boolean}

레티나 디스플레이를 사용하고 있는지 여부 IE9 미만에서는 무조건 false를 반환

staticcollie.Renderer.load(elParent)

표현할 레이어를 elParent에 붙인다 시작전에 반드시 해야함

Name Type Description
elParent HTMLElement | String

staticcollie.Renderer.pause()

잠시 멈춘다

staticcollie.Renderer.refresh()

렌더링 엘리먼트의 위치를 갱신한다 만일 렌더링 엘리먼트의 위치가 load 후에 변경될 경우 refresh 메소드를 실행시켜줘야 한다

staticcollie.Renderer.removeAllLayer()

등록된 모든 레이어를 제거 한다

staticcollie.Renderer.removeLayer(oLayer)

렌더러에 적용한 레이어를 제거 한다

Name Type Description
oLayer collie.Layer

staticcollie.Renderer.resize(nWidth, nHeight, bExpand)

렌더러에 등록된 모든 레이어의 크기를 변경 한다

Name Type Description
nWidth Number
nHeight Number
bExpand Boolean

확장할지 크기만 변경할지 여부

staticcollie.Renderer.resume()

잠시 멈춘것을 다시 실행 한다

staticcollie.Renderer.setPreventDefault(bPreventDefault)

레이어 위에서 기본 이벤트(mousemove, mousedown) 동작을 막을지 여부를 설정 한다.

Name Type Description
bPreventDefault Boolean

true면 기본 동작을 막는다.

staticcollie.Renderer.setRenderingMode(sMode)

렌더링 모드를 변경 한다

Name Type Description
sMode String

[auto|dom|canvas]

Example

collie를 사용하기 전에 사용해야 한다. collie.Renderer.setRenderingMode("dom"); collie.ImageManager.add({ ... }, function () { ... });

staticcollie.Renderer.setRetinaDisplay(vMode)

레티나 디스플레이 방식을 변경 한다

Name Type Description
vMode Boolean | String

[false|true|"auto"]

Example

collie를 사용하기 전에 사용해야 한다. collie.Renderer.setRetinaDisplay(true); collie.ImageManager.add({ ... }, function () { ... });

staticcollie.Renderer.start(vDuration, fCallback)

렌더링 시작 - callback 안에서 false를 반환하면 rendering을 멈춘다

Name Type Description
vDuration Number | String

렌더러의 시간 간격(ms), fps를 붙이면 fps 단위로 입력된다.

fCallback Function

프레임마다 실행할 함수, 없어도 되고 process 이벤트를 받아서 처리해도 된다.

Name Type Description
frame Number

현재 프레임

skippedFrame Number

시간이 밀려서 지나간 프레임 수

fps Number

FPS

duration Number

지연 시간 (ms)

Example

fps를 붙이면 FPS단위로 입력할 수 있다.

collie.Renderer.start("30fps");
collie.Renderer.start(1000 / 30);

staticcollie.Renderer.stop()

렌더링을 멈춘다

staticcollie.Renderer.unload()

부모 엘리먼트에 붙인 레이어를 지움

Events

렌더러가 일시 정지 때 발생. getInfo 값이 이벤트 인자로 넘어간다

See:

렌더링 진행

Name Type Description
oEvent Object
Name Type Description
stop Function

stop 하면 렌더링이 멈춘다

렌더러가 일시 정지에서 해제될 때 발생. getInfo 값이 이벤트 인자로 넘어간다

See:

렌더링 시작

Name Type Description
oEvent Object

렌더링 멈춤

Name Type Description
oEvent Object
comments powered by Disqus