Codeproblem mit distance_to und direction

  • Codeproblem mit distance_to und direction

    Also ich habe folgenden Code verzapft, aber der Code will nicht. Ich habe einen Verdacht, aber erst der Code:


    GML-Quellcode

    1. if (distance_to_point(0,0) < 10 or distance_to_point(100,0) >10) {
    2. if (distance_to_point(0,0) < 10 ) {
    3. direction = 729 - direction; }
    4. if (distance_to_point(100,0) < 10 ) {
    5. direction = 711 - direction; }
    6. else { direction = 720 - direction; } }


    Ich vermute dass GM von den Punkten 0,0 und 100,0 im RAUM ausgeht. Ich wills aber von´m Objekt :wacko:

    Also versuchte ich das hier:

    GML-Quellcode

    1. if (distance_to_point(0,0) < 10 or distance_to_point(100,0) >10) {
    2. if (distance_to_point(x.obj_spieler,y.obj_spieler) < 10 ) {
    3. direction = 729 - direction; }
    4. if (distance_to_point(x.obj_spieler+100,y.obj_spieler) < 10 ) {
    5. direction = 711 - direction; }
    6. else { direction = 720 - direction; } }


    Das ist herrlich schiefgegangen, diesmal hats nicht nur nicht geklappt sondern es hat auch noch folgende Fehlermeldung gegeben:

    FATAL ERROR in
    action number 1
    of Collision Event with object obj_spieler
    for object Ball:

    COMPILATION ERROR in code action
    Error in code at line 2:
    if (distance_to_point(x.obj_spieler,y.obj_spieler) < 10 ) {

    at position 32: Variable name expected.


    Helft mir!


  • Ich glaube das heißt unten schonmal object.x,object.y

    GML-Quellcode

    1. if (distance_to_point(0,0) < 10 or distance_to_point(100,0) >10) {
    2. if (distance_to_point(obj_spieler.x,obj_spieler.y) < 10 ) {
    3. direction = 729 - direction; }
    4. if (distance_to_point(obj_spieler.x+100,obj_spieler.y) < 10 ) {
    5. direction = 711 - direction; }
    6. else { direction = 720 - direction; } }


    was sonst nciht stimmt weiß ich nicht xD
    Aktuelles Projekt: Aufbau - Strategiespiel.
    Aktueller Entwicklungsschritt: Planung | Grundengine entwickeln.

    Wichtig ist nicht, besser zu sein als alle anderen.
    Wichtig ist, besser zu sein als du gestern warst.





  • wenn du willst, dass er vom object ausgeht:

    GML-Quellcode

    1. if distance_to_point(object.x+100,object.y+0) < 10


    wenn du willst, dass er vom objekt, dass den code ausführt, ausgeht, dann kann ich dir sagen, der abstand bleibt immer gleich. darum setz für object ein andres ein.


  • maxda schrieb:

    Oder man macht es mit self.x/self.y.
    Edidit:Rechtschreibung verbessert.
    Ob man self.x oder x schreibt ist doch völlig egal, das macht keinen Unterschied. Ich weiß nicht aber vielleicht sollte man wissen, warum es <Objektname>.x heißt und nicht x.<Objektname>. x ist doch keine Instanz wo du auf die Variable <Objektname> zugreifst ;)

    Außerdem finden in deinem Code doppelte Abfragen statt, die du in einer Abfrage zusammenfassen könntest. Da ich aber nicht weiß, was dein Code überhaupt bezwecken soll kann ich den auch nicht umformen so wie du es willst.

    mfg Critical

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

  • Critical schrieb:


    maxda schrieb:

    Oder man macht es mit self.x/self.y.
    Edidit:Rechtschreibung verbessert.
    Ob man self.x oder x schreibt ist doch völlig egal, das macht keinen Unterschied. Ich weiß nicht aber vielleicht sollte man wissen, warum es <Objektname>.x heißt und nicht x.<Objektname>. x ist doch keine Instanz wo du auf die Variable <Objektname> zugreifst ;)


    Wo habe ich das geschrieben?

    Außerdem finden in deinem Code doppelte Abfragen statt, die du in einer Abfrage zusammenfassen könntest. Da ich aber nicht weiß, was dein Code überhaupt bezwecken soll kann ich den auch nicht umformen so wie du es willst.

    mfg Critical
    Ging das jetzt an mich?