在了解cocos2d的过程中,看到了MoveTo和MoveBy两个动作 ,刚开始完全有点模糊两个动作所做的事情 ,cocos2d中国官网给出的解释如下:
By 和 To 的区别
你能注意到,每一个动作都会有两个方法 By 和 To。两种方法方便你在不同的情况使用,By 算的是相对于节点对象的当前位置,To 算的是绝对位置,不考虑当前节点对象在哪。如果你想动作的表现是相对于 Node
当前位置的,就用 By,相对的想让动作的表现是按照坐标的绝对位置就用 To。
其实解释的也比较清楚了,奈何不能形成长久记忆,于是决定用代码来帮助自己记忆这两个动作的区别。
首先在界面上创建一个精灵:
local sprite = CCSprite:create("ic_launcher.png")
sprite:move(display.cx,display.cy):addTo(self)
效果如下图,看中间那个小绿人:
然后,首先调用MoveTo:
local movePathTo = cc.MoveTo