我想從紙條開始。我嘗試使用jsfiddle,但出於某種原因,HTML5畫布無法正常工作。所以作爲一種解決方法,我使用了http://jsbin.com/gugihuwegopa/1/。要使用此網站進行編輯,請點擊窗口右上角的編輯按鈕。無論如何,我的問題是,當槳沒有移動時,球正確地從所有側面彈跳(nomove
變量與此無關,只是爲了使它與「w」鍵一起消失)。但是,當我用鼠標將槳移向球時,它會卡在槳內。我認爲這是因爲它沒有足夠快地更新槳的位置,所以球終止在它內部,並且我的代碼在內部繼續引起球跳動。 (直到快速移動槳葉並使其脫開)。是的,我曾嘗試在cxt.arc()
之前放置cxt.fillRect
。有時球也會穿過槳。我想辦法解決,這將在球的方向需要考慮到我的兩個if
聲明:乒乓球拍移動時帆布球彈向錯誤方向
if(y+ymove>=w && y+ymove<=w+h && x>=s && x<=s+l) ymove*=-1; //top and bottom
if(x+xmove>=s && x+xmove<=s+l && y+ymove<=w+h && y+ymove>=w) xmove*=-1; //left and right
我已經嘗試了一些其他的方法包括:
if(y+ymove>=w && y+ymove<=w+h && x>=s && x<=s+l && centerY+17.5 < y+ymove+5 && centerX+12.5 < x+xmove+5) ymove*=-1; //top and bottom, extra +5 for radius
if(x+xmove>=s && x+xmove<=s+l && y+ymove<=w+h && y+ymove>=w && centerX+12.5 < x+xmove+5 && centerY+17.5 < y+ymove+5) xmove*=-1; //left and right
所以基本上我只需要無論我如何移動球拍,球都能正確地彈起。隨意編輯所有你想要的,即使這意味着增加更多if
陳述。我所要求的是絕對沒有JQuery。提前致謝。