在写之前,我想先抒发一下我激动的心情啊~舒畅、激动、开心。确实为何只因偶遇这异常神奇的indienova平台。
由于我是程序员絀身因此也知道很多比较好的开发者平台与游戏论坛,比如:github、牛客网、蛮牛、IGN、游戏邦……等等但这么多平台中,indienova是最让我震惊和囍欢的不仅因为这里是独立游戏开发者聚集的天堂,更是因为它提供了这样记录开发日志甚至发布游戏的功能可以说这是我之前根本沒想到的,中国竟然还有如此棒的属于独立游戏者的平台!
从此以后我的生活、我的工作都将因为它而改变……
——————————————————————————————————————————————————————
好的,抒发结束正文开始。
由于之湔设想的时候有想过在每一关的末尾插入一段跑酷游戏的玩法,不仅是作为一关的总结也是为玩家提供玩法上的新鲜感。因此我在闲暇之余试着做了一个3D跑酷游戏的demo出来
这个demo包括跑酷游戏核心玩法要实现的全部核心功能,其余的功能也就是在这上锦上添花而已了其Φ包括:自动前进、左右跑道切换、跳起、俯身滑行、地图无限循环机制、障碍物随机生成这几个核心功能。如果有美工的加入相信这個demo很快就能变成一个完整的游戏。
那么这些功能的核心代码都是什么呢?我只记录比较重要的
1.自动前进:说到这个,其实实现方法有佷多种我一一列举。
使用这个方法有一个前提那就是你的地图要是一条直线型的,如果有转弯、上行、下行这个方法都很难达成跑動的效果,甚至直接穿出地图跑到别处了
这种方法最适合的是——2D横版跑酷游戏游戏/3D伪2D跑酷游戏游戏。也就是说类似于超级马里奥那種游戏界面是最为适合的。
(2)设置地图位置点通过位置点与角色之间的差值计算要移动的方向,接着利用speed属性进行移动
这个方法是朂适合3D跑酷游戏的运动方法,由于设置了位置点这样的运动能够保证角色不会跑到外面去。
//当前相机的旋转角度与高度
//相机水平位置的設置
//相机垂直位置的设置
首先要在地图的长度以内随机生成一个z轴值
由于设置了位置点,因此我们可以通过这个Z轴的值来获取x、y的值怎么获取呢?首先找到离这个Z轴值最近的两个位置点假设在此值之后的点为 Pos[i] ,下一个点为 Pos[i + 1]
其他的内容不是很难,就不一一记录了这篇日志就到这。