CGRectIntersectsRect auf eine Berührung beschränken (Anfängerfrage)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • CGRectIntersectsRect auf eine Berührung beschränken (Anfängerfrage)

    Hallo hier im Forum,

    ich bin blutiger Anfänger was Xcode betrifft und bringe es mir seit kurzem selbst bei. Habe vorher Hauptsache Online-Development gemacht und möchte jetzt meinen technischen Horizont erweitern:)

    Aber jetzt zu miner Frage.

    Ich hab ein simples kleines 2D-Spiel programmiert was dem "Helikoptergame" sehr nahekommt. Ein Heißluftballon muss einer Meute Vögel ausweichen die alle 0.1 sek 4punkt auf ihn zukommen. Wenn es zu einer Kollision kommt, wird das Spiel beendet:

    Quellcode

    1. -(void)Collision{
    2. if (CGRectIntersectsRect(Balloon.frame, Bird1.frame)){
    3. [self EndGame];
    4. }
    5. }


    Das hat super funktioniert, weshalb ich als "Gegenstück" einen Bonus-coin integriert habe, der bei Berührung +20 auf dem Highscore bringen soll:

    Quellcode

    1. if (CGRectIntersectsRect(Balloon.frame, coinCollect.frame)){
    2. [self Bonus];
    3. }
    4. -(void)Bonus{
    5. ScoreNumber = ScoreNumber + 20;
    6. Score.text = [NSString stringWithFormat:@"Score: %i", ScoreNumber];
    7. coinCollect.hidden = YES;
    8. }
    Alles anzeigen


    Das hat ebenfalls super geklappt. Allerdings berechnet das System die Punkte nach der Zeit der Intersection, nicht der Anzahl der Berührungen. Also bringt mir das Durchfliegen einer Münze zwischen 20-??? Punkte aufs Konto, obwohl ich nur 20 will.

    Wie kann ich CGRectIntersectsRect auf eine Berührung beschränken?

    Über eine helfende Antwort würde ich mich sehr freuen!

    LG

    Doyle