유니티와 같은 게임엔진과 비교할 수는 없지만
zim.js는 나름대로의 물리엔진을 제공한다.
물리엔진을 적용하기 위해서는 일단 game, physics CDN을 추가해야한다.
<script src="https://zimjs.org/cdn/1.3.4/createjs.js"></script>
<script src="https://zimjs.org/cdn/cat/04/zim.js"></script>
<script src="https://zimjs.org/cdn/game_2.5.js"></script>
<script src="https://zimjs.org/cdn/Box2dWeb-2.1.a.3.min.js"></script>
<script src="https://zimjs.org/cdn/physics_2.1.js"></script>
Physics( )인스턴스를 실행한 뒤
addPhysics( )를 적용해준다.
//생략...
const physics = new Physics();
const ball = frame.asset('img%2FsoccerBall.png?alt=media&token=126de779-d676-4180-a38c-883fb9a9e135')
.sca(.2)
.centerReg(stage)
.addPhysics({
shape:'circle',
restitution:.7
});
//생략...
addPhysics는 대부분 물리엔진이 갖고 있는 기본속성들을 제공한다.
(마찰력, 중력, 점도, 부력, 탄성력, 기타...)
obj.addPhysics(dynamic, contract, shape, friction, linear, angular, density, bounciness, maskBits, categoryBits, physics, restitution)
물리엔진은 결합해야 빛이 난다.
특히, 마우스이벤트, 이미지 텍스처와 결합한다면,
좀더 현실적인 느낌을 연출할 수 있다.
ball.on("mousedown", e=>{
ball.impulse(
(ball.x-e.stageX/stage.scaleX)*15,
(ball.y-e.stageY/stage.scaleY)*15
)
});
'웹개발 자료실 > 웹게임제작 Code' 카테고리의 다른 글
「zim.js」중력게임 만들기 (0) | 2021.07.29 |
---|---|
「zim.js」 물리엔진 적용(2) (0) | 2021.07.25 |
「zim.js」 낙하게임 제작 (0) | 2021.07.19 |
『캔버스 애니메이팅』 마우스에 반응하는 Sprite이미지 (0) | 2021.04.02 |
『캔버스 애니메이션』 Sprite 터닝 애니메이션 (0) | 2021.03.27 |
댓글