这听起来可能真的很菜鸟,但我花了一整天的时间来解决这个问题,希望能得到一些帮助。
你看我有一个我在游戏中不止一次调用的方法。如果我使用[self myMethod];
它,它可以工作一次。然后当我再次调用它时,方法中的动画不再开始。
我需要的是用可以“分配”和“释放”的替代方法替换“自我”,以使我的动画正常工作。
我试过了;
@implementation gameViewController
gameViewController *object = [[gameViewController alloc] init];
[object myMethod];
然而,上面对 self 的替代甚至没有调用该方法。我不知道我做错了什么,它应该像“自我”一样工作。
有什么我想念的吗?你如何让类的对象像“self”一样工作?
非常感谢。
这是我的代码的更详细的外观;
[自爆动画];
- (void) explosionAnimations
{
UIImage *image = [UIImage imageNamed: @"Yellow Explosion.png"];
[bomb setImage:image];
[UIView beginAnimations:@"bomb1ExplosionIncrease" context:NULL];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];
bomb.transform = CGAffineTransformMakeScale(3.4, 3.4);
[UIView commitAnimations];
}
setImage 每次都可以正常工作。但是动画在该方法的第二次调用中停止工作。在控制台中,它会记录“动画完成”,而图像没有发生任何事情。
这使我相信“自我”以某种方式相信动画已经完成,并且不会再费心去做。所以我认为一个新的“alloc”可能会让它清醒。