博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quick-cocos2d-x3.3 Study (十一)--------- 让物体从屏幕的外边移动到屏幕中指定位置...
阅读量:6911 次
发布时间:2019-06-27

本文共 1753 字,大约阅读时间需要 5 分钟。

让物体从屏幕的外边移动到屏幕中指定位置、

代码:

1     -- 添加动画, 2     -- 1. 创建冰菇的第一个图片, 3     -- 2. 设置图片位置, 4     -- 3. 将图片添加到场景中, 5     self.player = display.newSprite( "#binggu_01.png" ) 6     self.player:align( display.CENTER, - self.player:getContentSize().width, display.cy ) 7     self.player:addTo(self) 8  9     -- 创建一个包含flying1.png到flying4.png的4个图像帧对象的数组10     local frames = display.newFrames( "binggu_0%d.png", 1, 7 )11 12     -- 以包含图像帧的数组创建一个动画 Animation 对象13     local animation = display.newAnimation( frames, 0.3 / 4 )14 15     -- 在显示对象上循环播放动画,并返回 Action 动画动作对象16     transition.playAnimationForever( self.player, animation )17 18     -- 创建动作,顺序执行的动作19     -- 1. 移动到屏幕的中间位置20     -- 2. 打印移动到的位置坐标21     local action = transition.sequence( 22         {23             cc.MoveTo:create( 5, cc.p( display.cx, display.cy ) ),24             cc.CallFunc:create( 25                 function ()26                     print("----  player:getPosition()  ----", self.player:getPosition() )27                 end )28         }29     )30     -- 让player执行这个动作31     self.player:runAction(action)

 

在这个函数中,

我们先从动画缓存中取得了我们需要的动画,

然后让 self.player 主角不停的播放这个动画;

接着又创建了一个动作(action)让 self.player 执行。

 

transition.sequence() 方法能创建一个 Sequence 动作序列对象,

Sequence 类型的对象能使一个 Node 顺序执行一批动作,

这里创建了一个先执行 MoveTo 动作,

等 MoveTo 动作执行完后再执行 CallFunc 动作的对象。

通俗一点说它的作用就是,先移动到屏幕的(display.cx, display.cy)点,在调用 function()中的print()方法。

 

MoveTo 动作应该不难理解,因为第四章我们也讲过它的兄弟 MoveBy。

MoveBy 动作能使节点从当前坐标点匀速直线运动到相对偏移了一定向量的位置上。

而 MoveTo 则能使节点从当前坐标点匀速直线运动到指定的位置坐标上。

它们的移动位置一个是相对的,一个是绝对的,这也是Cocos 引擎中所有以 To,By 为后缀的动作的主要区别。

 

CallFunc 动作是个函数回调动作,它用来在动作中进行方法的调用,

个人觉得它是非常有必要存在的一个动作。

因为很多时候,当某些动作完成后,需要执行一些数据或逻辑上的处理

(比如,一个敌人播放完死亡动画后需要把它移除并清理内存),

这时使用函数回调动作 CallFunc 就是再好不过的。

 

结果:

 

转载于:https://www.cnblogs.com/dudu580231/p/4822617.html

你可能感兴趣的文章
网络编程
查看>>
zookeeper选举机制
查看>>
python输入输出语句
查看>>
无法连接LINUX中的MYSQL
查看>>
HTTPS时代的到来是大势所趋!阿里云CDN如何助力企业网站进入HTTPS时代
查看>>
Linux 积极使用swap空间
查看>>
【云计算的1024种玩法】第1招:制作一个浪漫的表白网页
查看>>
对象转换为数组
查看>>
label与input的结合方式
查看>>
单点登录实现原理(SSO)
查看>>
Mui框架支持微信支付宝支付源代码
查看>>
文件和目录权限
查看>>
su命令,sudo命令,限制root远程登录
查看>>
LINUX系统学习笔记Shell基础(一)认识shell、命令历史、命令补全、别名、通配符、管道符与前后台控制...
查看>>
有监督学习、无监督学习
查看>>
mybatis源码阅读(五) ---执行器Executor
查看>>
安装zibbix
查看>>
设计缓存系统该注意的问题
查看>>
svn服务器搭建
查看>>
[官方翻译]RabbitMQ生产上线前准备
查看>>