這裏是我的代碼:碰撞
-(void)collision {
if(CGRectIntersectsRect(ball.frame,center.frame)) {
center.alpha=0.1;
}
}
-(void)viewDidLoad {
[super viewDidLoad];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:7.0f];
[ball setCenter:CGPointMake(200, 100)];
[UIView commitAnimations];
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(collision) userInfo:nil repeats:YES];
}
我的問題是,當viewDidLoad中「center.alpha = 0.1」,但「中心」和「球」還沒有發生碰撞,我不知道爲什麼,我認爲這是由於動畫。
是的,但如果我不使用UIView動畫是非常困難的。由於「imageView」是在隨機位置創建的,它移動到屏幕的中心,因此如何使用定時器來做到這一點非常困難。 –
我認爲你需要更多地描述你想要達到的目標。您的問題(例如初始化球和中心位置)缺少代碼,這有助於回答您的原始問題。但我認爲你真正的問題可能是你正在嘗試解決問題的方法。 –
我的代碼在這裏:http://stackoverflow.com/questions/6505834/replace-a-uiview-animation-by-a-timer-animation –