|
|
Re: steuerung wie in Homeworld
[Re: Spottie]
#162822
10/22/07 17:11
10/22/07 17:11
|
Joined: Jul 2007
Posts: 959 nl
flits
User
|
User
Joined: Jul 2007
Posts: 959
nl
|
i am not sure if u mean this but maby it is
function clicked { if(event_click == on) { selected_my = on; } }
action klickableentity { my.enable_click = on; my.event = clicked;
// ore use mouse_ent
if this isnt what u was searching for i didnt understand u
"empty"
|
|
|
Re: steuerung wie in Homeworld
[Re: flits]
#162823
10/22/07 17:38
10/22/07 17:38
|
Joined: Jan 2007
Posts: 651 Germany
RedPhoenix
User
|
User
Joined: Jan 2007
Posts: 651
Germany
|
Hmm machbar aber nicht so einfach. Ich denke was du möchtest (schon ne weile her, dass ich homeworld gespielt habe) ist etwa, dass du auf einen Punkt im Raum klickst und deine Schiffe dahin fliegen, ohne ihr Höhenlevel zu verlassen. Um die Höhenlevel der Schiffe zu ändern gabs glaub ich einen extra movemode der über Shift aktivierbar war in Homeworld. Ich weiß jetzt nicht ob du A7 hast (vlt. gibts das auch schon in A6 bin mir aber nicht sicher), ich würde mouse_dir3d als Anfang nehmen. Der vector zeigt in Richtung der Mausposition aus dem View heraus und hat soweit ich weiß Länge 1. Diesen müsstest du verlängern und zwar so, dass die z Koordinate des Vektors der Differenz zwischen dem Höhenwert der Camera und dem angewählten Schiff liegt. Also: (Annahme you sei der Pointer auf die selektierte Einheit) Code:
vec_set (temp_vec,mouse_dir3d); vec_scale(temp_vec,(camera.z - you.z)*(1/mouse_dir3d.z));
Dann hast du den Punkt des Mauszeigers an der bestimmten Höhe. Den Shift mode bekommst du nun noch hin indem bei angewählter Shift Taste ein z-Verzug addiert wird, der anhand der Mausbewegung (mickey.x) vergrößert wird.
|
|
|
Re: steuerung wie in Homeworld
[Re: Spottie]
#246150
01/13/09 20:54
01/13/09 20:54
|
Joined: Aug 2004
Posts: 86 Germany, Wiesbaden
the_mark
Junior Member
|
Junior Member
Joined: Aug 2004
Posts: 86
Germany, Wiesbaden
|
Ich weiß, dies ist ein uuuralter Thread, aber ich hole ihn mal hoch, weil ich derzeit mich mit dem gleichen Problem beschäftigte.
Der og. Code funtkioniert leider so nicht, er liefert teilweise obskure Werte. Ich bin jetzt nicht so sehr das Mathe-Genie, dass ich selber drauf komme, aber die Wahrheit ist irgendwo da draußen (ach, das hatte schon mal jemand gesagt, oder)
Jemand eine Idee dazu?
"Our mortality makes us human."
|
|
|
Re: steuerung wie in Homeworld
[Re: the_mark]
#247009
01/18/09 14:37
01/18/09 14:37
|
Joined: Aug 2004
Posts: 86 Germany, Wiesbaden
the_mark
Junior Member
|
Junior Member
Joined: Aug 2004
Posts: 86
Germany, Wiesbaden
|
So... ich habe das Problem jetzt wie folgt gelöst (wobei ich mir nicht sicher bin, ob es der eleganteste Weg ist):
Ein transparentes Terrain, PASSABLE sitzt auf der "0"-Ebene des Schiffes. Dann, zum setzen des Ziels:
temp[0] = mouse_pos.x; temp[1] = mouse_pos.y; temp[2] = 10000; vec_for_screen(temp,camera); c_trace(camera.x,temp, IGNORE_MODELS | IGNORE_SPRITES); vec_set (c_pos,target); ent_create("sprites\\point.tga", c_pos, moving_cursor);
etc. etc..... in der Funktion "moving_cursor" wird eben permanent dieser Trace durchgeführt.
Funktioniert einwandfrei.
Andere Ideen herzlich willkommen.
"Our mortality makes us human."
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|