Die Funktion didBegin() wird nicht aufgerufen

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

  • Die Funktion didBegin() wird nicht aufgerufen

    Hallo,

    mein Ziel ist es, dass ich die Berührung zweier Nodes prüfen kann. Dafür verwende ich SKPhysikBody und versuche dieses mit Hilfe der didBegin() Funktion zu prüfen. Wichtig ist noch, dass sich bei einer Berührung die Nodes nicht verschieben dürfen, sondern nur Code ausgegeben werden soll.

    Erste Node:

    Quellcode

    1. card.physicsBody?.categoryBitMask = UInt32(physicBodyCharacters.cardNumber)
    2. card.physicsBody?.collisionBitMask = UInt32(physicBodyCharacters.nobodyNumber)
    3. card.physicsBody?.contactTestBitMask = UInt32(physicBodyCharacters.anotherCardNumber)


    Zweite Node:

    Quellcode

    1. anotherCard.physicsBody?.categoryBitMask = UInt32(physicBodyCharacters.anotherCardNumber)
    2. anotherCard.physicsBody?.collisionBitMask = UInt32(physicBodyCharacters.nobodyNumber)
    3. anotherCard.physicsBody?.contactTestBitMask = UInt32(physicBodyCharacters.cardNumber)
    didBegin():

    Quellcode

    1. func didBegin(_ contact: SKPhysicsContact) {
    2. print("contact")
    3. let contanctMask = contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask
    4. switch contanctMask
    5. {
    6. case UInt32(physicBodyCharacters.cardNumber) | UInt32(physicBodyCharacters.anotherCardNumber):
    7. print("hit")
    8. default:
    9. break
    10. }
    11. }
    Alles anzeigen
    Ich wäre für jede Antwort sehr dankbar :) , da mich dieses Problem schon seit einiger Zeit beschäftigt. ?(
  • Du musst glaube ich das Contact Delegate Protokoll noch hinzufügen. Dort fügst du dann glaube ich ein, was passieren soll, wenn die Physicsbodys sich berühren. Schau dir mal am besten ein paar youtube Videos an, zum Thema Swift SpriteKit. Dort gibt es viele Leute, die sowas wie Flappy Bird oder Space Invaders programmieren. Darüber lerne ich auch teilweise.
  • CocoJumbo schrieb:

    Du musst glaube ich das Contact Delegate Protokoll noch hinzufügen. Dort fügst du dann glaube ich ein, was passieren soll, wenn die Physicsbodys sich berühren. Schau dir mal am besten ein paar youtube Videos an, zum Thema Swift SpriteKit. Dort gibt es viele Leute, die sowas wie Flappy Bird oder Space Invaders programmieren. Darüber lerne ich auch teilweise.
    Was genau muss ich denn an welcher Stelle schreiben? :/ Habe noch nie zuvor dieses Protokoll verwendet.