まず、ここにすべてを宣言した.hファイルコードがあります...
@interface NextlLevel : UIViewController{
IBOutlet UIImageView *Coin1;
int score;
IBOutlet UILabel *scorelable;
}
@property (nonatomic, assign) int score;
@property (nonatomic, retain) IBOutlet UILabel *scorelable;
@end
また、実装を .m ファイルに合成しました。コードは次のとおりです...
@synthesize score;
@synthesize scorelable;
次に、ドラッグ可能な画像が静止画像と衝突したかどうかを確認するコードがあります。これがコードです...
-(void) ifCollided {
if(CGRectIntersectsRect(Coin1.frame,MoneyBag.frame)){
Coin1.hidden = YES;
}
}
このコードは、衝突をチェックする基本的な方法にすぎませんが、画像が衝突したら、ラベルに表示される int に追加したいと考えています。私がこれを行うことができると思った唯一の方法は...
まず、このコード行を「ifCollided」に追加します
[self scorecheck];
したがって、「ifCollided」は次のようになります。
-(void) ifCollided {
if(CGRectIntersectsRect(Coin1.frame,MoneyBag.frame)){
Coin1.hidden = YES;
[self scorecheck];
}
}
第三に、私は「スコアチェック」をしなければなりませんでした...
-(void)scorecheck{
score++;
scorelable.text = [NSString stringWithFormat:@"%i", score];
}
}
これは、現在使用しているコードが正しく機能していないことを示す画像です。したがって、0 に設定した int に 1 つだけ追加するだけではありません。スコア ラベル (画面の上部) に int を表示しています。タッチしている限り、コードが正しく機能しないため、画像の境界で衝突ルール (この場合はお金の袋) と衝突している間、ドラッグ アンド ホールドします。
これが私が話していた画像です:
どんな助けでも大歓迎です
編集:これが私がvoid ifCollidedでやろうとしていたことです
-(void) ifCollided {
if (!Coin1.hidden)
{
Coin1.hidden = YES;
[self scorecheck];
}
}
ありがとう@エリオット・ペリー