TechIlliterate
12-04-2012, 03:45 PM
The following code should allow the user to control the movement of the "Hydralisk" gif with the arrow and WASD keys, but nothing happens upon pressing either. I've gone through the code several times and can't find an error.
I'm very new to Javascript, so please explain what I did wrong if it's anything major.
Thanks! :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Phase 3</title>
<style>
#Hydralisk {position:absolute; left:200px; top:200px}
</style>
<script>
var timer
var leftPressed = false
var rightPressed = false
var upPressed = false
var downPressed = false
var myTop = 200
var myLeft = 200
var movement = 10
function startMovementCycle()
{
timer=setInterval('moveHydralisk()',50)
}
function checkIfPressed(event)
{
if (event.keyCode==37 || event.keyCode==65) {leftPressed = true}
if (event.keyCode==38 || event.keyCode==87) {upPressed = true}
if (event.keyCode==39 || event.keyCode==68) {rightPressed = true}
if (event.keyCode==40 || event.keyCode==83) {downPressed = true}
}
function checkIfNotPressed(event)
{
if (event.keyCode==37 || event.keyCode==65) {leftPressed = false}
if (event.keyCode==38 || event.keyCode==87) {upPressed = false}
if (event.keyCode==39 || event.keyCode==68) {rightPressed = false}
if (event.keyCode==40 || event.keyCode==83) {downPressed = false}
}
function moveHydralisk()
{
if (upPressed = true) {myTop-=movement; document.getElementById('Hydralisk').style.top=myTop+"px"}
if (downPressed = true) {myTop+=movement; document.getElementById('Hydralisk').style.top=myTop+"px"}
if (leftPressed = true) {myLeft-=movement; document.getElementById('Hydralisk').style.left=myLeft+"px"}
if (rightPressed = true) {myLeft+=movement; document.getElementById('Hydralisk').style.left=myLeft+"px"}
}
</script>
</head>
<body onload="startMovementCycle()" onkeydown="checkIfPressed(event)" onkeyup="checkIfNotPressed(event)">
<div id="Hydralisk"><img src="Images/Hydralisk.gif" /></div>
</body>
</html>
I'm very new to Javascript, so please explain what I did wrong if it's anything major.
Thanks! :)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Phase 3</title>
<style>
#Hydralisk {position:absolute; left:200px; top:200px}
</style>
<script>
var timer
var leftPressed = false
var rightPressed = false
var upPressed = false
var downPressed = false
var myTop = 200
var myLeft = 200
var movement = 10
function startMovementCycle()
{
timer=setInterval('moveHydralisk()',50)
}
function checkIfPressed(event)
{
if (event.keyCode==37 || event.keyCode==65) {leftPressed = true}
if (event.keyCode==38 || event.keyCode==87) {upPressed = true}
if (event.keyCode==39 || event.keyCode==68) {rightPressed = true}
if (event.keyCode==40 || event.keyCode==83) {downPressed = true}
}
function checkIfNotPressed(event)
{
if (event.keyCode==37 || event.keyCode==65) {leftPressed = false}
if (event.keyCode==38 || event.keyCode==87) {upPressed = false}
if (event.keyCode==39 || event.keyCode==68) {rightPressed = false}
if (event.keyCode==40 || event.keyCode==83) {downPressed = false}
}
function moveHydralisk()
{
if (upPressed = true) {myTop-=movement; document.getElementById('Hydralisk').style.top=myTop+"px"}
if (downPressed = true) {myTop+=movement; document.getElementById('Hydralisk').style.top=myTop+"px"}
if (leftPressed = true) {myLeft-=movement; document.getElementById('Hydralisk').style.left=myLeft+"px"}
if (rightPressed = true) {myLeft+=movement; document.getElementById('Hydralisk').style.left=myLeft+"px"}
}
</script>
</head>
<body onload="startMovementCycle()" onkeydown="checkIfPressed(event)" onkeyup="checkIfNotPressed(event)">
<div id="Hydralisk"><img src="Images/Hydralisk.gif" /></div>
</body>
</html>