如何在cocos2d中制作类似于飞扬鸟类的控件

时间:2014-03-25 21:33:48

标签: objective-c cocos2d-iphone flappy-bird-clone cocos2d-iphone-2.x

我正在使用cocos 2d v2进行游戏,并且想知道如何使我的控件类似于飞扬的鸟类,所以当你点击它时,它会慢慢向上移动,当你放开它时它就会掉落。

我正在尝试使用ccTouchesBegan和ccTouchesEnded,但这不是很正常。以下是我到目前为止的情况:

-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    Y += 3; 
   [self schedule:@selector(movePlayer:)interval:1.0f/60.0f];
}

-(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    Y -= 2; 
   [self schedule:@selector(movePlayer:)interval:1.0f/60.0f];
}

-(void)movePlayer:(ccTime)dt{ 
    player.position = ccp(player.position.x, player.position.y + Y);
}

Y变量只是在我的头文件中初始化为0的int。

3 个答案:

答案 0 :(得分:0)

试用本教程:

https://www.makegameswith.us/gamernews/369/build-your-own-flappy-bird-with-spritebuilder-and

我不知道您是否可以访问本教程中使用的SpriteBuilder,但它帮助我创建了一个非常真实的Flappy Bird克隆。

答案 1 :(得分:0)

考虑到Flappy使用物理,所以你必须在继续编程之前启用它。

其次,您需要在didLoadFromCCB

中启用触控功能
self.userInteractionEnabled = TRUE;

然后您可以在applyImpulse

中使用ccTouchesBegan
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
[_hero.physicsBody applyImpulse:ccp(0, 400.f)];
}

答案 2 :(得分:0)

我没有使用物理学而只是使用cocos2d做了类似游戏的飞鸟。 CCbezier曲线帮助我达到了与飞鸟相同的效果。它易于实施。