Move Towards

  • GM 8
  • Move Towards

    Hallo

    Ich habe wiedermal ein Problem;

    Mit der Move Towards funktion beim Feind ist es ja möglich, dass dieser den Player verfolgt (Also: Feld x: player.x; Feld y: player.y). Nun, jetzt habe ich folgendes Problem:

    Ich habe einen Player der nach Links schaut und einen nach rechts, und diese werden gewechselt, je nach dem in welche richtung der player halt geht. Ml angenommen der player der nach rechts schaut heisst "player_r" und der nach links "player_l". Nun, wenn ich bei Move Towards "player_r" eingebe, und dann der Player gegen die andere Richtung will, dann kommt die Fehlermeldung vom Feind, dass dieser Player_r nicht mehr oder gar nicht vorhanden ist.

    Wie kann ichs lösen, das der Feind beide verfolgt und keine Meldung anzeigt wenn der player_r nicht mehr verfügbar ist, da ja jetzt der player_l ins Spiel kommt.

    Danke! 8)
    :thumbsup:
  • Du ersetzt bei jedem Richtungswechsel das Spielerobjekt um den Spieler in die neue Richtung schauen zu lassen. Es ist um einiges besser, wenn du nur das Sprite wechseln lässt, das erspart dir einiges und Probleme wie dieser treten gar nicht erst auf. Wenn du trotzdem bei deiner Methode bleiben willst, kannst du ein Parentobjekt erstellen, d.h. du erstellst ein neues Objekt, und im Player_r und Player_l Objektmenü wählst du dieses links bei Parent aus. Nun kannst du bei der Move Towards Funktion einfach sagen, dass sich der Feind zu den Koordinaten des Parent bewegen soll.

    ____
    Adventskalender 2010: Blue Smiley
  • Weiß net ob das jetzt quatsch ist wenn ja sorry:
    Wenn du die Links taste drückst d.h wenn player_left erstellt wird dann kannst du global.richtung=1 machen und wenn er rechts ist global.richtung=2 und dann beim move towards point:
    if global.richtung=1
    {
    move_towards_point(player_links.x,player_links.y,10
    }
    if global.richtung=2
    {
    move_towards_point(player_rechts.x,player_rechts.y,10)
    }
    Habs nicht getestet sollte aber eigentlich funzen
    LgBenni
  • Ich hab jetzt mal die erste version gemacht, muss sagen, dass geht recht gut!

    Jetzt nur noch ein problem;

    Da ich zwei Items habe, die den Spirit (also das Instance) wechsel habe, kommt nachher wieder diese Fehlermeldung der player sei nicht mehr vorhanden. Ich möchte allerdings hier nicht nur den Spirit wechseln so wie vorher, da man mit Item andere Steuerung hat.
    :thumbsup:
  • Also:

    Beim Player hab ich jetzt statt Change Instance hab ich jetzt Change Spirit, so heisst der Player immer gleich und es wird keine Fehlermeldung angezeigt.

    Nun, ich habe bei Bestimmten Blöcken noch Items, zwei verschiedene. Doch bei denen möchte ich schon bei Change Instances bleiben, da diese eine andere Steuerung haben als der Player.
    :thumbsup:
  • Du könntest dafür aber auch eine globale Variable erstellen und sie auf zwei verschiedene Werte setzen, je nach dem welche Steuerung aktiv sein soll. Und bei den einzelnen Bewegungstasten prüfst du vorher, ob die Variable den richtigen Wert hat, und lässt den Spieler erst dann bewegen. Den Wert änderst du beim Benutzen des Items. Somit bleibst du wieder bei einem Objekt.

    Edit: Es heißt übrigens Sprite, nicht Spirit. :P
    Edit2 @Benni1000: Nicht zwangsläufig, dafür wird ja die Variable benutzt. Ich war mir nicht sicher, ob das neue Objekt mit der anderen Steuerung andere Sprites hat. Sonst kann man natürlich den sprite_index überprüfen.

    ____
    Adventskalender 2010: Blue Smiley

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

  • Du könntest es auch mit deiner Methode einfacher lösen. (Glaube das das geht).

    Wenn du instance-change benutzt wird nähmlich nicht die Id geändert!

    Also mach ins creation event des Enemys: player_id = player_l.id (wenn das Objekt am Anfang player_l ist, sonsts das andere.)

    Dann musst du bei move towards point einfach statt player_l.x player_id.x schreiben und so weiter.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Vielen Dank!



    Jetzt funz!

    Alles perfekt! Ich wusste immer, das Schiksaal wird mich in ein perfektes Forum bringen.



    Vielen Dannnnnnkkkkkkkkkkkkkkkkkkk!!!!!!!!!!!!!!!!!!!!! :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :D :D :D :D :thumbup: :thumbup: :thumbsup: :thumbsup: :) ;)
    :thumbsup: