|
[Newton] Ball fällt einfach durch
#72343
04/27/06 14:14
04/27/06 14:14
|
Joined: Mar 2004
Posts: 286 Maintal, Deutschland
TheTommynator
OP
Member
|
OP
Member
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
|
Ich habe heute erste Experimente mit Newton gestartet. Dazu habe ich einen einfach Level erstellt und ein Model (ein Ball) darin platziert. Dieser Ball soll nun einfach von oben in den Level fallen und dann verschiedene Hindernisse treffen. Dazu habe ich dem Ball die Action NewtonBallConst zugewiesenen (weil sie mir am ehesten passend für einen Ball vorkam). Allerdings weiß ich nicht so recht welche Werte ich darunter angeben muss. Deswegen habe ich den Level einfach mal gestartet, allerdings fällt der Ball einfach von oben durch die Levelgeometrie durch den Level. Vielleicht könnt ihr mir helfen. P.S.: Hier findet ihr meine Leveldateien: Leveldateien +WDL's Edit: Link geht jetzt EDIT2: Vielleicht hat auch jemand ein gutes Tutorial zu Newton für mich??
Last edited by TheTommynator; 04/27/06 14:23.
Back @ work with 3DGS.
|
|
|
Re: [Newton] Ball fällt einfach durch
[Re: TheTommynator]
#72345
04/27/06 14:45
04/27/06 14:45
|
Joined: Mar 2006
Posts: 21
Krato
Newbie
|
Newbie
Joined: Mar 2006
Posts: 21
|
also du musst vor die Include Files noch
bmap splashscreen = <newtonsplash.tga>; string newtonLevel_cls = <newton01.cls>;
schreiben.
und in die function main musst du hinter level_load(level_str) folgendes schreiben:
wait(1); dll_handle = newtonHandle; NewtonAddMap(level_str, splashscreen);
3D Gamestudio A6 Extra Sybex Version
|
|
|
Re: [Newton] Ball fällt einfach durch
[Re: TheTommynator]
#72347
04/27/06 17:20
04/27/06 17:20
|
Joined: Mar 2004
Posts: 286 Maintal, Deutschland
TheTommynator
OP
Member
|
OP
Member
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
|
So, das mit der Kollision funktioniert jetzt soweit Allerdings wollte ich eigentlich, dass der Ball oben erst hin und her fährt und dann auf Mausklick herunterfällt. Zwar fährt der Ball aus mir bisher nicht ersichtlichen Gründen bis nach rechts, aber dann fällt er auf Mausklick auf seiner Ursprünglichen Position herunter anstatt an der veränderten. Vielleicht kann nochmal jemand einen Blick auf meinen Code werfen. Ich hoffe mal, dass ihr mir helfen könnt. Hier der aktuelle Link: http://www.fun-maximum.de/Forenbilder/Ball.zip
Back @ work with 3DGS.
|
|
|
Re: [Newton] Ball fällt einfach durch
[Re: TheTommynator]
#72348
04/27/06 17:40
04/27/06 17:40
|
Joined: Mar 2006
Posts: 21
Krato
Newbie
|
Newbie
Joined: Mar 2006
Posts: 21
|
setzt einfach
NewtonCreateGravityEntity (ball_material); ball = my; var physik_ball; physik_ball = NewtonGetBody (my); NewtonSetBodyAutoActiveState (physik_ball, 0);
hinter
while (mouse_left != 1) { if ((my.x <= 187) && (my.x >= -176)) { my.x += 10 *time; } else { my.x -= 10 *time; } wait(1); }
und setzt im Action Menu in Wed Start_Avtive auf unchecked.
3D Gamestudio A6 Extra Sybex Version
|
|
|
Re: [Newton] Ball fällt einfach durch
[Re: Krato]
#72349
04/27/06 18:37
04/27/06 18:37
|
Joined: Mar 2004
Posts: 286 Maintal, Deutschland
TheTommynator
OP
Member
|
OP
Member
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
|
Danke Hat sehr gut funktioniert. Allerdings habe ich jetzt noch ein kleines Problem. Und zwar dringt der Ball in den Boden ein. Wie kann ich dieses Problem lösen?
Back @ work with 3DGS.
|
|
|
Re: [Newton] Ball fällt einfach durch
[Re: Samb]
#72351
04/28/06 12:08
04/28/06 12:08
|
Joined: Mar 2004
Posts: 286 Maintal, Deutschland
TheTommynator
OP
Member
|
OP
Member
Joined: Mar 2004
Posts: 286
Maintal, Deutschland
|
Hmmm... Mein Code sieht meiner Meinung nach eigentlich genauso aus, wie er sein müsste. Hier ist der Code nochmal verklinkt: http://www.fun-maximum.de/Forenbilder/Ball.zipAber ich hab da noch ein weiteres kleines Problem. Und zwar möchte ich mit einem Rechtsklick den Ball wieder resetten und von oben neu in den Level fallen lassen. Das mit dem Resetten klappt auch wunderbar, aber sobald ich die Physik wieder aktiviere fällt der Ball an der Stelle weiter, an der ich die Physik gestoppt habe. Wie kann ich die Physik auch resetten? Und wie sorge ich dafür, dass der Ball nicht in die Levelgeometrie eindringt? Diese 2 Fragen beantwortet, und ich bin glücklich
Back @ work with 3DGS.
|
|
|
Re: [Newton] Ball fällt einfach durch
[Re: TheTommynator]
#72352
04/28/06 17:44
04/28/06 17:44
|
Joined: Nov 2000
Posts: 1,534 hamburg
Samb
Serious User
|
Serious User
Joined: Nov 2000
Posts: 1,534
hamburg
|
so habe seinen code so berichtigt das alles geht hier mal der code:
action PhysikBall { var physik_ball; NewtonCreateGravityEntity(ball_material); //erstelle das newton objekt physik_ball = NewtonGetBody(my); // gebe ohysik_ball den pointer des newton objektes NewtonSetBodyActiveState(physik_ball, 0); // das newton objekt ist inaktiv while (bereit != 1) { wait(1); } ball = my; initialisiert = 0; //my.light = ON; //my.blue = 255,255,255; //my.lightrange = 100; vec_set(my.skill20, my.x); restart: while (mouse_left != 1) { while (my.x <= 170 && mouse_left != 1) { my.x += 5 * time; wait(1); } while (my.x >= -170 && mouse_left != 1) { my.x -= 5 * time; wait(1); } wait(1); } NewtonBodySetVelocity(physik_ball,nullvector); // damit wird das physik objekt auf null gesetzt vom antrieb. wenn es nicht gesetzt wird, würde es so beim start fliegen, wie man es mit rechtsklick wegholte. NewtonBodySetTransform(physik_ball); // stelle die newton engine zurück NewtonSetBodyActiveState (physik_ball, 1); //aktiviere das objekt wieder //if (initialisiert == 0) //{ //} initialisiert = 1; while (mouse_right != 1) { wait(1); }
vec_set(my.x, my.skill20);
NewtonBodySetTransform(physik_ball); //mache es transportierbar NewtonSetBodyActiveState (physik_ball, 0); //deaktiviere es goto(restart); }
und wegen dem prob das die objekte in den boden reinfallen: setzt ein wait(3); vor der level_load(name); funktion.
|
|
|
|