0
我是新的画布。我是一名正在开发帆布赛跑运动员的学生。我有功能jump()
,这是在发生事件时调用的;HTML5游戏跳转()函数无法正常工作
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;
}
}
的问题是,跳跃的字符不能正常工作,它跳慢点,不要清除以前的跳跃状态图像,而前进。
所以帮助我,让我的动画正常顺利地运作。
目标是通过点击使角色跳跃。
有了互动内容/游戏,发布一个简单的代码片段(它可以自己运行)几乎是最好的办法(http://sscce.org)。如果我们无法为一般场景重现此问题,则可能是本地化的问题。但是对于其中之一,你不应该为每次跳转加载'mario-Copy'。而是加载图像_once_并重新使用它。 – Zeta 2013-04-25 10:45:47
你能否解释各种魔法数字(如190和350)在你的代码中的重要性?最好的做法是[用一个明显命名的常量代替那些实际表示数字的意思](http://www.refactoring.com/catalog/replaceMagicNumberWithSymbolicConstant.html)。魔法数字[你的代码不好](http://stackoverflow.com/q/47882/254830)。 – doppelgreener 2013-04-26 02:26:47
@Jonathan Hobbs,“190和350”是指跑步者字符的宽度和高度,在上面的代码中h.clearRect(20,430,170,250);意思是h.clearRect(x,y,w,h); mx表示跑步者的x轴,我的意思是他的y轴。 – 2013-09-05 21:45:22