Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/potato47/jump

微信跳一跳复刻 CocosCreator + Typescript 在线试玩 https://potato47.github.io/game/jump/
https://github.com/potato47/jump

cocos cocos-creator game typescript

Last synced: 9 days ago
JSON representation

微信跳一跳复刻 CocosCreator + Typescript 在线试玩 https://potato47.github.io/game/jump/

Awesome Lists containing this project

README

        

# jump
微信跳一跳复刻 CocosCreator + Typescript 在线试玩 https://potato47.github.io/game/jump/

# 简单讲两句

说一下核心逻辑

一开始我做的时候想用物理引擎,或者简单的用一下碰撞组件,后来发现很麻烦,不好控制落点

多次观察微信跳一跳的界面发现了一个规律:

人物每次跳跃落地都是固定的几个点,如果把跳跃的方块看做九宫格的正方形,那么落点一共可以分为五个,也就是上下左右中

一个非常简便的方法就出来了:

不需要人物落地之后再判断是否跳到方块上

人物跳跃之前就根据跳跃距离(跳跃距离根据蓄力时间得出),算出人物跳跃后距离目标方块哪个点(上下左右中)最近,直接让人物执行一个固定距离的跳跃动作就可以了,完全不需要物理引擎和碰撞系统,每个落点都是预设好的

当然要设定一个差值,当大于这个差值时,就代表跳到了方块外面

---

我还写了一个2d横版的跳一跳,感兴趣的可以看我另一个小游戏集合项目 https://github.com/potato47/so-many-games