我有一个node
. 在这种特殊情况下,它是一个CCLayer
,但我正在寻找一个通用的解决方案。我的节点以 point1 为中心(比如说{ 100, 100 }
)。我希望它在几秒钟内移动到 point1(比如说{ 200, 200 }
) 。0.5
真的很简单的东西,对吧?但我只是没有找到我需要做的文档/教程。
提示?
谢谢!
额外得分:CC3Node
如果答案不同,则与 a 相同的问题。:)
我有一个node
. 在这种特殊情况下,它是一个CCLayer
,但我正在寻找一个通用的解决方案。我的节点以 point1 为中心(比如说{ 100, 100 }
)。我希望它在几秒钟内移动到 point1(比如说{ 200, 200 }
) 。0.5
真的很简单的东西,对吧?但我只是没有找到我需要做的文档/教程。
提示?
谢谢!
额外得分:CC3Node
如果答案不同,则与 a 相同的问题。:)
您可以使用 runAction 移动继承 CCNode 的任何内容:[CCMoveTo actionWithDuration: 0.5 position:ccp(x,y)]
http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:actions
// 假设你已经有了一个名为“myLayer”的 CCLayer
[myLayer runAction:[CCMoveTo actionWithDuration:0.5 position:ccp(200,200)]];
编辑:重新阅读问题后更改为 CCMoveTo 而不是 CCMoveBy。
/*
移动整个层,包括他所有的孩子(精灵、标签等)。将此代码插入您的“init”方法中,该方法属于您要移动到新点的图层。X 和 Y 正是图层相对于其中心的新位置的坐标。
示例:x = 0;x = 100; 在这种情况下,图层将垂直移动。
*/
x = ?; // X value
y = ?; // Y value
[self runAction:[CCMoveTo actionWithDuration:5.0f position:ccp(x, y)]];
您是在尝试移动图层还是您的图层是否包含您想要移动的精灵?我不确定是否甚至可以移动包含子节点(ccnodes、ccsprites 等)的图层(或图层堆栈)。
我的建议是使用 ccanimation/ccmoveby/ccmoveto/etc 移动图层子元素。