2017-05-11 29 views
0

2つの画像があります。 1枚の写真は表面マスクです。 2つの画像は背景レベルです。カーソルを変更してサーフェスマスクを使用する方法は?特定の場所でカーソルを変更する方法は?

platformmask

黒い四角は、フルモーションの場所です。それは独自のカーソルを持っています。 灰色の四角は部分的な動きの場所です。したがって、それ自身のカーソルもあります。

キャンバスのバッファを作成してマスクをオーバーレイします。しかし、mousemoveのたびにGetPixelsColorを呼び出さなければなりません。この決定は合理的ではありません。

似たような出会いは誰ですか?ありがとう。

+1

あなたの質問は、私は現時点では何も例がありません[、最小完全、かつ検証例](http://stackoverflow.com/help/mcve) –

+0

を含める必要があります。私はそれを正しく行う方法を知らない。 – Anonymous

+1

あなたの質問を明確にしていただけますか?私はそれを理解することはできません。 –

答えて

2

は、次の試してみてください。

window.addEventListener('mousemove', draw, false); 
function draw(e) { 
    changeCursor(canvas, e); 
} 

function changeCursor(canvas, evt) { 
    var rect = canvas.getBoundingClientRect(); 
    coords = { 
     x: evt.clientX - rect.left, 
     y: evt.clientY - rect.top 
    }; 
    if(coords.x >= box.x && coords.x <= box.x+box.width && coords.y >= box.y && coords.y <= box.y+box.width){ 
     canvas.style.cursor = "crosshair"; 
    } 
} 
+1

キャンバスのカーソルプロパティを変更する方がずっと簡単です'canvas.style.cursor =" move ";' jQueryは非常に遅いので、ゲームとjQueryは混在しません。 – Blindman67

+0

しかし、私はキャンバス(使用されていないCSS)に描画します。 – Anonymous

+0

今はすべてOKです。 :)例をありがとう。 – Anonymous

関連する問題