0

我正在用 cocos 2d v2 制作游戏,并且想知道如何使我的控件类似于 Flappy Bird,以便当你点击它时它会慢慢向上移动,当你松开它时它会下降。

我正在尝试使用 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。

4

3 回答 3

0

考虑到 Flappy 使用物理,因此您必须在继续编程之前启用它。

其次,您需要启用内部触摸didLoadFromCCB

self.userInteractionEnabled = TRUE;

然后你可以applyImpulse在里面使用ccTouchesBegan

- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
[_hero.physicsBody applyImpulse:ccp(0, 400.f)];
}
于 2014-04-27T16:28:41.097 回答
0

试试这个教程:

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

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

于 2014-03-25T21:50:52.140 回答
0

我在不使用物理的情况下只使用 cocos2d 就做了类似飞扬小鸟的游戏。CCbezier 曲线帮助我实现了与 flappy bird 相同的效果。它易于实施。

于 2014-05-08T10:04:20.037 回答