我正在使用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。
答案 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曲线帮助我达到了与飞鸟相同的效果。它易于实施。