0

まず、ここにすべてを宣言した.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];
    }
  }

ありがとう@エリオット・ペリー

4

1 に答える 1