Zim.js에서 Ticker는 requestAnimationFrame객체와 같은 역할을 한다.
requestAnimationFrame()의 경우, 3D씬이나 게임에서 루프구문으로 주로 사용한다.
zim.js에서는 Ticker객체와 .add( )메서드를 결합함으로써
requestAnimationFrame()구문을 간편하게 구현할 수 있다.
『Ticker.add(실행함수, stage)』
animate( )
canvas를 사용했을 때 애니메이팅은 꽤 성가신 주제다.
zim.js를 사용한다면, 애니메이팅을 간단하게 구사할 수 있다.
.animate( )메서드는 내부의 props속성에 따라 움직임을 만들어 낼 수 있다.
중앙에서 생성된 이미지를 x축 500위치로 움직이는 코드는 아래와 같다.
const takbong = frame2.asset('https://firebasestorage.googleapis.com/v0/b/webgame-786ab.appspot.com/o/img%2Fdrugchild.jpg?alt=media&token=4ae9375c-9c91-4b83-b880-cc41ceea6dd7')
.centerReg(stage2)
.animate({
props:{x:500},
loop:true,
rewind:true
});
rewind, loop값을 'true'로 설정했을 경우
조건문을 사용하지 않더라도 애니메이팅을 반복할 수 있다.
애니메이팅 효과
zim.js DOC에 자세하게 소개되어 있지만
아래 효과는 알아두면 효과적으로 사용할 수 있다.
|희미하게 나타나기
const takbong = frame.asset('이미지 url')
.centerReg()
.alp(0)
.animate({ alpha:1 });
|크기변경 & 나타나기
const takbong = frame.asset('이미지url')
.centerReg()
.animate({
props:{ x:stageW-150, scale:0.3, alpha:0 }, //시작상태
time:2, //지속시간
from:true
})
|움직이며 나타나기
const takbong = frame.asset('이미지url')
.centerReg()
.loc(-500)
.animate({
props:{x:stageW/2},
time:'2',
from:true
});
|효과주기
const takbong = frame.asset('이미지url')
.centerReg()
.animate({
props:{x:stageW-150, scale:0.3, alpha:0}, //시작상태
time:2, //지속시간
from:true,
ease:'bounceOut' //날아오기, 'backOut'은 한번만 실행
})
|애니메이팅 금지
ANIMATE = false; // frame내에서 애니메이팅 금지
'웹개발 자료실 > 웹앱 개발 자바스크립트Code' 카테고리의 다른 글
zim.js 슬라이더 | 다이얼 제작하기 (0) | 2021.02.07 |
---|---|
zim.js 반복문 (0) | 2021.02.05 |
『퀴즈 만들기』 페이지 기능 추가 (3) | 2020.06.23 |
자바스크립트로 간단한 퀴즈 만들기 (0) | 2020.06.22 |
자바스크립트 개발에 도움되는 사이트 모음 (0) | 2020.04.09 |
댓글