view_angle

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

  • das ist schwer so zu erklären weil es von der viewgröße und so abhängt
    es wäre sehr hilfreich wenn du vielleicht eine gm6 hochladen könntest
    auf jedenfall muss man lengthdir_x() und lengthdir_y() benutzen
    Die Schönheit liegt im Auge des Betrachters :D
  • naja eigentlich möchte ich keine gm6 hochladen, weil das projekt noch geheim bleiben soll.aber ich beschreib dir alles so gut wie möglich: view_wview=1024[0],view_hview[0]=768,view_object[0]=Player,im player step event:view_angle[0]=90-image_angle;
    und dann im player draw_event:draw_text(view_xview+,view_yview+10,fps)
    hoffe das geht
  • example: man neheme das Auto example von mir(im dateianhang) und füge dem script die zeile

    GML-Quellcode

    1. view_angle[0]=-image_angle+90
    hinzu!und voila!das example ist fertig!versuche nun mal einen text zu drawen!:D
    Dateien
    • Carengine.zip

      (59,47 kB, 114 mal heruntergeladen, zuletzt: )
  • Erstell folgendes script draw_text_viewrot():

    GML-Quellcode

    1. {
    2. var ang,xm,ym,xwert,ywert;
    3. ang=360-view_angle[view_current];
    4. xm=argument0;
    5. ym=argument1;
    6. xwert=cos(ang/180*pi)*(view_wview[view_current]/2-xm)+sin(ang/180*pi)*(view_hview[view_current]/2-ym);
    7. ywert=-sin(ang/180*pi)*(view_wview[view_current]/2-xm)+cos(ang/180*pi)*(view_hview[view_current]/2-ym);
    8. draw_text_transformed(x-xwert,y-ywert,argument2,1,1,-view_angle[view_current]);
    9. }

    Danach kannst du mit draw_text_viewrot(x,y,text) einen String in die linke obere Ecke der gedrehten View zeichnen. Das Script muss in deinem "Auto" Objekt drin sein und die View darf nicht am Rand des Levels sein.
    (Wenn ich Zeit habe schreib ich noch ein besseres Scipt, in dem Fall sollte es reichen...)

    Dragoon

    EDIT: Ich hab zwei neue Scipts geschrieben:
    view_getx()

    GML-Quellcode

    1. {
    2. var ang;
    3. ang=360-view_angle[view_current];
    4. return view_xview[view_current]+view_wview[view_current]/2-cos(ang/180*pi)*(view_wview[view_current]/2-argument0)-sin(ang/180*pi)*(view_hview[view_current]/2-argument1);
    5. }

    view_gety()

    GML-Quellcode

    1. {
    2. var ang;
    3. ang=360-view_angle[view_current];
    4. return view_yview[view_current]+view_hview[view_current]/2+sin(ang/180*pi)*(view_wview[view_current]/2-argument0)-cos(ang/180*pi)*(view_hview[view_current]/2-argument1);
    5. }

    Und so könntest du dann etwas Zeichnen:

    GML-Quellcode

    1. draw_text_transformed(view_getx(0,0),view_gety(0,0),"Dein Text",1,1,-view_angle[view_current])

    view_getx() und view_gety() geben die Koordinaten der linken oberen Ecke der View zurück, also kann man damit auch Sprites zeichnen. Die Argumente sind der X und Y Abstand von der Ecke. Die Scripts sind nur von der aktuellen View abhängig (also egal in welchem Objekt sie ausgeführt werden).
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • danke für das script.kann es zwar gerade nicht probieren weil ich keinen gm auf diesem Pc installiert habe,aber ich werde es heute noch testen.:happy:
    (edit:)danke für die hilfe, das hat super funktioniert!du kommst auf jeden fall in die credits!:happy:

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

  • Benutzer online 1

    1 Besucher