0

時間をカウントダウンするために上からトリミングしたい画像を使用して、キャンバスゲームでタイマーを描画しようとしています。

私はこれを使用する必要があることを知っています:

          ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh);

しかし、私は頭を悩ませることができません。私はいくつかのサイトを見てきましたが、それらの説明は私に登録されていないようです。

以下のソートは高さを減らすために機能します。高さを減らすためにカウントダウンする変数があるので、高さを減らすのではなく、それを使用して高さをトリミングする必要があります。

            ctx.drawImage(img,0,0,80,heightVar);

この画像を0,0で描画する方法を教えてもらえますか?幅は80ピクセル、高さは480ピクセルです。

4

1 に答える 1

1

私があなたを正しく理解しているなら、あなたはこのようなことをしたいと思うでしょう:

ctx.drawImage(img, 0, 480 - heightVar, 80, heightVar,
                   0, 480 - heightVar, 80, heightVar);

これにより、ゲージがいっぱいになると(heightVar = 480)、画像が0、0で表示され、heightVarが増加するにつれて上から下にトリミングされます。これがお役に立てば幸いです。

また、heightVarが(0〜480)の間隔内にあることを確認する必要があります。そうしないと、ゴーストが表示される場合があります。

于 2012-05-14T14:01:11.377 に答える