2013-03-25 161 views
4

我是一个html5的初学者,在一个简单的程序中面临这个问题,在屏幕上移动图像。它是一个简单的pacman程序,我使用了两个图像。一个是嘴巴张开,另一个嘴巴闭合的pacman当我试图在屏幕上向右移动时,它必须返回到其初始位置。它尝试了很多方法,但都没有成功。它只能移动一次,下一步它是静态的。这将是真正有用的,如果有人能解决这个在屏幕上移动图像

<html> 
<head> 
<SCRIPT> 
    var timer = setInterval(Run,500); 
    flag = 1; 
    function Run(){ 
    img1 = document.getElementById("PacMan"); 
    var init=0; 
    var x = 0; 
    var dest_x = 800; 
    var interval = 10; 
    if(x<dest_x) 
     x = x + interval; 
     img1.style.left = x+"px"; 
    if (x+interval < dest_x) 
     img1.style.left = init+"px"; 
    if(flag ==1){ 
     img1.src = "PacMan2.png"; 
     flag=0; 

    } 
    else { 
     img1.src = "PacMan1.png"; 
     flag=1; 
    } 
    } 
</SCRIPT> 
</head> 
<body> 

<img id="PacMan" src = "PacMan1.png" onClick=clearInterval(timer) 
style="position:absolute"> </img> 
</body> 
</html> 
+2

以x +间隔您随时添加间隔为零;首先得到当前的分位置。 – Damian0o 2013-03-25 11:06:48

回答

4

尝试function Run(){之前移动

var init=0; 
var x = 0; 
var dest_x = 800; 
var interval = 10; 

现在您用初始数据覆盖结果。

-1

在我看来,你必须做出这个使用Canvas(查看MDN的例子)和JavaScript。

+1

这不是一个答案。意见进入评论区。 – Rob 2013-03-25 11:30:38

0
var timer = setInterval("Run()",500); 

你错过了一些逗号!

+1

-1使用eval符号。不要将字符串传递给该函数。 – ThiefMaster 2013-04-25 16:55:42

0

尝试读取当前吃豆子位置

var x = img1.offsetLeft;