Sprite Kit applyImpulse und applyForce

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

  • Sprite Kit applyImpulse und applyForce

    Hallo Zusammen,

    ich mache gerade eine merkwürdige Beobachtung bezüglich applyImpulse und applyForce. Ich möchte gerne, dass beides auf ein Objekt einwirkt - leider ohne Erfolg.

    Quellcode

    1. float multiplier = 0.2;
    2. CGPoint velocity = [self.panGestureRecognizer velocityInView:self.panGestureRecognizer.view];
    3. CGPoint p = multiplyPoint(velocity, multiplier);
    4. CGVector vect = CGVectorMake(p.x, -p.y);
    5. [self.selectedNode.physicsBody applyImpulse:vect];
    6. // try a force
    7. [self.selectedNode.physicsBody applyForce:CGVectorMake(-vect.dx*3, vect.dy*3)];


    Ich erwarte bei obigen Code das Selected Node in eine Richtung beschleunigt wird und langsam durch die Force vom Weg abkommt. Da das Objekt verlangsamt wird (hieß das Attribut damping?), müsste es irgendwie eine Art Bogen laufen.

    Tatsächlich geht die Node schnurstracks gerade aus. Wenn ich den Impulse auskommentiere wirkt die Force allein. Kann man beides nicht mit einander kombinieren?

    Danke für euren Input.
  • Mac & i Test Abo
  • BTW: bekommst du so keinen Bogen in die Bewegung, sondern eine Schräge.
    Dein Velocity-Vektor geht in Richtung -y, die Force wirkt auf die X-Achse, folglich ergibt das eine Diagonale, aber keinen Bogen.
    Wenn du nen Bogen willst, nimm einfach sin, cos für die beiden Velocity-Werte
  • wolf_10de schrieb:

    BTW: bekommst du so keinen Bogen in die Bewegung, sondern eine Schräge.
    Dein Velocity-Vektor geht in Richtung -y, die Force wirkt auf die X-Achse, folglich ergibt das eine Diagonale, aber keinen Bogen.
    Wenn du nen Bogen willst, nimm einfach sin, cos für die beiden Velocity-Werte


    Selbstverständlich führt eine orthogonal zur Bewegungsrichtung angelegte Kraft zu einem Bogen und nicht zu einer Diagonale.
    Eine Kraft ist beschleunigend. Beispiel: Gerader Wurf, Flugzeug im Sinkflug, ... (Erdbeschleunigung)

    LG