文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

教你如何用CCSprite实现运行抛物线的同时CCSprite播放另一个动作

lzzyok小精灵

lzzyok小精灵

2024-04-23 22:58

关注

  我们平时在游戏开发中经常会需要让CCSprite同时播放两个动作,那么该怎么实现呢?本篇教程将教你如何用CCSprite实现运行抛物线的同时CCSprite播放另一个动作。

  如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物理引擎的童鞋,肯定不方便,那么编程学习网今天为大家介绍另外一种不实用物理引擎实现CCSprite抛物线方式;

  这里我直接将封装好的方法贴上来,注释都在代码中了:

教你如何用CCSprite实现运行抛物线的同时CCSprite播放另一个动作_Cocos2D-X抛物线_Cocos2D-X CCSprite_Cocos2D-X技巧_编程学习网

  之前在Android上我也有讲解过贝塞尔曲线的博文,但是Android中不同于cocos2d封装这个,在cocos2d中的Bezier是封装为了精灵动作,让精灵按照贝塞尔曲线的路线去运动;那么以上封装的代码中对于抛物线运动来说最重要的一点就是创建贝塞尔曲线的第二个点,这个点控制着精灵路径的所经过的最高点,这里务必要知道;

  这种实现方式虽然没有物理系统对刚体施加力来的真实,但是!我想这段代码的实用性还是很大的,至少不需要使用box2d引擎相关知识,最重要的优点是不会存在代码混编带来的编译错误~

  OK,下面来介绍第二个知识点:

  很多童鞋学习cocos2d,一般不经常更新的动画,会使用cocos2d封装的动作,例如旋转、渐变、位移等等,那么一旦使用动作后,肯定就有需要两个动作一起播放的需求,那么基本上童鞋们大脑中第一闪现的就是利用cocos2d的动作序列 CCSequence,但是效果不理想,原因很简单,因为顾名思义,既然是动作序列,那就是按照动作的顺序一个动作一个动作的进行播放,也就是说利用动作序列只能达到连续播放动作,无法同时播放动作的目的;

  那么在这里给大家一个方法能让两个动作同时播放的方法:

  这里为了讲解方便,我在刚才封装的贝塞尔曲线上的方法上进行修改,添加一个旋转的动作,让贝塞尔曲线运动与旋转动作同时播放,这里Himi使用一根“矛”的图片作用示意图来说明,因为矛与箭的运动方式最常用的动作肯定是一边旋转一边抛物线位移,这样才更加真实;

  OK,看下封装角度后的抛物线并同时旋转方法如下:

  附上运行效果图:

  左侧的矛是起始位置,后侧的是抛物线与旋转两个动作同时进行运动中的矛~

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     654人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     296人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     256人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     356人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     160人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-游戏开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯