depth für bestimmten bereich im draw event??

  • depth für bestimmten bereich im draw event??

    hi!
    wollte mal fragen, ob irgendjemand ne möglichkeit kennt einen gewissen bereich aus dem draw event
    in der tiefe zu ändern?
    also nicht das ganze objekt, sondern z.b. nur den gezeichneten schatten, oder sowas halt.
    hoffe ihr könnt mir folgen, sollte aber verständlich sein :)

    mfg
    HIM
  • Geht nicht.
    Die Depth bestimmt, in welcher Reihenfolge alle Draw-Events ausgeführt werden. Die Depth innerhalb des Draw-Events zu ändern bringt also gar nichts.

    Wenn du solche Dinge wie Schatten machen willst, kommst du wohl um mindestens eine weitere Instanz nicht herum.
    Du könntest direkt alle Schatten auf einmal zeichnen z.b. mit

    GML-Quellcode

    1. with (objAllemeineaquamaler) {
    2. draw_sprite_ext(sprite_index,-1,x-32,y-32,image_xscale*0.5,image_yscale*0.5,image_angle,c_black,0.5);
    3. }

    Pack das ins Draw Event deines neuen Objects (nennen wir es mal objShadowController) und gib dem Ding ne Tiefe von 100000 oder sowas.

    Dieses Script berücksichtigt allerdings nicht den Origin von Sprites und ist recht dahin geklatscht. Aber es sollte dir eine Idee davon geben.
  • hey,
    danke für die schnelle antwort!
    schade.. naja. es ging nicht primär um schatten, sondern schatten sollten nur ein beispiel sein.
    ging im eigentlichen sinne um eine textbox, die von einem angesprochenen npc gezeichnet wird.
    die wird nämlich unter umständen von bäumen verdeckt und das sieht unschön aus.
    werd ich wohl nicht drum herum kommen ein einzelnes objekt für die textbox zu erstellen

    danke für den denkanstoß!

    mfg
    HIM
  • Muss mich noch kurz korrigieren:

    Die Depth zu ändern kann sehr wohl etwas bewirken. Verringert man die Depth im Draw Event, wird der Sprite nochmal gezeichnet, wenn der GM bei der Tiefe angekommen ist. depth -= 1 im Draw event müsste also eigentlich den GM crashen... mal ausprobieren.


    Zu deinen NPCS:
    Sofern es mehrere Msgboxen gleichzeitig geben soll, solltest du am besten mehrere Instanzen verwenden. Die können dann schnell und einfach individuell verschwinden, weiterscrollen, mit der Kamera/dem NPC mitgehen etc.
  • es handelt sich lediglich um eine einzige textbox. denn es kann immer nur einer sprechen.
    ich hab jetzt versucht die textbox als eigenes objekt umzuproggen. aber die ist zu komplex als dass das auf die schnelle geht..
    wahrscheinlich würde die box auch einfacher gehen, aber dazu müsste ich sowohl das playerobjekt als auch das npc_parent
    auf die neue box anpassen.. misst. das würde wieder unnötig viel zeit kosten..
    das einzige problem an der ganzen sache sind eh nur die bäume die in der gegend rumstehen, die sind so hoch, dass mein
    tiefenskript versagt, welches die depth an die y-koordinate bindet, versagt.. deshalb überlappen die bäume die textbox.
    naja, vermutlich werde ich das jetzt so lösen, dass in der nähe von ansprechbaren npcs keine bäume stehen werden.
    sollte eigentlich mit ein bischen mehr planungsarbeit gut machbar sein.

    achja,
    ich hab im draw event die depth einfach mal vorm zeichnen der textbox geändert, aber hat nix gebracht.
  • HIM666 schrieb:


    achja,
    ich hab im draw event die depth einfach mal vorm zeichnen der textbox geändert, aber hat nix gebracht.


    Wie oben schon erklärt. das bringt nicht wirklich was. Du müsstets evtl. damit rumtricken können, aber das ist dann nicht so gedacht vom GM.
    Wenns weiterhin Probleme gibt, mach nen neuen Thread auf. Ich glaube, ich könnte dein textboxenproblem sehr schnell lösen.
  • Benutzer online 1

    1 Besucher