Loops 如何在代码中调用UIView动画
关于UIView动画,我有一个相当简单的问题,但我花了一整天的时间试图解决 我想实现一个UIView动画,它将由代码内部的事件触发。这意味着它不是由用户按下按钮触发的,也不是由视图加载触发的,它将由游戏中发生的事情触发(图像的爆炸效果) 到目前为止,我看到的教程和视频都在viewDidLoad中声明了它们的UIView动画,这对我来说不起作用,因为我不希望动画立即发生 有些人把它写在用户手指触发的“触摸”中。这也行不通,因为人的触摸不会启动动画 我的游戏使用了计时器和“gameLoop”,因此当我在main方法中编写动画代码时,它会在1秒内被调用100多次(我在控制台中看到动画重复的日志) 我认为这是因为main方法连接到主计时器,它每1秒刷新一次 如果我希望UIView动画只调用一次而不是无限次,我应该在哪里键入代码 我应该为动画创建一个新方法吗?如果有的话,我怎么称呼这个方法呢Loops 如何在代码中调用UIView动画,loops,animation,uiview,timer,game-loop,Loops,Animation,Uiview,Timer,Game Loop,关于UIView动画,我有一个相当简单的问题,但我花了一整天的时间试图解决 我想实现一个UIView动画,它将由代码内部的事件触发。这意味着它不是由用户按下按钮触发的,也不是由视图加载触发的,它将由游戏中发生的事情触发(图像的爆炸效果) 到目前为止,我看到的教程和视频都在viewDidLoad中声明了它们的UIView动画,这对我来说不起作用,因为我不希望动画立即发生 有些人把它写在用户手指触发的“触摸”中。这也行不通,因为人的触摸不会启动动画 我的游戏使用了计时器和“gameLoop”,因此当
感谢所有能帮忙的人 这样做很容易:
@property (nonatomic) BOOL explosionHappened;
- (void)gameLoop {
// <lots of your code here>
if (explosionHappened) {
[UIView animateWithDuration:1.0 animations:^{whatever-you-like;}];
explosionHappened = NO;
}
}
@属性(非原子)布尔爆炸发生;
-(无效)游戏循环{
//
如果(发生爆炸){
[UIView animateWithDuration:1.0动画:^{任意;}];
爆炸发生=否;
}
}