Cocos2d-JS 动作、特效和动画

JS实现自动循环滚动展示 ...语法:...语法:...语法:...语法:语法: 阅读详情
动作
动作包括基本动画和基本动作的组合,基本动作有缩放、移动、旋转等动作。
动作类是cc.Action。它的类图如图7-1所示。

从图中可以看出cc.Action的一个子类是cc.FiniteTimeAction,cc.FiniteTimeAction是一种受时间限制的动作。cc.Follow是一种允许精灵跟随另一个精灵的动作,cc.speed可以一个动作运行时改变其运动速率。
此外。cc.FiniteTimeAction有两个子类,cc.ActionInstant和cc.ActionInterval。
它们两个是不同风格的动作类,cc.ActionInstant封装了一种瞬时动作,cc.ActionInterval封装了一种间隔动作。
在cc.Node类中关于动作的函数如下:
(1)runAction(action)运行指定动作,返回值仍然是一个动作对象
(2)stopAction(action)停止指定动作
(3)stopActionByTag(tag)通过指定标签停止动作
(4)stopAllActions()停止所有动作
瞬时动作
瞬时动作就是不等待,立即执行的动作,瞬时动作的基类是cc.ActionInstant,瞬时动作cc.ActionInstant类图如图7-2所示:


例子:




第三行使用构造函数的参数初始化成员变量值flagTag
间隔动作
间隔动作执行完成需要一定的时间,可以设置duration属性来设置动作的执行时间,间隔动作基类是cc.ActionInterval,间隔动作cc.ActionInterval类图如图7-5所示:

组合动作
动作往往不是单一的,而是复杂的组合。可以按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作。组合动作包括以下几类:顺序,并列,有限次数重复,无限次数重复,反动作和动画。
动作速度控制
基本动作和组合动作实现了针对精灵的各种运动和动画效果的改变。但这样的改变速度是匀速的、线性的。通过cc.ActionEase及其子类和cc.Speed类可以使精灵以非匀速或非线性速度运动。
cc.ActionEase的类图如图7-10所示:


EaseOut(ac,3)以3倍速度由慢至快
EaseInOut(ac,3)以3倍速度由慢至快再由快至慢
EaseSineIn(ac)以正弦变换速度由慢至快
EaseSineOut(ac)以正弦变换速度由快至慢
EaseSineInOut(ac)采用正弦变换速度由慢至快再由快至慢
EaseExponetialIn(ac)采用指数变换速度由慢至快
EaseExponetialInOut(ac)采用指数变换由快至慢
Speed(ac,cc.random0To1()*5)随机设置变换速度
回调函数
在顺序动作执行的中间或者结束时,可以回调某个函数。从而可以在该函数中执行任何处理。
特效
cocos2d-JS提供了很多特效,这些特效事实上属于间隔动作。
网格动作
网格动作都是采用3D效果,给用户的体验是非常震撼好绚丽的。但是要给内存和CPU带来了巨大的压力和负担。如果不启用OpenGL的深度缓冲,3D效果就会是是真。但是启动时时对于显示性能也会造成负面影响。
动画
在Cocos2d-JS中播放帧动画设计两个类。cc.Animation和cc.Animate。类图如图7-18所示,cc.Animation是动画类,他保存有很多动画帧。cc.Animate类是动作类。它继承于cc.ActionInterval类,属于间隔动作类。它的作用是将cc.Animation定义的动画转换成为动作进行执行,这样就能看到动画播放的效果了。



第1行代码是创建一个Animation对象,它是动画对象。然后通过循环将各个帧图片放到Animation对象中。第2行代码是获得帧图片的文件名。第3行代码是通过帧名创建精灵帧对象,第4行代码是把精灵帧对象添加到Animation对象中。第五行代码是设置两个帧播放时间。第6行是表示动画执行完成后是否还原到初始状态。第7行代码是通过一个Aniamtion对象创建一个Animate对象。第8行代码this.sprite.runAction(cc.repeatForever(action))是执行动画动作,无限循环方式。第9行代码,this.sprite.stopAllActions()是停止所有动作。
Cocos2d-Js游戏开发实战:从HTML5到原生移动平台完整源码解析 Cocos2d-JS 是一款基于 JavaScript 的开源 2D 游戏引擎,构建于 Cocos2d-x 核心之上,支持原生、Web 和多端发布。其核心采用分层架构,通过 JSB(JavaScript Binding)机制桥接 C++ 引擎底层,实现高性能渲染与逻辑执行。引擎采用“主循环+场景树”模型,每一帧遍历节点树并更新动作、渲染、物理等系统。跨平台原理依赖于统一的API抽象层与平台适配层(Adapter Layer) 阅读详情

相关推荐

三角洲行动交易行自动化脚本

DFMarketBot - 三角洲行动自动交易助手 DFMarketBot是一款专为三角洲行动游戏设计的交易行自动化工具,通过OCR识别和鼠标模拟实现自动补卡、补子弹功能。项目采用Python开发,支持Windows平台,主要功能包括: 自动检测并购买指定物品(房卡/子弹) 价格监控与智能购买(低于设定价格自动下单) 自定义购买数量与次数限制 支持窗口/无窗口两种游戏模式 使用前需安装Tesseract OCR引擎并配置游戏为1920*1080分辨率。通过JSON文件可灵活配置监控物品清单、理想价格和购买策

愤怒的阿木木的博客 3万+

【Cocosd2d实例教程四】Cocos2d实现人物原地走动

(转载请注明出处:http://blog.youkuaiyun.com/buptgshengod) 1.首先安装TexturePacker     1)TexturePacker介绍               这是一款图片集合软件,生成.plist文件,是一种动画效果。将png图片人物走动的不同瞬间传进去,之后publish,将生成一个.plist和一个.png文件。如图             

Garvin的专栏 3956

Auto.js凉了之后,我们该用啥?AutoX.js保姆级环境搭建与第一个脚本实战(2024最新)

本文详细介绍了AutoX.js作为Auto.js替代方案的环境搭建与脚本开发实战指南。从技术生态现状分析到2024最新环境配置,再到编写第一个实用脚本和进阶调试技巧,帮助开发者无缝迁移至AutoX.js平台。特别适合需要手机自动化的JavaScript开发者,涵盖从基础到企业级应用的全套解决方案。

weixin_28737073的博客 391

【Cocos2d-x-js系列】制作人物动画

OnWalkClick:function(sender){ var sfLaoJun1=new cc.SpriteFrame(res.npc_laojun1,cc.rect(0,0,70,101)); var sfLaoJun2=new cc.SpriteFrame(res.npc_laojun2,cc.rect(0,0,70,101)); var sfLaoJun3=new ...

aidou6545的博客 362

java对接海康实现页面实时播放和回放

前言:之前已经写过一篇关于视频的文章,因为觉得有很多优化的地方,也谢谢同行们加我微信跟我提了一些需求和意见,所以在过年的假期重新写了一个比较能扩张的版本。 上一个版本的连接:https://blog.youkuaiyun.com/weixin_45848110/article/details/119363602 与之前的版本不同之处: 1.不需要安装ffmpeg 2.不需要安装nginx 3.直接运行jar即可 4.之前是完全脱离海康sdk,回放的录像是保存到本地服务,现在是直接在海康硬盘录像机获取录像回放 5.实时播

weixin_45848110的博客 1万+

VESC电调高级调参指南:电机校准与性能优化实战解析

本文详细解析了VESC电调的高级调参方法,包括电机校准与性能优化实战技巧。从基础参数设置到高级机械参数优化,再到动态性能调优,提供了全面的调参指南。特别针对电机类型、功率设置、电池参数配置等关键环节给出实用建议,帮助用户充分发挥VESC电调的性能潜力。

weixin_30772105的博客 196

cocos2dx动画加速与减速

cocos2d-x动画加速与减速 动画是游戏的必然要素之一,在整个游戏过程中,又有着加速、减速动画的需求。以塔防为例子,布塔的时候希望能够将游戏减速,布好塔后,则希望能将游戏加速;当某个怪被冰冻后,移动速度减缓,而其他怪的移动速度不变。cocos2d-x引擎为我们提供了很强大的接口,下面就将我实验的过程复述一遍,也方便他人。 1)实现全局的加速、减速。 通过设置Scheduler的

尘墨 1543

PySpark机器学习生产化陷阱:跨节点依赖问题的7种解决方案

隐式依赖陷阱使用ldd解决方案:在基础镜像中预装和路径冲突终极解法依赖树瘦身技巧用conda-tree可减少40%环境体积PySpark机器学习生产化的核心矛盾在于分布式环境的确定性与灵活性不可兼得。轻量级方案(1-3)牺牲一致性换取灵活性重量级方案(4-6)牺牲灵活性换取确定性混合方案(7)针对特殊场景补充正如某AI平台架构师所言:“环境一致性不是技术问题,而是工程纪律问题选择适合团队当前阶段的方案,建立严格的依赖管理流程,才能让PySpark真正扛起生产环境的大旗。

datacanvas2426的博客 911

cocos2d-x基础 - 特效(1)

cocos2d-x基础 - 特效(1) 1. 场景切换 设置一个字符块,通过点击字符来切换另一个场景Scene 在HelloWorldScene.cpp中加入: auto visibleSize = Director::getInstance()->getVisibleSize(); Label * label = Label::createWithSystemFont("new Scen...

CC_且听风吟丶的博客 489

RedCap:一种通信技术的概述

总结起来,RedCap是一种基于数据包交换的通信技术,它提供了一种高效、可靠的数据传输机制。通过使用RedCap,我们可以轻松地发送和接收数据包,并确保数据的完整性和正确性。在上面的示例中,我们首先导入了RedCap库,并创建了一个RedCap实例。然后,我们定义了目标地址和源地址,并创建了一个数据包,其中包含了目标地址、源地址和要发送的数据。本文将介绍RedCap的基本原理和使用方法,并提供一些相关的源代码示例。RedCap还提供了其他一些功能,如数据包的重传机制、流量控制和拥塞控制等。

YgjWeb的博客 900

【逐函数讲解ORB_SLAM3源码】获取普通帧率、关键帧、IMU数据

获得imu的旋转 mRwc * mImuCalib.mTcb.rotationMatrix(); Sophus::SE3 mTwc 创建ORB_SLAM3系统 Create SLAM system. It initializes all system threads and gets ready to process frames. ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::IMU_RGBD, true, 0, file_nam

小秋 AI SLAM 入门实战教程 1245

Cocos2d-js : 精灵动作实现 示例

解析cc.sequence --> 动作序列,有序地一个一个执行动作 repeatForever --> 重复执行动作 cc.spawn --> 同时执行动作//不断做旋转和放缩var man = new cc.Sprite("res/grossini.png"); // 创建精灵 man.runAction(cc.spawn(cc.rotateBy(1, 360, 360),

JeterPong's Column 2233

【数字孪生工业应用实战】第2篇:数字孪生系统架构设计与技术选型——从“作秀”到“实干”的骨架构建

本文系统剖析了数字孪生系统从“作秀”到“实干”的架构设计关键。针对多数项目在POC转生产时因架构混乱、选型盲目而失败的问题,深入阐述了四层分层架构(感知层、传输层、模型层、应用层)的设计原则,重点解析了感知层的异构适配与边缘预处理、传输层的异步解耦与多模式通信等工程细节。结合OPC UA、MQTT、EdgeX Foundry等主流技术选型对比,以及汽车焊装车间边缘智能网关的实战代码,提供了从零搭建微型孪生系统的完整指导。旨在帮助工程师建立清晰的选型决策逻辑,构建稳定、可演进的数字孪生“骨架”。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 267

如何用cocos2d-js动作系统与特效打造生动游戏:5个关键技巧指南

cocos2d-js是一款强大的HTML5游戏引擎,它提供了完整的动作系统和特效功能,让游戏开发者能够轻松创建流畅的动画效果。无论你是游戏开发新手还是经验丰富的开发者,掌握cocos2d-js的动作系统与特效技巧都能显著提升游戏的表现力。本文将为你揭示5个关键技巧,帮助你快速掌握这个强大的游戏动画工具。 ## 🎮 1. 基础动作类型:移动、旋转、缩放的核心技巧 cocos2d-js的动作系统

gitblog_00412的博客 998

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

cocos2d-js完全指南:JavaScript游戏开发的终极解决方案

cocos2d-js是Cocos2d-x引擎的JavaScript版本,整合了Cocos2d-html5和Cocos2d-x JavaScript Bindings,为游戏开发者提供跨浏览器和跨平台能力,同时具备完整的Cocos2d-x特性和简化的JavaScript友好API,是JavaScript游戏开发的理想选择。 ## 🚀 为什么选择cocos2d-js? cocos2d-js在v3

gitblog_00332的博客 365

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Cocos2d-JS 官方文档

http://www.cocos2d-x.org/docs/tutorial/framework/html5/parkour-game-with-javascript-v3.0/chapter1/zh

qhexin的专栏 1745

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Cocos2d-JS 特效

Cocos2d-JS提供了很多特效,这些特效事实上属于间隔动作,特效类cc.GridAction类,也称为网格动作,它的类图如下图所示。 网格动作类图 网格动作 cc.GridAction它有两个主要的子类cc.Grid3DAction和cc.TiledGrid3DAction,cc.TiledGrid3DAction系列的子类中会有瓦片效果,如下图所示是Waves3

巴黎的妖 596

《三国之刃》动画、特效、UI编辑方案

(以下内容依据Cocos秋季峰会演讲速记稿整理)主持人王哲:蔡加庚是《三国之刃》的技术负责人,也是我多年的好友。这个项目所有人都极其低调,即使游戏经常上榜Top10,但几乎从未对外分享技术和运营经验。这次我们有幸请到了蔡加庚同学为我们分享《三国之刃》的动画特效制作经验,有请。演讲人蔡加庚:这个图标是我们这个游戏一周年的图标,其实这个游戏从头出来到现在其实已经有三年的历史。第一款叫《闯三国》,用的是...

Cocos的博客 102

Cocos2d-js____22种特效

常见的22种特效点击打开链接 CCShaky3D 作用:创建一个3d晃动的特效 参数1:晃动的范围 参数2:是否有z轴晃动 参数3:  网格大小 参数4:特效持续的时间 CCActionInterval * shaky3D= CCShaky3D::create(15, false, ccg(15, 10), 4); sp->runAction(shaky3D); CCS

宁静致远 1856

Cocos2d-JS特效

Cocos2d-JS提供了很多特效,这些特效事实上属于间隔动作,特效类cc.GridAction类,也称为网格动作,它的类图如下图所示。 网格动作类图 网格动作cc.GridAction它有两个主要的子类cc.Grid3DAction和cc.TiledGrid3DAction,cc.TiledGrid3DAction系列的子类中会有瓦片效果,如下图所示是Waves3D特效(c...

weixin_30291791的博客 90

Cocos2d-JS 使用定时器取消往图片、骨骼动画添加的shader

环境: win7 64位 Cocos2d-JS v3.0 (final) Cocos Code IDE v1.0.0.RC2

et_sandy的专栏 2259

Cocos2d-JS游戏导演

什么是游戏的导演   具体来说,Cocos2d-JS中的导演是一个对象,它负责设置游戏的运行环境,控制游戏的住循环并且管理场景和场景的切换。 导演的任务   Cocos2d-JS中导演对象名为:cc.director。下面是它主要的任务:   环境设定     首先,在进入游戏之前,导演对象会设置游戏的运行环境: 设置显示游戏的视图,包含视图的投射,像素格式,等等。设置游戏

vivi_12的博客 976

cocos2d-x初探学习笔记(8)--场景特效

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.youkuaiyun.com/bill_man 如何让场景中的所有都受一个动作特效的影响呢?可以使用树形结构,在场景中建立一个CCNode,然后将场景中会受特效影响的对象都挂在这个特效上就可以了,如下代码就做到了这点 可以看到,所有的对象都挂在了node上面,另外还要注意当

手机游戏开发学习笔记 1万+

Cocos2d-JS 学习笔记[1]

使用的cocos2d-js版本为:cocos2d-js-v3.0-alpha2 使用的cocos2d-html5版本为:Cocos2d-html5-v3.0 alpha 2

zhouyunxuan的专栏 4004

【引擎动态】Cocos2d-JS将默认开启iOS 8 WebGL完美支持

近日,苹果iOS 8系统的发布引来众多果粉为之疯狂,而对于手机网页游戏的开发者而言,iOS 8更带来了网页游戏开发的新潜能。在iOS 8中,Safari开始支持WebGL,相较之前性能较低的Canvas绘图模式,帧率的数倍提升将给用户带来更加流畅的游戏体验。作为开源游戏引擎Cocos2d-x的JavaScript版本,Cocos2d-JS 顺应开发者需求,将默认开启WebGL模式对iOS 8设备的...

Cocos的博客 226
上一篇: Cocos2d-JS 场景与层
下一篇: Cocos2d-JS 事件处理机制
AiCoding_D
博客等级 码龄11年 4粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值