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