Warum friert mein Spiel ein?

Posted By: Robso661

Warum friert mein Spiel ein? - 03/05/10 19:29

Hallo,
ich benutze folgenden Code:

///////////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////////////////////////////////////
VECTOR ball_force;
ENTITY* ball;


function main()
{

level_load("level2.wmb"); // load the level
ball = ent_create ("ball.mdl", vector(-400, 0, 100), NULL); // create the ball
ph_setgravity (vector(0, 0, -400)); // set the gravity
phent_settype (ball, PH_RIGID, PH_SPHERE); // set the physics entity type
phent_setmass (ball, 3, PH_SPHERE); // and its mass
phent_setfriction (ball, 100); // set the friction
phent_setdamping (ball, 40, 40); // set the damping
phent_setelasticity (ball, 30, 30); // set the elasticity
while (1)
{
ball_force.y = 150 * time_step * ((key_cuu || key_w) - (key_cud || key_s));
ball_force.x = 150 * time_step * ((key_cur || key_d) - (key_cul || key_a));
ball_force.z = 0;
phent_addtorqueglobal (ball, ball_force);
camera.y = ball.y;
camera.z = ball.z + 200;
camera.x = ball.x-300;
camera.tilt = -25;

if (key_cud || key_s)
{
camera.x=ball.x-700;
}


if (key_space || ball.z<10)
{
phent_setdamping (ball, 85, 85); // Spiele mit diesen Werten hier
} else {
phent_setdamping (ball, 0, 0);
}

wait (1);
}
}

Mein Problem, nach dem starten des Scripts, friert mein Spiel für etwa 4 Sekunden ein und dann geht es auf einmal ganz normal. Wenn ich einen Medialoop in das Script einbaue und es starte, friert wieder nur das Spiel für etwa 4 Sekunden ein und die Musik läuft weiter. Woran liegt das? Ist mein Pc einfach zu lahm?
Posted By: Progger

Re: Warum friert mein Spiel ein? - 03/05/10 19:55

du darfst den media loop nicht in die while schleife schreiben sondern musst ihn vor level_load setzen
Hoffe ich konnte helfen (:
MFG progger
Posted By: SchokoKeks

Re: Warum friert mein Spiel ein? - 03/05/10 21:10

nach level_load musst du mindestens 2 frames warten, besser 3 oder 4:

...
level_load("level2.wmb"); // load the level
wait(4); // wait 4 frames
ball = ent_create ("ball.mdl", vector(-400, 0, 100), NULL); // create the ball
...

ansonsten ist dein level vielleicht sehr groß?
Posted By: Robso661

Re: Warum friert mein Spiel ein? - 03/06/10 10:09

@ progger:
hab ich auch nicht gemacht. egal ob mit oder ohne media loop. das speil bleibt immer hängen für 4 sec. dann geht es ganz normal. und das mit dem media loop sagte ich nur um zu sagen, dass nicht das ganze programm einfriert sondern nur das bild

ich versuche das mit dem warten mal

ne mein level ist nicht sehr groß eher klein

Posted By: Progger

Re: Warum friert mein Spiel ein? - 03/07/10 01:01

setzte mal fps_max=60; vor level_load
Hoffe ich konnte helfen
MFG progger laugh
Posted By: alibaba

Re: Warum friert mein Spiel ein? - 03/07/10 06:42

Ich denke, deine Ball.mdl ist eine greoße mdl datei, so dass es etwas dauert, bis es geladen ist. oder du hast wenig arbeitsspeicher.
© 2024 lite-C Forums