Hi.Wie kann ich eigentlich einen text in der linken oberen ecke drawen wenn ich mit view_angle arbeite?danke schonmal im vorraus!:)
view_angle
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
Beschreib das ma genauer. Ich versteh das nicht
Du meinst, dass der Text dann auch gezerrt ist? -
nein,ich habe einen spieler.wenn sich der dreht dreht sich die view(view_angle).doch wenn ich jetzt z.b. die fps irgenwo drawen will geht das nicht, weil sich der text nicht mitdreht
-
-
nein,das geht so nicht.so wird zwar der dext rotiert, er bleibt aber nicht immer links oben im view!
-
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() benutzenDie 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 -
Dann mach wenigstens ein Example, so wie es in deinem Game später aussehen soll
-
-
ich würde einfach nen zweiten view machen der zwar dem car folgt aber sich nicht mitdreht
"Leben. Erzähl' mir bloß nichts vom Leben."
-
Erstell folgendes script draw_text_viewrot():
GML-Quellcode
- {
- var ang,xm,ym,xwert,ywert;
- ang=360-view_angle[view_current];
- xm=argument0;
- ym=argument1;
- xwert=cos(ang/180*pi)*(view_wview[view_current]/2-xm)+sin(ang/180*pi)*(view_hview[view_current]/2-ym);
- ywert=-sin(ang/180*pi)*(view_wview[view_current]/2-xm)+cos(ang/180*pi)*(view_hview[view_current]/2-ym);
- draw_text_transformed(x-xwert,y-ywert,argument2,1,1,-view_angle[view_current]);
- }
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()
view_gety()
Und so könntest du dann etwas Zeichnen:
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 ()