cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画1

cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画1,第1张

概述又写程序写累了,换换思路,写个教程放松下吧,呵呵。在cocos之中,对3D精灵动画的支持目前主要是单帧动画,还不涉及到3D的骨骼动画。而单帧动画,又有通过时间,和通过帧数来指定。比如一个动作,其时间是0.1->0.3,那么可以用如下语句来指定这个动画: auto animate = Animate3D::create(animation, 0.1f,0.3f); 如果其帧数是第12-20帧,那么可 又写程序写累了,换换思路,写个教程放松下吧,呵呵。在cocos之中,对3D精灵动画的支持目前主要是单帧动画,还不涉及到3D的骨骼动画。而单帧动画,又有通过时间,和通过帧数来指定。比如一个动作,其时间是0.1->0.3,那么可以用如下语句来指定这个动画:
auto animate = Animate3D::create(animation,0.1f,0.3f);
如果其帧数是第12-20帧,那么可以用如下语句来指定:
auto animate = Animate3D::createWithFrames(animation,12,20);
OK,基本的方法我们了解了。一般的程序,都是把这个动画序列写在程序里面,那样。。。。。。。呃。。。。。。。。。。。你要加一个精灵,就得重新写一个程序。。。。。。。。。。。要加一个动作,也要改一次程序。。。。。。。。。。。。。例如FantasyWarrior3D的相关代码:
-- init Mage animations=============================doMage._action = {IDle = createAnimation(file,206,229,0.7),walk = createAnimation(file,99,119,attack1 = createAnimation(file,12,30,attack2 = createAnimation(file,31,49,specialattack1 = createAnimation(file,56,74,0.2),specialattack2 = createAnimation(file,75,92,defend = createAnimation(file,1,5,knocked = createAnimation(file,126,132,dead = createAnimation(file,139,199,0.7)}end
 

怎么办?呵呵,我从自己的程序里面抽取一个思路出来跟朋友们交流。先说明了是个思路,呵呵,因为我的程序不知不觉已经很庞大了。。。。想抽取整个实现流程居然变得不太现实了。。。。。。。。。。。。。


在第一章的时候,我们说到了,boss是使用数据库定义的,其配套有个boss_action数据库,用于存储某个boss的序列动作。这里详细贴一下。我们照用FantasyWarrior3D的mage.c3b模型,照抄上面lua里面的帧序列哈,呵呵,多省事啊[s:14]


首先,是在boss库增加一条记录,指定一个新boss使用mage.c3b模型,并且指定一下渲染文件缩放比例啥的。



然后,本节重点来了,呵呵,在boss_action库,把mage的动作给抄进去。这次对于mage就先用按帧定义其动画的方式吧,时间参数就先不填了,呵呵,只填各个动作名称、开始与结束帧数。



好了,这就定义好了,如何在程序里面依靠数据库的记录,来实现各个动作的播放呢???忽然觉得写烦了。。。。。。。下一节再继续写,呵呵。先来个mage在我的程序的实现图,之前的小白人太丑啦,换上mage,稍微好看一点点,呵呵。。。。。。。。

总结

以上是内存溢出为你收集整理的cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画1全部内容,希望文章能够帮你解决cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画1所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1018803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存