Gamestudio Links
Zorro Links
Newest Posts
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (VoroneTZ), 721 guests, and 4 spiders.
Key: Admin, Global Mod, Mod
Newest Members
LucasJoshua, Baklazhan, Hanky27, firatv, wandaluciaia
19054 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Kleine Frage #130026
05/15/07 16:04
05/15/07 16:04
Joined: Jun 2005
Posts: 154
M
Marc Offline OP
Member
Marc  Offline OP
Member
M

Joined: Jun 2005
Posts: 154
Hi, Leute

kann mir einer sagen, wie ich mache, dass sich eine Entität auf eine bestimmte Höhe einpendelt. So wie eine Brief-Waage die aus dem Gleichgewicht gekommen ist.

Es müsste auch möglich sein, dass sich der Höhenwert währenddessen ständig ändern kann.

Ich hab mich den ganzen letzten Tag mit einem Code herumgeschlagen, der sowas machen soll:

target.z+=200;
if(my.z>target.z){v0+=0.05; my.z-=v0;}
if(my.z<target.z){v0-=0.05; my.z-=v0;}

Target wird hier von C_trace auf den Boden (Terraing) unter der Entität geworfen und um 200 Quants gehoben.

Die Entität soll sich also 200 Quants über dem Boden einpendeln.


Ich habs aber nur soweit geschafft, dass die Entität "drumherumpendelt" un sich die Amplitude (der Abstand vom höchten bis zum tiefsten Pendelpunkt) nicht ändert.

Danke schonmal im Voraus

Re: Kleine Frage [Re: Marc] #130027
05/15/07 16:39
05/15/07 16:39
Joined: Jul 2006
Posts: 511
Germany,NRW
KMS Offline
User
KMS  Offline
User

Joined: Jul 2006
Posts: 511
Germany,NRW
Ich weiß zwar nicht,was Du genau vorhast,aber wie wäre es mit einer Physikentity?Je nach Masse müßte diese ja zunächst mal über den Zielpunkt hinausschießen und wenn man dann das Ding zurückbewegt...


You need full animated lowpoly-fishes?Look at
http://www.projekt-3d.de/pages/shop2pag.html
Re: Kleine Frage [Re: Marc] #130028
05/15/07 16:47
05/15/07 16:47
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
gedämpfte schwingung, hm?

d = 0;

...

d += time;
v0 = (my.z-200)*0.01*pow(2.718, -d*A);
my.z += v0;

die dauer, bis das teil auf den n-ten teil abgeklungen ist, erhälst du per Tn = ln(n)/A.

edit: ja, das ist physik. wenn du nur "eine" gleichung verwenden willst, benutzt du am besten:

d = 0;

d += time;
my.z = 200*pow(2.718, -d*A)*sin(2*3.142/T*d);

vorteil: hier kannst du über den parameter T noch die periodendauer der schwingung ändern. bei T = 2*pi z.b. 1 sekunde, T = 4*pi 2 sekunden usw. für A gilt das gleiche wie oben.

Last edited by Joey; 05/15/07 16:51.
Re: Kleine Frage [Re: Joey] #130029
05/16/07 16:51
05/16/07 16:51
Joined: Jun 2005
Posts: 154
M
Marc Offline OP
Member
Marc  Offline OP
Member
M

Joined: Jun 2005
Posts: 154
Ich danke für die nützlichen Beiträge.

Dieser Code funktionirt ganz gut:

c_trace(my.x,vector(my.x,my.y,my.z-1000),ignore_me);
target.z+=200;
v0=vec_dist(my.x,target); d0=v0;

if(my.z>=target.z){v1+=0.05;my.z-=v1;}
if(my.z<=target.z){v1-=0.05;my.z-=v1;}

if(v0<50){ if(v1>0){v1-=0.01;}
if(v1<0){v1+=0.01;}
}

Bis bald...


Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1