3 registered members (NewbieZorro, TipmyPip, 1 invisible),
19,045
guests, and 8
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Teleporter Code
#355633
01/28/11 13:39
01/28/11 13:39
|
Joined: Jul 2010
Posts: 974 United Arab Emirates, Dubai
TheShooter
OP
User
|
OP
User
Joined: Jul 2010
Posts: 974
United Arab Emirates, Dubai
|
Hi, ich mache gerade ein Game, wo man einen ball über Hindernisse steuern muss. Soweit ist alles schon fertig. Nur wenn der Ball runterfällt, soll er wieder zum Anfang teleportiert werden. Wie geht das?  mfG The Shooter
|
|
|
Re: Teleporter Code
[Re: TheShooter]
#355639
01/28/11 13:46
01/28/11 13:46
|
Joined: Jul 2009
Posts: 1,198 Berlin, Germany
Liamissimo
Serious User
|
Serious User
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
|
Ich denke mal Ball ist ein Physikobjekt. Einfach mit pX_enable (oder so, bei ODE war es phent_enable) den Ball kurz rausnehmen, dann an den Starvektor setzen und dann wieder mit pX_enable aktivieren. Wieso pX_enable? Weil du keine Sachen mit vec_set oder c_move sich bewegen lassen kannst solange sie im Physiksystem sind. pX_enable sagt dem System also "Überspringe mal kurz den Ball" und du kannst das nutzen  Dann nurnoch ne Abfrage mit if(ball.z < 1000). Also wenn er unter 1000 gefallen ist soll das ganze Passieren, willst ja nicht jeden Frame den Ball zum Start teleportieren.
Last edited by TheLiam; 01/28/11 13:54.
"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen." -JCL, 2011
|
|
|
Re: Teleporter Code
[Re: TheShooter]
#355641
01/28/11 13:52
01/28/11 13:52
|
Joined: May 2009
Posts: 5,377 Caucasus
3run
Senior Expert
|
Senior Expert
Joined: May 2009
Posts: 5,377
Caucasus
|
If you need ball to start from the level begging, it's pretty simple. At the begging of your ball action, set to ball position some VECTOR (example: vec_set(start_pos.x,my.x);) This needs to be right before the while loop, so vector will store only position at the begging of the level (game), so, when ball will fall (you can use some model with event, so when ball falls and touches it ball needs to reset it's position or you just can check if ball's Z is more then for example -100, you need to make sure that your level is higher than -100 in Z coordinates) all you'll need to do is to place it at the vector where was stored start position (example: vec_set(my.x,start_pos.x);). I hope it was useful, good luck. Sorry if I misunderstood you.
|
|
|
Re: Teleporter Code
[Re: Liamissimo]
#355642
01/28/11 13:53
01/28/11 13:53
|
Joined: Jul 2010
Posts: 974 United Arab Emirates, Dubai
TheShooter
OP
User
|
OP
User
Joined: Jul 2010
Posts: 974
United Arab Emirates, Dubai
|
Ok, das habe ich verstanden. Soll ich das über einen Trigger machen? (Ich weiß leider nicht, wie ich solche erstelle). Es sollte so sein, dass wenn der Ball in eine Lücke fällt, er wieder an den Startpunkt telepotiert wird. Es wäre ungünstig einen neuen Ball zu erstellen, weil die Kamera ja dem Ball folgt. mfG The Shooter 
|
|
|
Re: Teleporter Code
[Re: TheShooter]
#355645
01/28/11 13:57
01/28/11 13:57
|
Joined: Jul 2009
Posts: 1,198 Berlin, Germany
Liamissimo
Serious User
|
Serious User
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
|
Hab es Editiert. Leg eine maximal Falldistanz fest, also -1000 z.b. Dann immer
while(1)
{
if(ball.z < 1000)
{
px_enable(ball,0);
vec_set(ball.x,startvector);
px_enable(ball,1);
}
wait(1);
}
Nur ob es jetzt echt pX_enable ist und welche Parameter da reinkommen musste checken.
"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen." -JCL, 2011
|
|
|
Re: Teleporter Code
[Re: Liamissimo]
#355648
01/28/11 14:04
01/28/11 14:04
|
Joined: Jul 2010
Posts: 974 United Arab Emirates, Dubai
TheShooter
OP
User
|
OP
User
Joined: Jul 2010
Posts: 974
United Arab Emirates, Dubai
|
Also den befehl px_enable gibts nicht. Ich versuche es mal mit:
if(ball.z < 1000)
{
pXent_settype(ball, 0, 0);
vec_set(ball.x,(-200,57,30));
pXent_settype(ball, PH_RIGID, PH_SPHERE);
}
Allerdings bekomme ich mit dem "vec_set" einen syntaxerror. Irgendwas ist da falsch. mfG
|
|
|
Re: Teleporter Code
[Re: Liamissimo]
#355649
01/28/11 14:05
01/28/11 14:05
|
Joined: Sep 2003
Posts: 303 Germany
Clemens
Senior Member
|
Senior Member
Joined: Sep 2003
Posts: 303
Germany
|
Jo, so in der Art mache ich es auch... muss allerdings pXent_enable heißen und vector fehlt vor deinen Koordinaten  Problem allerdings ist, dass der Ball danach wenn ich ihn mit pXent_addforcecentral beschleunige, verrückt spielt (viel zu schnell ist, durch andere Physikobjekte hindurchgeht). Bin gespannt wie's bei dir, TheShooter, läuft. Benutzte auch addforce?
Last edited by Clemens; 01/28/11 14:07.
|
|
|
Re: Teleporter Code
[Re: Clemens]
#355651
01/28/11 14:10
01/28/11 14:10
|
Joined: Jul 2009
Posts: 1,198 Berlin, Germany
Liamissimo
Serious User
|
Serious User
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
|
Benutzt ihr add_force in einer Schleife und tragt den Ball mit pXent_settype aus dann verdoppelt sich im schlimmsten Falle die schleife, ergo alles wird doppelt so schnell.
"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen." -JCL, 2011
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|