Objekt wackelt hin und her

  • Objekt wackelt hin und her

    Hallöchen,
    Ich habe gestern eine kleine Pong-engine programmiert und da ist folgendes Problem aufgetaucht:
    Ich hab dem Computer-gegner-objekt gesagt (also programmiert) dass es im Stepevent
    mit ansteigender Geschwindigkeit (damit es immer schwerer wird den Computergegner auszuspielen)
    die y-achse des Ball-objekts annehmen soll.
    Das habe ich mit der Drag and Drop-funktion "move towards point" gemacht:

    Daten:
    x = 522
    y = obj_snowball.y
    speed = ki_speed (*Das ist die Variable die immer ansteigt*)

    Das funktioniert auch alles perfekt aber wenn der menschliche Spieler den Ball gerade spielt dann nimmt der Computergegner
    zwar auch die y-achse des Ball-objekts an aber ruckelt oder wackelt dann so leicht hin und her (von oben nach unten und umgekehrt).
    Wenn der Ball dann wieder schräg fliegt ist alles wieder ganz normal...
    Was habe ich falsch gemacht? ;(
    Ihc hab so voll den ij
  • Wahrscheinlich liegt es daran, dass die Geschwindigkeit ab einem bestimmten Punkt größer als
    der Abstand zur gewünschten Position ist. Dadurch schießt er übers Ziel hinaus und versucht dann,
    sich von der anderen Seite anzunähern, was wieder im selben Problem endet.
    Bau einfach noch eine Abfrage ein, die das Brett auf die Position setzt, wenn der Abstand kleiner
    als die Geschwindigkeit ist.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Also:

    GML-Quellcode

    1. if (abs(y-ball.y)<ki_speed) {
    2. y=ball.y;
    3. }
    4. else {
    5. if (x<ball.x) {
    6. y+=ki_speed;
    7. }
    8. else {
    9. y-=ki_speed;
    10. }
    11. }
    Alles anzeigen


    Edit: <ausrede>Ich wollte nur gucken, ob du den Code verstehst und nicht nur kopierst!</ausrede>

    Ne, ich habe es wirklich vertauscht. Ich ändere das trotzdem nochmal!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von maxda ()