2.5D Platformer View- bzw. Interfaceproblem

  • GM 8

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

  • 2.5D Platformer View- bzw. Interfaceproblem

    Guten Morgen liebe Community,

    ich versuche im Folgenden mein Problem zu schilder. Es lautet etwa so: Ich habe ein 2.5D Spiel (Platformer) erstellt und lasse mit Hilfe einer Kontrollinstanz (obj_kamera_ctrl) die Perpektive zeichnen.

    Mein Code im Draw-Event:

    GML-Quellcode

    1. d3d_set_projection(obj_spieler.x+0,obj_spieler.y+1,320,obj_spieler.x,obj_spieler.y,0,0,0,1);


    Jetzt folgt der "View" dem Spieler Objekt, welches sich zu jederzeit in der mitte des Bildschirms befindet.

    Soweit so gut. Um mein Interface bzw HUD zeichnen zu lassen, habe ich ein weiteres Objekt geschaffen, welches im Draw-Event folgenden Code hat:

    GML-Quellcode

    1. // Interface zeichnen
    2. {
    3. draw_sprite_ext(spr_herz,0,view_xview[0]+9,view_yview[0]+9,0.5,0.5,0,c_white,1)
    4. draw_sprite_ext(spr_zahn,0,view_xview[0]+9,view_yview[0]+48,0.5,0.5,0,c_white,1)
    5. draw_text(view_xview[0]+32,view_yview[0]+4.5,global.herzen);
    6. draw_text(view_xview[0]+32,view_yview[0]+42,global.zaehne);
    7. }

    und im Step

    GML-Quellcode

    1. x = view_xview[0]
    2. y = view_yview[0]


    Mein Problem ist, das das Interface zwar gezeichnet wird, aber scheinbar im Raum klebt. Es bewegt sich nicht mit, ich kann aber drumherum und hindurchschweben...

    Ich hoffe mein Problem ist verständlich und ich erbitte Hilfe vom Fachmann ;)

    MFG,
    Punish0r
    Bilder
    • snapshot.jpg

      139,1 kB, 640×480, 632 mal angesehen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Punish0r ()

  • inwiefern wird der nicht benutzt? also das sich keine veränderung erkennbar macht, wenn ich den view aktivere hab ich bereits bemerkt.
    kann man anhand der perspective denn erkennen, wie ich das interface zeichnen lassen könnte?

    ich bin etwas überfordert, spiel seit nen paar stunden daran rum.

    MFG,
    Punish0r
  • Ich hab zwar keine Erfahrung mit den 3d-Funktionen, aber laut Dokumentation kann man auch da Views benutzen

    GM-Hilfe schrieb:

    ...und du kannst sogar Views benutzen.
    Um das HUD an einer festen Stelle im Fenster zu halten, könntest du aber auch window_get_x()+Verschiebung und window_get_y()+Verschiebung benutzen, zumindest im Fenstermodus klappt das problemlos.
  • wo muss ich "window_get_x()" benutzen? ;)

    kann jemand mal nen beispiel code posten dafür? ich möcht das gern lernen. angucken ist da beste methode für mich. werde natürlich meinen code zurückposten!

    MFG,
    Punish0r

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

  • Du musst natürlich die perspektivische Projektion wieder deaktivieren, wenn du 2D Elemente (z.b. ein HUD) rendern willst.
    D.h. du brauchst wieder eine orthographische Projektion (wie es in der Hilfe beschrieben wird) oder du deaktivierst den 3D-Modus komplett, was ich eigentlich nicht empfehle.

    © 2008 by Teamgrill Productions
  • Bei den Gegner ist das was anderes, da sie sich ja wirklich in der 3D-Welt bewegen.
    Wie gesagt, beim HUD brauchst du eine orthographische Projektion. In der Hilfe gibt es sogar einen Codeschnippsel, der genau auf dein Problem zutrifft, unter "Viewing the world".

    © 2008 by Teamgrill Productions
  • Du bist so geil Soul Reaver :D!

    funktioniert perfekt und scheint sogar recht einfach zu sein... dummes Ich.

    Also ich habe ein neues Object erschaffen mit Namen HUD und im Draw Event steht folgender Code:

    GML-Quellcode

    1. {
    2. d3d_set_projection_ortho(0,0,room_width,room_height,0);
    3. // von 0,0 über den gesamten room (bei mir bis 640x480)
    4. d3d_set_hidden(false);
    5. // Texte, Sprites etc einfach mit x,y-Koordinaten zeichnen lassen
    6. // z.B. draw_sprite(spr_index,imageindex,9,9);
    7. d3d_set_hidden(true);
    8. }


    funktioniert einwandfrei, vielen Dank!

    MFG,
    ein überglücklicher
    Punish0r
    Bilder
    • problem #1 gelöst.jpg

      307,9 kB, 640×480, 515 mal angesehen

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