これは本当に初心者に聞こえるかもしれませんが、私はこの問題と格闘するのに丸一日を費やしました。
ゲームプレイ内で複数回呼び出すメソッドがあることがわかります。私が使用すると、1[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 は毎回正常に動作します。しかし、メソッドの 2 回目の呼び出しでアニメーションが停止します。コンソールでは、「アニメーションが完了しました」とログに記録され、画像には何も起こりません。
これは、どういうわけか「自己」がアニメーションがすでに行われていると信じており、もう一度やり直すつもりはないと私に信じさせます. だから私は、新しい「割り当て」がそれを目覚めさせるかもしれないと思った.