cocos2d的常用动作及效果总结之一: Basic actions(转)

cocos2dx之旋转的button 一般游戏的主界面按钮的摆放,都是中心垂直对齐,如果弄得稍微炫一点,就是下面的这种效果,也就是本篇要讲解的内容: 阅读详情

在官方网站上,对cocos2d所提供的动作(action)转化(Transformations)以及效果(effect)做了如下分类


Basic actions
Composition actions
Ease actions
Effect actions
Special actions
Animation

下面将对我使用过的类及方法做一个说明,随着本人实际使用的情况会不断补充内容。


这一篇先介绍Basic Action,包含了基本的移动,旋转,淡入淡出等动作。

CCMoveBy ,CCMoveTo

用来移动精灵,使用方法如下(以CCMoveBy为例):

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  CCMoveBy* moveby = [CCMoveBy actionWithDuration:1.0f position:ccp(100, 50)];  [sprite runAction:moveby];

参数actionWithDuration是指执行动作所花的时间,单位是秒,当然你自己写的时候也可以采用计算获得,本例力求简单,所以直接写了 "1.0f" 意思是一秒钟。 
第二个参数 position,意思就是移动的位置。

CCMoveBy 和 CCMoveTo的区别是,By 是相对坐标,如上例,位置参数是ccp(100,50),意思就是说,向右移动100个单位,向上移动50个单位;如果换成To的类,那么就是移动到坐标 (100,50)位置。

其实你会看到很多类似的 用 To 和 By 来区分的类,都是 “绝对” 和 “相对” 的区别。

CCJumpBy ,CCJumpTo

用来产生跳跃效果,个人感觉如果要产生逼真的跳跃效果,下面是示例。

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  CCJumpBy* jump = [CCJumpBy actionWithDuration:1.0f position:cpp(80,0) height:20 jumps:1];  [sprite runAction:jump]; 

这里要说一下的参数是height和jump。


height,其实就是跳跃的高度,当时让我比较困惑的是 xcode提示这个参数的类型是ccTime,不知道是不是失误,总之不要去在意他的类型,我的感觉它和position的单位是一致的。
jump,是整形,意思是跳跃几次。

CCBezierBy,CCBezierTo 

这个跟移动很像,只是这个是按设定的曲线移动的。Bezier 中文翻译叫贝赛尔曲线或是贝兹曲线,关于这种曲线可以参考维基百科的内容。

简单的来说,就是你设定三个点,然后它会计算出一条曲线通过这三个点,然后精灵就会按照这个曲线运动。示例如下:

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  ccBezierConfig bezier;  bezier.controlPoint_1 = ccp(100,200 );  bezier.controlPoint_2 = ccp(200, -100);  bezier.endPosition = ccp(400,100);  CCBezierBy* bez = [CCBezierBy actionWithDuration:5.0f bezier:bezier];         [sprite runAction:bez];

CCRotateBy, CCRotateTo

用于旋转精灵,以度为单位,示例:

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  CCRotateBy* rotate = [CCRotateBy actionWithDuration:1.0f angle:360];  [sprite runAction:rotate];

CCBlink

实现闪烁效果,示例如下:

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  CCBlink* blink = [CCBlink actionWithDuration:1 blinks:5];//动作声明,一个闪烁动作  [sprite runAction:blink];//让节点闪烁

actionWithDuration:像往常一样,是以秒为单位,意思是闪烁几秒钟。
blinks: 是闪烁的次数。

上面这个例子的意思就是,在一秒钟内闪烁5次。

CCFadeIn,CCFadeOut, CCFadeTo

这三个是用来调整 透明度的,可以实现淡入,淡出效果,CCFadeTo用来调整到指定的透明度。

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  CCFadeOut* fade =[CCFadeOut actionWithDuration:1.0f];  [sprite runAction:fade];  

上面是淡出效果,淡入类似。

CCSprite* sprite = [CCSprite spriteWithFile:@"sprit.png"];  CCFadeTo* fadeto =[CCFadeTo actionWithDuration:1.0f opacity:100];  [sprite runAction:fadeto];

CCFadeTo 相比前两个多了一个指定透明度的参数 opacity,这个参数的类型是GLubyte,值的范围是 0~255, 0 是完全透明, 255是完全不透明。

Reverse Action

几乎所有的动作都实现了 reverse 方法,这个方法用来反转动作,示例如下:

id move = [CCMoveBy actionWithDuration:2  position: ccp(80,80)];  id move_reverse = [move reverse];

上面这个例子就是,首先创建了一个 动作 “move”, 在两秒钟之内向右移动80, 同时向上方移动80。而 move_reverse 将动作反转,即,向左及向下移动80。

我个人经常在 CCSequence中使用,比如用来实现摆动,再reverse一下摆动回来。这样就不需要再定义一个新的动作了。

转自:http://hi.baidu.com/flwblog/blog/item/769c219b716d21a8c8eaf478.html

GD32F4系列定时器正交译码器实战:用TIMER1读取旋转编码器信号(附完整代码) 本文详细介绍了GD32F4系列定时器正交译码器的实战应用,重点讲解如何使用TIMER1模块高效读取旋转编码器信号。内容涵盖硬件连接、定时器配置、方向判断与速度计算等关键环节,并提供了完整的代码实现和优化建议,帮助开发者快速掌握GD32微控制器在工业控制和消费电子领域的编码器接口设计。 阅读详情

相关推荐

TikTok滑块验证码verifyV2逆向实战:从fp生成到captchabody加密的完整流程解析

本文详细解析了TikTok滑块验证码verifyV2的逆向工程全流程,从fp参数生成到captchabody加密机制,涵盖了验证码触发、WASM解密、轨迹模拟等关键技术点。通过实战案例和代码示例,帮助开发者深入理解反爬机制,提升逆向工程能力,应对复杂的验证挑战。

weixin_28568819的博客 474

(转)cocos2d的常用动作及效果总结之一: Basic actions

在官方网站上,对cocos2d所提供的动作(action)转化(Transformations)以及效果(effect)做了如下分类 [code="java"]Basic actions Composition actions Ease actions Effect actions Special actions Animation[/code] 下面将对我使用过的类及方法做一个...

北极 225

DataEaseV2.9 本地开发环境搭建与调试指南

本文详细指导如何搭建DataEase V2.9的本地开发环境,涵盖从软件准备、源码获取、数据库初始化到在IDEA中配置、编译和调试的全过程。重点解决了本地运行环境的关键配置与常见问题,帮助开发者高效开启DataEase的定制化开发与二次开发。

weixin_29290863的博客 141

cocos2d-x Action 动画

从http://blog.youkuaiyun.com/lnb333666/article/details/16858635

Future Of Magic 1210

A-Level经济例题解析及练习Opportunity Cost

例题Question: Opportunity CostYou are selling your 1996 Mustang.  You have already spent $1000 on repairs. At the last minute, the transmission dies.  You can pay $600 to have it repaired, or sell the car “as is.”In each of the fol

Alevel3的博客 744

【Mac+CLion+STM32+JLink】从零到一:在macOS上构建高效STM32开发与调试工作流

本文详细介绍了在macOS上使用CLion、STM32CubeMX和JLink搭建高效STM32开发与调试工作流的完整指南。从环境准备、CLion深度配置到STM32CubeMX工程实战,再到JLink烧录避坑和串口调试技巧,帮助开发者快速掌握Mac平台下的嵌入式开发全流程。

weixin_28278377的博客 254

cocos球上行走

Vec3.transformQuat(u2, v3(0,0,1), this.node.rotation) //计算向量。let rad = misc.degreesToRadians(this.z1) //度数转弧度。let u1 = quat() //四元数。

weixin_45514287的博客 222

LDO 上电过冲的根因

LDO在上电瞬间常出现短时过冲电压(3.4V-3.5V),可能损坏敏感器件。其根本原因是:低

硬核科技 291

Cocos Creator 的 动作(Action)系统:moveBy的使用

在 Cocos Creator 中,动作简单来说就是 节点的位移、缩放和旋转。 // Player.js properties: { //... }, setJumpAction: function () { // 跳跃上升 var jumpUp = cc.moveBy(this.jumpDuration, cc.v2(0, this.jumpHeight)).easing(cc.easeCubicActionOut());

Dust的博客 1939

Python爬虫实战:深度解析B站弹幕异步采集技术与数据可视化

title=f"弹幕词云 Top 100 (BV: {bvid})", title_textstyle_opts=opts.TextStyleOpts(font_size=23).add(series_name="弹幕词云", data_pair=list(top_100_words.items()), word_size_range=[20, 100]).add_xaxis([f"{i}-{i+1}分" for i in range(len(time_distribution))])

2201_76125261的博客 640

PCL 基于视椎体裁剪点云

PCL 基于视椎体裁剪点云

dayuhaitang1的博客 4083

runaction 旋转_使用动作系统

在 Cocos Creator 中使用动作系统动作系统目前已不推荐使用,未来将逐步移除,建议使用 缓动系统 做为替代。动作系统简介Cocos Creator 提供的动作系统源自 Cocos2d-x,API 和使用方法均一脉相承。动作系统可以在一定时间内对节点完成位移,缩放,旋转等各种动作。需要注意的是,动作系统并不能取代 动画系统,动作系统提供的是面向程序员的 API 接口,而动画系统则是提供在编...

weixin_30991277的博客 405

使用MATLAB和Simulink来创建一个智能家居照明控制系统的仿真模型

智能家居中的智能照明控制系统旨在通过自动化手段优化家庭照明,提高能源效率和居住舒适度。这通常涉及传感器(如光敏传感器、运动传感器)、控制器(如微控制器或PLC)以及执行器(如调光器或开关)。在这个教程中,我们将使用MATLAB和Simulink来创建一个智能家居照明控制系统的仿真模型。

xiaoheshang_123的博客 217

runaction 旋转_(转)cocos2d的常用动作及效果总结之一: Basic actions

Basic actionsComposition actionsEase actionsEffect actionsSpecial actionsAnimation下面将对我使用过的类及方法做一个说明,随着本人实际使用的情况会不断补充内容。这一篇先介绍Basic Action,包含了基本的移动,旋转,淡入淡出等动作。CCMoveBy ,CCMoveTo用来移动精灵,使用方法如下(以CCMoveBy...

weixin_34297395的博客 219

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

cocos2d的常用动作及效果总结之一: Basic actions

cocos2d的常用动作及效果总结之一:Basic actions       以下文本转载自:http://hi.baidu.com/flwblog/blog/item/769c219b716d21a8c8eaf478.html ,感谢原作者。            在官方网站上,对cocos2d所提供的动作(action)转化(Transformations)以及效果(effec

tangaowen的专栏 1123

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

FreeRTOS中vTaskSuspendAll不是关中断,而是关调度器

在嵌入式实时操作系统中,临界区保护是保障数据一致性的核心机制。其本质涉及硬件并发(中断抢占)与软件并发(任务切换)两个正交维度。FreeRTOS提供的vTaskSuspendAll和xTaskResumeAll并非屏蔽中断,而是暂停调度器——即冻结任务上下文切换,但允许中断正常触发与执行。这一机制避免了关全局中断导致的SysTick停摆、定时器失效、看门狗复位等严重副作用,适用于执行时间极短、不被ISR访问的纯任务级临界操作。而当共享资源同时被任务和中断服务程序(ISR)访问时,则必须配合taskENTER

weixin_34056162的博客 400

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

cocos2d-基本概念(1)-Basic actions基本动作

Action就好像给一个cocosNode对象的命令。这些动作通常用来改变物体的属性,例如位置,旋转,缩放等。如果这些属性在一段时间只能被修改的话,那么这中叫做 IntervalAction 的Action。否则,它们叫做InstantAction 的动作。   例如:MoveBy 动作,在一段时间之内,改变了位置这个属性 ,也就是说它是一个IntervalAction的Action。...

weixin_34372728的博客 84

6.【cocos2d翻译系列】Basic actions

Actions(动作) actions是对于CCNode的对象有意义的。这些actions通常修改对象的一些属性,例如:位置,旋转角度,缩放比例,等。 如果这些属性实在一个时间段内修改的,那它们不是CCIntervalAction(慢慢地修改)就是CCInstantAction (瞬时修改)。 例如: //Move a sprite 50 pi

Apple Development 620

cocos2d入门必知:Director、Scene与Layer三层架构完整图解指南

**cocos2d** 是一个面向 Python 的开源 2D/3D 游戏与多媒体图形库,其核心设计就是 **Director(导演)→ Scene(场景)→ Layer(层)** 的三层架构。看懂这三者的分工,你就掌握了 cocos2d 应用开发的骨架:Director 管理窗口与主循环,Scene 对应游戏的每个"画面",Layer 则是叠加在每个画面上的透明图层。本指南将带你 10 分钟吃透

gitblog_01180的博客 890

runaction 旋转_运行动作(基础总结)【七个基本动作】【三个动作列表】

①移动(Move)MoveTo和MoveBy代表绝对坐标和相对坐标。1 //在两秒内把节点(目标)移动到绝对坐标(50,0)2 auto moveTo = MoveTo::create(2, Vec2(50, 0));3 //节点运行动作4 mySprite->runAction(moveTo);5 //在两秒内把节点(目标)移动到相对坐标(50,0)【相当于向右移动50像素】6 auto ...

weixin_42548782的博客 686

Cocos2d-x动作(Action)详解

Cocos2d-x动作(Action)详解   动作(Action)的功能就和字面含义一样,它通过改变一个Node对象的属性,让它表现出某种动作。动作对象能实时的改变Node的属性,任何一个对象只要它是Node的子类都能被改变。比如,你能通过动作对象把一个精灵从一个位置移动到另外一个位置。   通过MoveTo和MoveBy方法: //在两秒内,移动一个精灵到(50,10)的位置 auto moveTo = MoveTo::create(2,Vec2(50,10)); mySprite1->runAc

田螺姑娘的博客 4372

cocos2d各种动作的使用(变色、跳动、旋转、闪烁、悬挂、放大缩小、渐变、animation)

用到的知识: ***To: 意味着运动到指定的位置。 ***By:意味着运动到按照指定癿 x、y 增量的位置。(x、y 可以是负值) 移动到 – CCMoveTo 移动– CCMoveBy 跳跃到 – CCJumpTo 设置终点位置和跳跃癿高度和次数。 跳跃 – CCJumpBy 设置终点位置和跳跃癿高度和次数。 放大到 – CCScaleTo

NightWish 9188

cocos2d游戏 旋转角度

为了旋转,我们首先需要计算出旋转的角度。为了解决这个问题,想想我们在高中时候学过的三角代数吧。还记得sin cos tan吗?为了便于理解,下面使用一张图来解释一下:tan = 对面/邻边。   如上所示,我们想要旋转的角度是arctangent(angle),即对offY/offX求arctangent运算。   然而,这里还有两件事情,我们需要放在心上。首先,当我们计算actangen

森... 3644

cocos2d-x 使用action实现各种动画效果

猴子原创, 欢迎转载,转载请在明显处注明! 谢谢。 原文地址:http://blog.youkuaiyun.com/yanghuiliu/article/details/6933352 做项目遇到了很多动画效果,基本大多数使用action实现的,当然也可以自己在每一帧的时候自己去实现,原理基本一样的。 1、使用CCMoveTo左右快速抖动。 CCPoint pointL=pointBg...

移动开发记录 286
上一篇: Objective-C中的SEL、IMP和Class类型(转)
下一篇: 面向对象的23种设计模式简介
woodcol
博客等级 码龄19年 288粉丝 429原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值