Hi,
ich habe angefangen eine Kleinigkeit zu schreiben, die mir ermöglichen soll ein Objekt mit Pfeiltasten über meinen Browser zu bewegen. Ich habe zusätzlich den Rand begrenzt, da es irgendwannn mal ein Spiel werden soll.
Die frage, die ich mir jetzt stelle ist:
Wie kann ich es am besten realisieren, dass wenn ich eine Art Mauer in die mitte Setze, dass mein Objekt dort anstößt und nicht weiter geht.
Theoretisch könnte ich ja eine If-Abfrage reinsetzen, die ähnlich wie die aussieht, die ich für die Ränder genommen habe. Wenn ich aber jetzt anfange irgendwelche Level zu schreiben, würde ich wahrscheinlich irgendwann an eine Grenze treffen, wo sich viele Fehler einschleichen würden.
Habt ihr vielleicht eine Idee, wie ich sowas am besten realisieren könnte?
Hier erstmal mein kleines Script:
lg weedo
ich habe angefangen eine Kleinigkeit zu schreiben, die mir ermöglichen soll ein Objekt mit Pfeiltasten über meinen Browser zu bewegen. Ich habe zusätzlich den Rand begrenzt, da es irgendwannn mal ein Spiel werden soll.
Die frage, die ich mir jetzt stelle ist:
Wie kann ich es am besten realisieren, dass wenn ich eine Art Mauer in die mitte Setze, dass mein Objekt dort anstößt und nicht weiter geht.
Theoretisch könnte ich ja eine If-Abfrage reinsetzen, die ähnlich wie die aussieht, die ich für die Ränder genommen habe. Wenn ich aber jetzt anfange irgendwelche Level zu schreiben, würde ich wahrscheinlich irgendwann an eine Grenze treffen, wo sich viele Fehler einschleichen würden.
Habt ihr vielleicht eine Idee, wie ich sowas am besten realisieren könnte?
Hier erstmal mein kleines Script:
HTML:
<html>
<head>
<script type="text/javascript">
var newxpos = 0;
var newypos = 0;
function TasteGedrueckt (Ereignis) {
if (!Ereignis)
Ereignis = window.event;
if (Ereignis.which) {
Tastencode = Ereignis.which;
} else if (Ereignis.keyCode) {
Tastencode = Ereignis.keyCode;
}
objId = document.getElementById('player');
oldxposlength = objId.style.left.length - 2;
oldyposlength = objId.style.top.length - 2;
oldxpospx = objId.style.left;
oldypospx = objId.style.top;
oldxpos = oldxpospx.substr(0, oldxposlength);
oldypos = oldypospx.substr(0, oldyposlength);
switch(Tastencode){
case 39:
//rechts
if(oldxpos < 427) {
oldxpos++;
newxpos = oldxpos + 24;
newxpos = newxpos + "px";
newypos = oldypos + "px";
moved = 1;
}
break
case 37:
//links
if(oldxpos > 0) {
newxpos = oldxpos - 25;
newxpos = newxpos + "px";
newypos = oldypos + "px";
}
break
case 38:
//oben
if(oldypos > 0) {
newypos = oldypos - 25;
newypos = newypos + "px";
newxpos = oldxpos + "px";
}
break;
case 40:
//unten
if(oldypos < 427) {
oldypos++;
newypos = oldypos + 24;
newypos = newypos + "px";
newxpos = oldxpos + "px";
}
break;
default:
newxpos = oldxpos + "px";
newypos = oldypos + "px";
break
}
objId.style.left = newxpos;
objId.style.top = newypos;
//alert(newxpos + " - " + oldxpos + "\n" + newypos + " - " + oldypos)
}
document.onkeydown = TasteGedrueckt;
</script>
</head>
<body>
<div style="z-index: 1; position:absolute; top 50px; left: 50px; width: 502px; height: 502px; background-color: #F0F0F0; border: 1px solid #555555;" id="background">
<div style="z-index: 2; position:absolute; top: 250px; left: 250px; width: 50px; height:50px; background-color: #555555; border: 1px dashed #FF0000;" id="player">
</div>
</div>
</body>
</html>
lg weedo