1

画像を描画する方法があるかどうか疑問に思っていましたが、色付きの効果を与えます。

ゲームを検討している場合、スプライトを配置したいが途中でオブジェクトがある場合、配置しようとするオブジェクトはしばしば赤い色合いになり、配置できないことを示します。これは、私が達成しようとしているものです。

現在、ここに不透明度を付けて描画しています:

ctx.globalAlpha = 0.5                   
ctx.drawImage(image,abposx,abposy);

ライブラリなしでこれを達成することは可能ですか?

4

1 に答える 1

3

その上に半透明の長方形を描くことができます。例えば:

ctx.fillStyle = 'rgba(255, 0, 0, 0.5)'; // 1/2 opacity red
ctx.fillRect(0, 0, 30, 30); // Draw this over top of your image

これがデモです。

アイソメ画像の場合は、適切なパスを作成するだけです。その例を次に示します。

globalCompositeOperationを次のように設定することで、オーバーレイを画像にクリップできますsource-atop

ctx.globalCompositeOperation = 'source-atop';
ctx.fillStyle = 'rgba(255, 0, 0, 0.5)'; // 1/2 opacity red
ctx.fillRect(0, 0, 30, 30); // Draw this over top of your image
ctx.globalCompositeOperation = 'source-over';

これがデモです。ただし、描画しようとしている領域にもコンテンツがある場合は、シャドウ キャンバスを使用する必要がある場合もあります。

于 2012-04-09T01:30:07.993 に答える