Bewegungen

Posted By: starwolf

Bewegungen - 05/29/06 16:02

hallo leute ja ich bins wieder lol.

habe nen paar fragen.

1: wie kann man ne kugel so zum rollen bringen das sie mit der bewegung mitrollt?
2: wie kann man eine kugel bei loslassen der taste zum rutschen bringen so das sie wie auf eis weiterrutscht?


hier ist noch mein script ist aber noch im teststadium also nicht wundern ist nix aufgeräumt.

action my_ball
{
my.passable == off; // Ball ist Passable

var move_vec [1]; // Move_vec = 1
var my.speed = 1;
while(me) // Warte auf mich



// NORMALE BEWEGUNG
{

move_vec.x = my.speed * (key_w-Key_s) * time; // Move_vec.x = 10 * in plus oder minus mal die zeit des drückens
move_vec.y = my.speed * (key_a-Key_d) * time; // Move_vec.y = """"""

if (my.speed > 0)
{
my.speed += 0.5 *time;
if (my.speed >15)
{
my.speed += 0.5 * time;
if (my.speed > 50)
{
my.speed = 50;
if (my.speed >=1 && key_w == off)
{
my.speed -= 1 * time;
if (my.speed < 0)
{
my.speed = 0;
}
}
}
}
}

// SETTINGS ZU Z DOWN
vec_set(temp,my.x); // setzten des Vectors aus sicht der X.Achse des Balls
temp.z -= 1000; // Temp.z sucht in z im bereich von 1000 quants nach dem nächsten grund
trace_mode =ignore_me + ignore_passable + use_box + glide; // trace ist der modus um denn ball auf null zu setzen
my.skill20 = trace(my.x,temp); // my.skill20 denn wert des trace geben

// BALL AUF Z 0 SETZEN UND LANGSAMES FALLEN
if (my.skill20 > 1) // wenn my.skill20 größer wie 1
{
move_vec.z -= 10 * time; // DANN setze ihn um - 1 pro zeit herunter
}
else // oder
{
if (my.skill20 < 0) // wenn my.skill20 kleiner ist wie 0
{
move_vec.z = 0; // DANN setze z auf 0
}
}



move_mode = glide; // kollisions bewegungsmodus an der wand langgleiten
result = ent_move (move_vec, nullvector); // kollisionsausführung
wait (1);
}
}
Posted By: PAS

Re: Bewegungen - 05/29/06 21:03

nimm doch newton game dynamics, da hast du realistische physik.



PAS
Posted By: starwolf

Re: Bewegungen - 05/29/06 21:29

ja das ist ja gut und schön habe es nun auch geladen aber mein englisch ist nicht so gut. wie funzt das programm eigentlich ?
Posted By: starwolf

Re: Bewegungen - 05/29/06 21:49

ahhh danke PAS habe immer gedacht das ich die bremskraft und die bremsstrecke normal scripten muß wie die geschwindigkeitserhöhung die ich oben gescriptet habe. bin noch nicht solange dabei aber nun werde ich mal nen bissel in dem physiktut rumlesen. danke dir für den tipp.
gruß wolf
Posted By: PAS

Re: Bewegungen - 05/30/06 01:56

jo kein problem, ich experimentiere selbst ein bischen mit dem tool.
Wenn du irgendwie Probleme hast, dann sprech mich an, dann kann ich ja versuchen dir zu helfen, denn ich weiß selbst, das man manchmal am verzweifeln ist


PAS
Posted By: starwolf

Re: Bewegungen - 05/30/06 22:23

so nun habe ich ein voll funktionsfähiges physik script aber das mit dem rollen funzt ums verrecken nicht wenn ich force.x anhabe dann dreht sich die kugel zwar in der luft in nem relativ großen radius aber eigentlich sollte sie ja auf dem boden bleiben und sich dort mit drehen bei denn bewegungen. hier mein script.

action my_ball
{
my.passable == off;
var friction;
var force[3];
var dist[3];
while (me)
{
force.PAN = -5 * (key_d-Key_a); // berechne Kraft der Drehung
my.SKILL14 = TIME*force.PAN + max(1-TIME*0.7,0)*my.SKILL14; // Drehgeschwindigkeit
my.PAN += TIME * my.SKILL14; // drehe den Player



vec_set (temp,my.x);
temp.z -= 1000;
trace_mode = ignore_me + ignore_passable + Use_box + glide;
result = trace(my.x,temp);
if (RESULT > 5) // in der Luft?
{
force.X = 5 * (key_w-Key_s); // keine schiebende Kraft
force.Y = 0;
force.Z = -10; // Schwerkraft
friction = 0.1; // Luftreibung
}
else // auf und nahe dem Boden
{
force.X = 30 * (key_w-Key_s); // Vorwärtskraft
force.Y = 0;
force.Z = -0.5 * RESULT; // Boden-Elastizität
friction = 0.7; // Bodenreibung
}
my.SKILL11 = TIME * force.X + max(1-TIME*friction,0) * my.SKILL11;
my.skill13 = TIME*force.Z + max(1-TIME*friction,0)*my.SKILL13; // Geschwindigkeit vertikal

dist.X = TIME * my.SKILL11; // Distanz vorwärts
dist.Y = 0;
dist.Z = time * my.skill13;

??? force.tilt = -1 * force.x;
??? my.skill15 = time*force.tilt + max(1-time*0.5,0)*my.skill15;
??? my.tilt += time * my.skill15;

move_mode = ignore_passable + glide;
ent_MOVE(dist,nullvector); // bewege Player
wait(1);
}
}

der abschnitt mit denn fragezeichen ist es. gruß wolf
Posted By: Hummel

Re: Bewegungen - 05/31/06 06:23

Liegt der Ursprung im MED auch im Zentrum deiner Kugel...?
Posted By: starwolf

Re: Bewegungen - 05/31/06 14:03

he he ne diesmal habe ich denn nullpunkt in med genau in der mitte meiner kugel das problem ist das sie beim rollen kurz nach vorne rollt und dann abhebt und in der luft ihre kreise zieht. sogar ohne bodenkontakt lol. ist ein scheiß wenn man keinen schimmer hat lol dachte es währe gleich wie bei der drehung per force.y aber da habe ich mich wohl geirrt ich bekomme es einfach nicht auf die reihe. gruß wolf
Posted By: Hummel

Re: Bewegungen - 05/31/06 15:11

Ist jetzt vieleicht keine Hilfe, aber schreib "scheiß" besser schei*,
oder so( oder gar nicht ),denn ich glaube sonst kanns Ärger geben
Posted By: starwolf

Re: Bewegungen - 05/31/06 15:23

echt? hoppla dachte halt solange ich niemanden beleidige währe es ok. danke für denn tip. ist halt irgendwie nen kreuz mit dem scripten es gibt zwar tutorials für recht viel aber wie man das dann erweitern kann oder so. bin schon seid gut 4 wochen dran ne kugel zu bewegen ist mir so rausgerutscht. entschuldigung auch an denn moderator dieses forums wenn er dies lesen sollte. passiert nemme.
Posted By: anarchie2199

Re: Bewegungen - 05/31/06 15:55

Ich hab dir schon vor Tagen einen Tipp in einen dieser vielen anderen Threads die sich auf dieses Thema beziehen geschrieben. (Map Entity)
Also nicht jammern, sondern lesen!
Posted By: starwolf

Re: Bewegungen - 05/31/06 16:09

ja ich weiß ein newbie ist halt ne last. ich weiß das du was dazu geschrieben hast und ich habe es auch versucht das kannst mir glauben und ich bin auch nicht froh das ich nichtmehr weiterkomme. weiß ja nicht wie es dir gegangen ist wo du angefangen hast. es ist nunmal schwer sowas zu lernen auch wenns als leicht im gegensatz zu c++ bezeichnet wird. stimmt ja auch aber ich würde sicher nicht nen neuen post aufmachen wenn jemand in die posts schauen würde die da vielleicht als abgeschlossen gelten. habe da schonmal neue fragen gestellt aber da schaut auch keiner mehr rein und wenn ich das LERNEN will muß ich mich halt durchfragen. lese ja auch schon wie nen verrückter tutorials und arbeite von 4 bis teilweise 1 uhr nachts an meinem programm. und wie du siehst habe ich mich bisher schon bis in die physik rangetastet bei denn vielen steinen die mir im weg lagen (hast glaube ich auch geantwortet auf C_move das ja bei mir nicht geht.) ist das für mich ein fortschritt.
© 2024 lite-C Forums