Draw GUI Problem

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

  • Draw GUI Problem

    Moin Moin ^^

    Habe grade ein Brett vorm Kopf und stelle mich viel zu blöd an :)
    Ich möchte sobald die Variable controls = true; gegeben ist, dass die Hitboxen einiger Objekte gezeichnet werden. Habe ich allerdings zum Beispiel mehrere Büsche im Raum, werden (scheinbar) alle Hitboxen (oder nur eine) auf nur einem oBush gezeichnet. Das ist der Draw GUI code:

    GML-Quellcode

    1. ​if (oPlayer.controls = true)
    2. {
    3. draw_sprite(sBushHITBOX, 1, oBush.x, oBush.y)
    4. }


    Komme leider überhaupt nicht weiter :D
    Es gibt 10 Arten von Menschen: Diejenigen, die Binärcode verstehen und die, die es nicht tun ^^
  • Also ich kann mich irren aber ich glaube soviel ich weiß wenn du im DrawGui zeichnest ist das Canvas statisch heisst deine position oben links x=0 , y=0 ist immer bei view_xview, view_yview worauf ich hinaus möchte ist das wenn oBush.x die position deinem room z.B bei x = 500 hat dann drawt gui es bei 500 heisst soviel wie alles was größer als deine view ist wird zwar schon gezeichnet aber ist ausserhalb... ich kann mich grad irren ( ich hab auch immer wieder probleme mit der gui xD) aber wenn du jetzt display_set_guisize auf room_width und room_height statt auf view_wview und view_hview machst sollten deine Sprites gezeichnet werden. kannst es ja mal versuchen... jedoch wenn du das so machst dann sieht deine GUI ganz anders aus da die propertionen nicht mehr stimmen könnten
    Wir stehen zusammen und wir fallen zusammen
  • Einerseits wie eddy sagt, fangen die Koordinaten im draw gui sozusagen links oben am Fenster an.
    Deshalb ist es entweder möglich die Koordinaten mit den View Koordinaten zu subtrahieren oder einfach das normale draw zu benutzen.

    Wie du richtig erkannt hast werden die Masken alle an einem Busch gezeichnet. Genauer gesagt dem ersten.
    Der Fehler liegt darin, dass du obj.x benutzt und nicht einfach x.
    obj_busch.x gäbe dir in dem Fall die Koordinate vom ersten Busch im Raum.
    Sagen möchte ich, dass GM nicht weiß von welchem obj du die Variable haben möchtest und Gm deshalb immer sie erste Instanz nimmt.
    In deinem Fall scheint es mir, dass x und y alleine reichen.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe