cocos2d-x Lua 之 CCMoveTo 误区

本文介绍了cocos2d-x Lua中使用CCMoveTo动作时可能遇到的常见误区,包括如何正确实现物体的移动效果,以及在实际开发中的注意事项。适合cocos2d-x Lua初学者和开发者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎各位童鞋转载,转载请注明出处:http://blog.youkuaiyun.com/song_hui_xiang

作者新浪微博:http://weibo.com/u/3168848533

作者腾讯微博:http://t.qq.com/song_huixiang

local sprite = CCSprite:create("Icon.png")
sprite:setPosition(ccp(300,400))
menuLayer:addChild(sprite)

local function getNowXY(sender)
    print("sprite x , y ==",sender:getPositionX(),sender:getPositionY())
end
local moveto1 = CCMoveTo:create(1,ccp(sprite:getPositionX(),sprite:getPositionY()+200))  --sprite:getPositionY()+200已经等于600
local call1 = CCCallFuncN:create(getNowXY)
local moveto2 = CCMoveTo:create(1,ccp(sprite:getPositionX(),sprite:getPositionY()-200))  --sprite:getPositionY()-200已经等于200
local call2 = CCCallFuncN:create(getNowXY)

local array = CCArray:create()
array:addObject(moveto1)
array:addObject(call1)
array:addObject(moveto2)
array:addObject(call2)

sprite:runAction(CCSequence:create(array))
--打印结果如下,而不是所认为的300 400,在执行动画之前两个CCMoveTo的坐标就已经固定值
-- [LUA-print] sprite x , y ==	300	600
-- [LUA-print] sprite x , y ==	300	200


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值