Probs mit JS
Torsten
Hallo !
Ich habe nun Stunden an diesem JS rumgeschraubt aber irgendwie gehts noch nicht 100%.
Das Problem ist recht weit unten.... (zZ auskommentiert)
//Breakout
//by TRANSISTOR
document.write('<LAYER ID="BRICK" LEFT=5 TOP=20 WIDTH=300 HEIGHT=200>');
document.write('<CENTER>');
for (x=0;x<=10;x++) document.write('<IMG SRC="brick.gif" HEIGHT=5 WIDTH=10 NAME='+x+'>');
document.write('</CENTER>');
document.write('</LAYER>');
document.write('<LAYER NAME="PADDLE" LEFT=135 TOP=280 WIDTH=50 HEIGHT=3><IMG SRC="paddle.gif" HEIGHT=3 WIDTH=50></LAYER>');
document.write('<LAYER NAME="BALL" LEFT=150 TOP=180 WIDTH=5 HEIGHT=5><IMG SRC="ball.gif" HEIGHT=5 WIDTH=5></LAYER>');
var xp,xb,yb,ud,lr,ex,punkte;
punkte=0;
ex=0;
ud=-5;
lr=5;
xp=142;
xb=150;
yb=180;
calculate();
function calculate()
{
document.onKeyPress = chkkey;
document.captureEvents(Event.KEYPRESS);
document.layers.PADDLE.left=xp;
document.layers.BALL.left=xb;
document.layers.BALL.top=yb;
if (ud<0)
{
if (yb>5)
{
if ((yb<=28)&&(yb>=22)&&(xb<=205)&&(xb>=195)&&(document[10].src==brick.src))
{
ud=5+Math.round(Math.random());
document[10].src=brickb.src;
punkte++;
}
if ((yb<=28)&&(yb>=22)&&(xb<=195)&&(xb>=185)&&(document[9].src==brick.src))
{
ud=5+Math.round(Math.random());
document[9].src=brickb.src;
punkte++;
}
...geht so weiter mit diversen abfragen...
yb=yb+ud;
}
else
{
ud=5+Math.round(Math.random());
yb=yb+ud;
}
}
else
{
if (yb<276)
{
if ((yb<=28)&&(yb>=22)&&(xb<=205)&&(xb>=195)&&(document[10].src==brick.src))
{
ud=-5-Math.round(Math.random());
document[10].src=brickb.src;
punkte++;
}
if ((yb<=28)&&(yb>=22)&&(xb<=195)&&(xb>=185)&&(document[9].src==brick.src))
{
ud=-5-Math.round(Math.random());
document[9].src=brickb.src;
punkte++;
}
...geht so weiter mit diversen abfragen...
yb=yb+ud;
}
else
{
if ((xb>=xp-2)&&(xb<=xp+50))
{
ud=-5-Math.round(Math.random());
yb=yb+ud;
}
else ex=1;
}
}
if (lr>0)
{
if (xb<285) xb=xb+lr;
else
{
lr=-5-Math.round(Math.random());
xb=xb+lr;
}
}
else
{
if (xb>15) xb=xb+lr;
else
{
lr=5+Math.round(Math.random());
xb=xb+lr;
}
}
if ((ex==1)||(punkte==19))
{
document.releaseEvents(Event.KEYPRESS);
document.write('<LAYER NAME="END" LEFT=1 TOP=1 WIDTH=298 HEIGHT=298>');
document.write('<CENTER><BR><FONT SIZE=+2>GAME OVER</FONT>');
//if (punkte<19) document.write('Sie haben '+punkte+' erreicht!');
// else document.write('Sie haben alles abgeraeumt!');
---------------------------------------------------------------------------------------------------------------------------------------
Hier ist nun das Problem!
Ich bekomme immer die Fehlermeldung, das punkte nicht definiert ist (nicht bekannt, wenn ich den Kommentar freigebe).
Warum um Himmels willen das ?
Ich habe das doch als global Variable eingerichtet!? Liegt es daran das ich hier einen neuen Layer einrichte ?
Gibt es eigentlich eine Moeglichkeit einen Layer wieder loszuwerden ?
Ausserdem faengt Netscape beim schreiben in den Neuen Layer immer an den Statusbalken
unten Links zu bewegen (ohne anzuhalten). Wieso dies ?
Gibt es eine Moeglichkeit das document.write mit einem Zielfenster zu versehen ?
(ich moechte hier aus diesem JS etwas in ein anderes Fenster schreiben..)
Vielen Dank
Torsten (der sich ueber eine Antwort riesig freuen wuerde..)
---------------------------------------------------------------------------------------------------------------------------------------
document.write('<BR><BR><A HREF="break.html" TARGET="_self">Noch einmal</A></CENTER>');
document.write('</LAYER>');
return;
}
else setTimeout("calculate();",1);
}
function chkkey(e)
{
var taste;
taste=e.which;
if ((taste==44)&&(xp>=25)) xp=xp-25;
if ((taste==46)&&(xp<=225)) xp=xp+25;
}