Willkommen in der Webstatt Zum Webstatt Blog und Stories
nuit nuit am 21.03.06 15:18

ich hab 2 kleine scripte in JS geschrieben, die einfache parabolische Bewegungen machen <D

ich denke, sie werden so ziemlich jedem hier bekannt sein, weil ich sie schon einmal vorgestellt hatte...
nachdem der Source recht lang ist, stell ich die Seite bereit wo sie sind...ich denke der Source ist recht gut dokumentiert, und man kann recht gut erkennen, wie das ganze gelöst ist...

In beiden Scripten sind die Koordinaten auf Firefox eingestellt :D

hab das ganze ein bisschen vereinfacht, so dass jeder das script fuer seine eigenen Zwecke verwenden kann...das ganze ist jetzt umgedreht...d.h. die Schwerkraft zieht nach oben <D

<!--
var max_y = 300;
var max_x = 500;
var min_y = 0;
var min_x = 0;

var xvel = 10;
var yvel = 0;

var efficiency = 0.7;

var roll_friction = 0.98;
var fly_friction = 0.99;

function gravity() {

xcord = document.getElementById("dotz").style.left.replace("px","")*1;
ycord = document.getElementById("dotz").style.top.replace("px","")*1;

yvel = yvel-1;

ycord += yvel;
xcord += xvel;

if(ycord >= max_y || ycord <= min_y) {
yvel = -yvel;
yvel = Math.round(yvel*efficiency);
ycord = (ycord >= max_y ? max_y-1 : (ycord <= min_y ? min_y+1 : ycord));
}
if(xcord >= max_x || xcord <= min_x) {
xvel = -xvel;
xcord = (xcord >= max_x ? max_x-1 : (xcord <= min_x ? min_x+1 : xcord));
}

xvel = (ycord <= min_y+5 ? (xvel > -0.01 && xvel < 0.01 ? 0 : xvel*roll_friction) : xvel*fly_friction);

document.getElementById("dotz").style.left = xcord;
document.getElementById("dotz").style.top = ycord;

//document.getElementById("ausgabe").innerHTML = "XCord: "+xcord+"<br />YCord: "+ycord+"<br />YVel: "+yvel;

window.setTimeout("gravity()",50);
}
//-->
</script>
</head>
<body onLoad="gravity();">
<div id="ausgabe"></div>
<div id="dotz" style="position: absolute; top: 300px; left: 100px;">
ein Text der Lang ist<br />
Un über mehrere Zeilen geht
</div>
</body>
</html>

in die div-box mit der id "dotz" kann nun alles beliebige reingeschrieben werden und es dotzt nach oben..die ausgabe box kann entfernt werden, ich hab sie nur dringehabt fuer debugging um das ganze nach unten dotzen zul assen muessen ein paar vorzeichen umgedreht werden und ein paar if-schleifen-bedingungen, umgebaut werden... aber an siche ist das ganze ganz pasabel

netcup.de Warum gibt es hier Werbung?
Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt