经过天霸这几天的努力,塔防游戏已经初见雏形,感谢各位小伙伴们的支持与厚爱,在开发这款塔防游戏的同时用到了一些古老的技术,现在天霸把他简单写一下,分享给大家,在生活或工作中会用到这些古老的技术,也说不定呢。如果有大佬发现里面有错误或者不合理的地方,一定要评论区留言,那肯定是嫉妒我。
首先来欣赏一下稍见雏形的塔防游戏,
图一
图二
图三
怎么样还行吧,哈哈哈!
下面我就来给大家分享一下用到的一些古老技术,1:贝塞尔曲线(n阶)。2.A星寻路算法。如果仔细观察图二其中的某个小怪兽,你会发现,小怪兽是会绕开塔或者塔的基座的,可以说是小怪兽的移动是贝塞尔曲线+a星寻路算法结合使用来实现的。
1.首先通过a星算法来计算出小怪兽的具体路径点。
2.然后为了让小怪兽的路径看起来更平滑,用这些路径点作为控制点来生成一个更加圆滑的曲线的路径点。
我们首先来看一看贝塞尔曲线是如何实现的。
图二的小怪兽移动的速度太慢了,效果可能不是很明显,那么来观察一下下面这张图片。
图4
看图4是不是很明显,我们是如何让鱼自由自在的游动的呢,这里就用到了一个古老的技术,贝塞尔曲线,为什么说古老呢,因为这个技术不是我发明的而且存在了很长时间了,根据百度到的知识(“贝赛尔曲线”是由法国数学家Pierre Bézier所发明,由此为计算机矢量图形学奠定了基础。它的主要意义在于无论是直线或曲线都能在数学上予以描述。),是由法国的数学家发明的,而且网上有好多关于贝塞尔曲线的详细解释,我就不在这里赘述了,我就是参考了这篇文章,https://blog.csdn.net/aimeimeits/article/details/72809382
大家可以拷贝链接到浏览器打开,如果对贝塞尔曲线不甚了解的同学,可以仔细研读这篇文章。
然后我们只需要从这篇文章里面把重点拿出来,翻译成ts语言放到cocos creator里面即可,那么他的重点是什么呢!
他的重点就是贝塞尔曲线的计算公式
是不是看不懂,哈哈,不用着急,我们一点点来分析这个公式。其实这个公式很简单,p0-pn 里面的p代表的就是控制点,t代表的是时间,这里暂且理解为时间,这个公式的意思就是,在时间为t的位置,求出多个表达式的和,这个表达式可以简