Probleme bei begrenzter Bewegung verschiedener Objekte/Instanzen

  • GM 8

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

  • Probleme bei begrenzter Bewegung verschiedener Objekte/Instanzen

    Hallo zusammen, ich mal wieder mit meinen Raumschiffen(RS).

    Ich möchte nun die Reichweite der RS einschränken. Es funktioniert auch, für die erste Instanz.
    Die Reichweite beträgt 100 pixel und kann per maus gesteuert werden.
    In der nächsten Runde aber gilt die die Reichweite/Radius des ersten RS.
    Und das dann für alle weiteren RS auch.
    Ich schaffe es nicht jeder Instanz ihre eigene Startposition zuzuweisen von der die 100px gemessen werden.



    Hier die Entfernungsabfrage/begrenzung.

    Hat jemand eine Idee woran das liegt ?

    Vielen Dank.

    Gruß

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

  • Ich verstehe das Problem nicht ganz.
    Die Schiffe bewegen sich doch, oder?
    Dann darf man doch nicht mit ihrer Startposition arbeiten.

    GML-Quellcode

    1. if point_distance(ship.x,ship.y,mouse_x,mouse_y) <= max_distance
    2. {
    3. mp_potential_step()
    4. }
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • es handelt sich um ein rundenbasierendes strategiespiel.
    es ist die startposition in der neuen runde.


    das RS bewegt sich sofort. bei der verwendung von x und y würde die distanz von 100 nie überschritten.


    das grundproblem ist wohl das nicht die richtige instanz angesprochen wird. wieso auch immer.


    gruß

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

  • Jetzt verstehe ich dein Problem erst ^^

    Ist doch klar, weil Du nicht das RS bewegst, das ausgewählt ist, sondern nur das, welches als erstes erstellt wurde.

    Ich würde das ganze so machen:

    GML-Quellcode

    1. with(obj_ship)
    2. {
    3. if selected = true //nur das ausgewählte...
    4. {
    5. //...bewegen lassen.
    6. }
    7. }
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • doch - es wird das RS bewegt das ausgewählt wird.
    nur wird für alle RS die koordinaten des erste RS verwendet um die reichweite zu berechnen.
    ich schaffe es nicht die koordinaten des ausgewählten RS zu verwenden.

    trotzdem danke für die mühe.

    gruß
  • Hab zwar nicht alles durchgelesen aber wieso machst du das nicht so?

    GML-Quellcode

    1. with(obj_ship){
    2. if(aktiv == true) {
    3. if(point_distance(start_x,start_y,mouse_x,mouse_y) < distance_max) {
    4. move_towards(mouse_x,mouse_y);
    5. }
    6. }
    7. }

    Dieser Code darf nicht im obj_ship sein.. sondern muss von irgendeinen Controlobject ausgeführt werden.

    MfG Rodrog
    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Ergo: Je mehr Käse, desto weniger Käse.
  • ich habe alle aktionen in den objekten - liegt auch daran das es ein rundenbasiertes strategiespiel ist.
    trotzdem habe ich veruscht den lösungsvorschlag umzusetzen - hat leider nicht funktioniert bzw. der gesamte bewegungsvorgang funktioniert nicht.

    ich werde nun versuchen diesen problembereich unabhängig vom spiel zu programmieren.

    vielleicht komme ich auf diese weise auf den fehler.

    gruß