【发布时间】:2014-09-15 04:59:43
【问题描述】:
我在 YouTube 上观看了有关制作 Flappy Bird 克隆的教程。代码使用CGPointMake() 和一个整数变量和一个计时器来在屏幕上上下移动小鸟,但我复制的代码不会导致小鸟移动。
Viewcontroller.h
int BirdFlight;
@interface ViewController : UIViewController{
IBOutlet UIImageView *Bird;
IBOutlet UIButton *StartGame;
NSTimer *BirdMovement;
}
- (IBAction)StartGame:(id)sender;
-(void)BirdMoving;
@end
Viewcontroller.m(所有更改)
@implementation ViewController
-(IBAction)StartGame:(id)sender{
StartGame.hidden = YES;
BirdMovement = [NSTimer timerWithTimeInterval:0.05 target:self
selector:@selector(BirdMoving) userInfo:nil repeats:YES];
}
- (void)BirdMoving {
Bird.center = CGPointMake(Bird.center.x, Bird.center.y - BirdFlight);
BirdFlight = BirdFlight - 5;
if (BirdFlight < -15) {
BirdFlight = -15;
}
if (BirdFlight > 0) {
Bird.image = [UIImage imageNamed:@"BirdUp.png"];
}
if (BirdFlight < 0) {
Bird.image = [UIImage imageNamed:@"2.png"];
}
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
BirdFlight = 30;
}
我不想使用任何其他方法来制作动画我只是想知道如何使代码像视频中那样工作。 (https://www.youtube.com/watch?v=RKG6fsM5JiA)
【问题讨论】:
-
因为您刚刚开始,所以要习惯使用正确的命名约定。属性、变量和方法名称应以小写字母开头。大写的类名。此外,无需将任何变量、属性或方法签名放在 .h 文件中,除非您想将它们公开给其他类。如果它们是供内部(类)使用的,则将属性和方法名称放在 .m 文件顶部的类扩展名中。
标签: ios objective-c cocoa-touch animation nstimer