image_index pro instance bei collision auslesen

  • GM 8

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

  • image_index pro instance bei collision auslesen

    hallo zusammen,

    ich habe ein objekt mit 16 subimages und lasse diese im room zeichnen nach dem count-prinzip. soll heissen, wenn neben dem objekt ein anderes gleiches objekt bereits besteht, dann andere subimages zeichnen.
    nachdem ich nun einen weg damit gezeichnet habe, möchte ich ein anderes objekt darüber laufen lassen...
    damit das neue objekt den weg erkennt, will ich die subimages der jeweiligen instance (welche zur zeit passiert wird) abfragen und das neue objekt entsprechend handeln lassen:
    subimage 0 = ecke von links nach unten
    subimage 1 = ecke von links nach oben
    subimage 3 = gerade nach unten
    subimage 4 = gerade nach rechts
    usw. bis
    subimage 15 = kreuzung

    damit mein objekt die richtung über direction ändern kann, muss ich vorher fragen, welches subimage er aktuell passiert, gerne über collisioon oder place_meeting.

    wie bekomme ich für die aktuelle instance, mit dem das neue objekt momentan in collision ist das subimage ausgelesen und abgefragt?

    sollten mehr infos nötig sein, zögert nicht zu fragen.

    danke,OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • besten dank, bonsaiheld.

    soweit war ich schon, nur dass ich keine mauer sondern einen weg zeichnen lasse - ansonsten exakt, wie in der engine.

    jetzt möchte ich aber ein weiteres objekt genau diesen weg ablaufen lassen.
    ich starte mit dem neuen objekt, gerne erst mal ein ball, auf einer geraden mit der direction = 0
    der ball soll bei jedem passieren eines neuen objektes "wall" (bei mir "weg") überprüfen, welches subimage aktuell in dieser instance gezeichnet ist und entsprechend die direction ändern:

    erste instance von wall hat subimage für die horizontale gerade - bleibt also direction = 0
    zweite instance direkt rechts daneben hat nun das subimage für eine ecke von links nach unten - soll also die direction um -90 geändert werden
    usw. (kreuzungen dann per random).
    ausserdem kann ich das auslesen von den subimages auch an anderer stelle gut gebrauchen...geht es überhaupt, diese pro kollidierende instance abzufragen?

    ich hoffe, man versteht, was ich meine Oo

    danke,OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • naja....
    schonmal ein anfang....

    ich krieg dei kurven und die T-Stücke nur irgendwie nicht hin...

    kann sich das jemand nochmal anschauen und überarbeiten ?
    Dateien
    • wallengine.gmk

      (12,44 kB, 142 mal heruntergeladen, zuletzt: )
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • hallo Larsi,

    hervorragend - dein ansatz öffnet mir neue ideen...
    du hast dich von den subimages gelöst und eine parallele abfrage gestartet, auf die ich nicht gekommen bin.
    dein ansatz gefällt mir sehr gut.
    ich habe mal ein wenig auf die schnelle weitergesponnen, hier zwei kurven:

    GML-Quellcode

    1. if right=0 && down=1 && left=1 && up=0 && direction = 0 { direction -= 90 exit }if right=0 && down=1 && left=1 && up=0 && direction = +90 { direction +=90 exit }

    funktioniert einwandfrei ;)
    wenn ich mit den varianten durch bin, denke ich, diese ebenfalls in einem count gedeckelt zu bekommen - mal sehen^^

    dir jedenfalls besten dank für deinen ansatz :)

    OC

    ps: wie zum teufel bekomme ich es hin, dass er mir beim erstellen von gml-codes hier im thema die absätze anzeigt???
    irgendwie quetsch er alles in eine zeile, ohne dass ich es will?!?
    lol, aber danke schonmal für die evtl. stinksimple antwort xD
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • GML-Quellcode

    1. {//Enter
    2. draw_text ("Absatz")//Enter
    3. }


    oder mit deinem:

    GML-Quellcode

    1. if (right=0 && down=1 && left=1 && up=0 && direction = 0)
    2. { direction -= 90 exit }
    3. if (right=0 && down=1 && left=1 && up=0 && direction = +90)
    4. { direction +=90 exit }


    Und dann könnte es funktionieren :P
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • hi,

    hab mal weitergebastelt - die T-kreuzungen fehlen aber noch...keine ahnung, wie ich die machen soll.
    soweit aber schon mal geht es gut :)

    könnt ja mal schauen, was euch einfällt.

    danke,OC

    achso: das mit enter und so hier beim gml-code erstellen haut nicht hin...er macht immer alles in eine zeile - was mach ich falsch?!?
    Dateien
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • Also bei den meisten klappt's ja, weiß nicht woran es liegen könnte.
    Aber

    Zitat von »famous«
    Wäre schön wenn die GML-Tag Formatierung mal behoben werden könnte,
    Zeilenumbrüche verschwinden einfach was es gerade für Anfänger unlesbar
    macht. Vielleicht ist es nur in Chrome der Fall? :huh:
    Dieses Problem tritt bei mir nur bei der Benutzung des
    WYSIWYG Editors auf, bei dem "Quellcode" Editor funktioniert es jedoch
    problemlos.
    ---------------------------------------------------------------------------------------------------------------------------

    Das habe ich hier gefunden
    Verbesserungsvorschläge für gm-d.de

    Vielleicht liegt es ja daran. :) Du kannst ja auch bei der Vorschau-Funktion gucken, ob er das so formatiert, wie du es willst.

    GML-Quellcode

    1. {
    2. if (right=0 && down=1 && left=1 && up=0 && direction = 0)//Enter, mit Klammern leichter
    3. { direction -= 90 exit }//Enter
    4. if (right=0 && down=1 && left=1 && up=0 && direction = +90)//Enter
    5. { direction +=90 exit }
    6. }
    GML lernen geht leicht :)
    1. http://www.gm-d.de/help/ (deutsch)
    2. gm-d.de/wbb/index.php/Thread/2270/ (Einsteiger-Referenz)
    3. docs.yoyogames.com/ (Hilfe auf Englisch von GM:S)
  • GML-Quellcode

    1. ich teste grad //geentert
    2. mal mit dem //geentert
    3. IE8...

    lol - scheint am crome zu liegen...crome ist mein stanni-browser Oo

    danke für den hinweis,OC

    ...zumindest den teil gelöst :)
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)
  • T-Kreuzungen - choose(val1,val2,...) geht nicht?

    hallo nochmal,

    habe nun die T-kreuzungen mit choose(val1,val2,...) testen wollen, also z.b.:

    GML-Quellcode

    1. if count2=7 {choose(direction=0,direction=270,direction=180) speed=4}

    aber er reagiert überhaupt nicht...nicht nach dem hundertsten durchlauf :(
    ist da was falsch dran?!?

    merkwürdig,OC
    Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
    (Albert Einstein)