2 registered members (TipmyPip, 1 invisible),
18,789
guests, and 8
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
switch between views
#252304
02/17/09 16:18
02/17/09 16:18
|
Joined: Jun 2008
Posts: 21 M-V, Germany
vargur
OP
Newbie
|
OP
Newbie
Joined: Jun 2008
Posts: 21
M-V, Germany
|
Hi I have the following two views
vec_set(camera.x,my.x); vec_set(camera.z, my.z ); vec_set(camera.pan, my.pan); vec_set(camera.tilt, my.tilt); vec_set(camera.roll, my.roll); vec_set(camera.x,vector(-20,0,8)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan);
and
vec_set(camera.x,my.x); vec_set(camera.z, my.z ); vec_set(camera.pan, my.pan); vec_set(camera.tilt, my.tilt); vec_set(camera.roll, my.roll); vec_set(camera.x,vector(0,0,0)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan);
i combined them via an IF-expression what leads to the funtion that when i press and hold down the key t, the view is changed.
But what have I to do that it is not longer necessary to hold down "t" to or release "t" to switch the views. Hope u can understand me
Last edited by vargur; 02/17/09 16:18.
|
|
|
Re: switch between views
[Re: vargur]
#252313
02/17/09 16:39
02/17/09 16:39
|
mercuryus
Unregistered
|
mercuryus
Unregistered
|
Also.... (in german for a german) Alle (und weitere) FUnktionen, die mit vec_ beginnen sind vector-operationen, verarbeiten also immer einen Vector. Ein Vector besteht aus drei Werten (z.B: x, y, z; blue, green, red; pan, tilt, roll) Mit vec_set setzt Du ein en Vector (also drei Werte) auf einmal. Somit resultiert Dein Code darin:
vec_set(camera.x,vector(-20,0,8));
vec_add(camera.x,my.x);
vec_set(camera.pan,my.pan);
// and
vec_set(camera.x,my.x);
vec_set(camera.pan,my.pan);
PS: ein view ist in der 3D-Sprache eine eigenständige "Bühne", deren Eigenschaften Du separat einstellen kannst. Du verwendest altuell das VIEW* camera und änderst lediglich Blickwinkel und Position.
Last edited by mercuryus; 02/17/09 16:42.
|
|
|
Re: switch between views
[Re: Xarthor]
#252315
02/17/09 16:43
02/17/09 16:43
|
Joined: Jun 2008
Posts: 21 M-V, Germany
vargur
OP
Newbie
|
OP
Newbie
Joined: Jun 2008
Posts: 21
M-V, Germany
|
ok also auf deutsch. Ich habe diese 2 views und ich möchte faktisch wenn ich die taste "T" drücke zwischen diesen umschalten
mache ich das aber mit der if-funktion so wechselt der view nur solange ich die taste "T" drücke
Ach ja und mal nebenbei gibt es eine möglichkeit eine wmb datei zurück in eine wmp datei zu konvertieren? ich habe nämlich das problem das seit einem absturz meine wmp datei beschädigt ist und ich den level folglich nicht mehr ändern kann was aber von nöten ist
Last edited by vargur; 02/17/09 16:47.
|
|
|
Re: switch between views
[Re: vargur]
#252318
02/17/09 16:46
02/17/09 16:46
|
mercuryus
Unregistered
|
mercuryus
Unregistered
|
// t drücken
if(key_t){
// wenn camera auf meiner Position...
if(vec_dist(camera.x, my.x)==0){
vec_set(camera.x,vector(-20,0,8));
vec_add(camera.x,my.x);
vec_set(camera.pan,my.pan);
}else{ // sonst...
vec_set(camera.x,my.x);
vec_set(camera.pan,my.pan);
}
// warten bis t losgelassen...
while(key_t){wait(1);}
}
Last edited by mercuryus; 02/17/09 18:16.
|
|
|
Re: switch between views
[Re: ]
#252320
02/17/09 16:51
02/17/09 16:51
|
Joined: Jun 2008
Posts: 21 M-V, Germany
vargur
OP
Newbie
|
OP
Newbie
Joined: Jun 2008
Posts: 21
M-V, Germany
|
danke aber er sagt mir er hat nen fehler in der letzten zeile bei wait genauer gesagt ist von einem script error die rede falls das hilft
ich poste mal den code den ich bis jetz benutzt habe
if(key_t){ vec_set(camera.x,my.x); vec_set(camera.z, my.z ); vec_set(camera.pan, my.pan); vec_set(camera.tilt, my.tilt); vec_set(camera.roll, my.roll); vec_set(camera.x,vector(-20,0,8)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan); } else{ // sonst... vec_set(camera.x,my.x); vec_set(camera.z, my.z ); vec_set(camera.pan, my.pan); vec_set(camera.tilt, my.tilt); vec_set(camera.roll, my.roll); vec_set(camera.x,vector(0,0,0)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan); }
Last edited by vargur; 02/17/09 16:59.
|
|
|
Re: switch between views
[Re: Joey]
#252329
02/17/09 17:53
02/17/09 17:53
|
Joined: Jun 2008
Posts: 21 M-V, Germany
vargur
OP
Newbie
|
OP
Newbie
Joined: Jun 2008
Posts: 21
M-V, Germany
|
genau schauen dann siehst du die Unterschiede womit das kein repost an sich is sondern einfach nochmal das ganze komplett aber auf deinen Wunsch hin das ganze jetzt noch mal mit eingebauten zeilen
// t drücken if(key_t){ // wenn camera auf meiner Position... if(vec_dist(camera.x, my.x)==0){ vec_set(camera.x,my.x); vec_set(camera.z, my.z ); vec_set(camera.pan, my.pan); vec_set(camera.tilt, my.tilt); vec_set(camera.roll, my.roll); vec_set(camera.x,vector(-20,0,8)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan); }else{ // sonst... vec_set(camera.x,my.x); vec_set(camera.z, my.z ); vec_set(camera.pan, my.pan); vec_set(camera.tilt, my.tilt); vec_set(camera.roll, my.roll); vec_set(camera.x,vector(0,0,0)); vec_rotate(camera.x,my.pan); vec_add(camera.x,my.x); vec_set(camera.pan,nullvector); ang_add(camera.pan,my.pan); // warten bis t losgelassen... while(key_t){wait(1)}; } Die genaue Fehlermeldung kann ich hier nicht mehr wiedergeben weil ich schon anderes versucht habe
|
|
|
Re: switch between views
[Re: Xarthor]
#252334
02/17/09 18:18
02/17/09 18:18
|
mercuryus
Unregistered
|
mercuryus
Unregistered
|
Das Semikolon gehörte vor die geschweifte Klammer in der vorletzten Zeile. Ansonsten denke ich, wird Dein Programm ohnehin abstürzen, da Du nicht verstehst mit Vectoren umzugehen...
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|