0

我是帆布新手。我是一名学生,目前正在用画布开发跑步者游戏。我有事件发生时jump()调用的函数;mousedown()

function jump(){
    img= new Image();
    //is_jump=1;
    h.clearRect(20,430,170,250);
    img.onload= function(){
        //h.drawImage(img,mx,my,190,280,120,410,190,350);
        h.drawImage(img,mx,my,190,350);
        //mX--;
        //mY--;
    }
    img.src= "mario-Copy.png";
    h.clearRect(mx,my,190,350);
    //for(i=mx;i<130;i+=7)
    //{
    if(mx<110&&my<480){
        mx=(mx+5);
        my=(my-15);
        //setTimeout(h.drawImage(img,mx,my,190,350),100000/5);
        h.drawImage(img,mx,my,190,350);
    }else{
        mx=60;
        my=410;
    }
}

问题是跳跃角色工作不正常,跳跃缓慢,前进时无法清除之前的跳跃状态图像。

所以请帮帮我,这样我的动画才能正常流畅地工作。

目标是通过点击使角色跳跃。

4

1 回答 1

0

我认为问题在于您正在清除和重绘相同的跳转功能。我要做的是创建一个单独的 draw() 和 clear() 并将它们放在一个 setinterval 中并运行。然后,你的跳转函数需要做的就是更新你的对象的位置,你可以直接通过让你的跳转()改变被绘制的位置来完成,或者在绘制之前有一个单独的更新()函数来编辑这些值.

于 2013-04-26T22:53:38.880 回答