我一直在关注Ray Wenderlich的教程(http://codeviewer.org/view/code:1d8b)中的代码片段。我正在尝试做几乎相同的事情,除了我使用spritesheet(batchnode),我希望目标/敌人从屏幕的右侧(任何高度)产生,并移动到左侧(在同一高度)。这是我的代码。 (http://codeviewer.org/view/code:1d8c)。
额外信息 - “鼹鼠”是我的目标/敌人。在前几行旁边注释掉的代码(//)就是我的笔记。 编辑 - 看看我对mjvotaw答案的评论。
答案 0 :(得分:-1)
有关创建从随机点开始向目标移动的敌人的信息,请参阅this tutorial。这只是页面上的一小部分。
编辑:
要创建随机Y生成点,请执行以下操作:(假设您使用的是cocos2d)
// Define these at the top of the .m file
#define ARC4RANDOM_MAX 0x100000000
#define RAND_FLOAT ( (float)arc4random() / ARC4RANDOM_MAX )
- (CGPoint)pointWithRandomYAtX:(float)locationX
{
CGSize size = [[CCDirector sharedDirector] winSize];
return CGPointMake(locationX, RAND_FLOAT * size.height);
}
然后简单地将“痣”的位置设置为该点。
答案 1 :(得分:-1)
如果你想将鼹鼠精灵放在右侧的随机位置,你应该可以这样做:
[mole setPosition: ccp(winSize.width - [mole contentSize].width, arc4random() % winSize.height)];
将痣设置在最右边缘,沿y轴的随机点。 然后,使用CCMoveTo而不是actionMove,您可以使用CCMoveBy,将位置设置为ccp(-winSize.width,0)。
如果这不是你想要的,也许你应该重新考虑如何提问。