關於解決HTML5畫布中長按按鍵動作不流暢的小技巧

2022-09-12 14:51:19 字數 470 閱讀 8382

本人在用canvas做個通過按鍵控制目標移動的效果的時候發現,使用onkeydown事件處理的現象是:長按乙個按鍵先動一下然後停一下,然後按照系統固定的頻率重複輸出該按鍵的值(具體沒仔細研究),運動效果不盡人意。既然我們想要的效果是長按按鍵的時候觸發事件,鬆開就結束,那麼我們可以為事件新增乙個狀態,就可以避免這種情況。具體實現如下:

html部分

<

canvas

width

="800"

height

="100"

id="canvas"

>

canvas

>

js部分

1

當我們按下設定按鍵之後狀態值i等於1,小球的運動跟隨定時器週期;當鬆開按鍵的時候,狀態值i變回0,停止運動。這是巢狀了onkeyup事件,與onkeydown共同間接的控制了小球的運動。

Html5畫布canvas小例

小例中用到了畫布canvas的畫矩形,畫圓或弧,畫線,畫文字,顏色漸變。其全部顏色 字型 圖形都是通過js在canvas上繪製形成,總結了幾個context物件的方法如下 1.畫矩形 fillrect x,y,width,height 矩形左上角點x座標,矩形左上角點y座標,矩形寬度,矩形高度 2....

HTML5邊玩邊學(1) 畫布

一 標籤 html5 引入了乙個新的 標籤,這個標籤所代表的區域就好象一塊畫布,你的所有圖形繪製最後都要在這塊畫布上呈現。有了這個標籤,瀏覽器的圖形表現力被極大的提公升,flash 和 silverlight 有沒有感到威脅呢?標籤的用法非常簡單,如下 code highlighting produ...

HTML5邊玩邊學(1) 畫布

一 標籤 html5 引入了乙個新的 標籤,這個標籤所代表的區域就好象一塊畫布,你的所有圖形繪製最後都要在這塊畫布上呈現。有了這個標籤,瀏覽器的圖形表現力被極大的提公升,flash 和 silverlight 有沒有感到威脅呢?google聲稱chrome7瀏覽器將提速60倍 標籤的用法非常簡單,如...