1

グローバル変数から更新される描画ループで定義されたテキストがあります。

  function draw() {
    ...
    levelText = text("level: " + level, 120, 100);
    pointsText = text("points: " + points, 120, 150);
    ...

  }

問題は、変数levelpointsを更新すると、以前のテキスト描画がキャンバスに残り、更新されたバージョンが他の数字で消された数字になることです。更新時にキャンバスから以前の番号を消去するにはどうすればよいですか?

4

2 に答える 2

4

background()描画した古いフレームをクリアするには、関数を呼び出す必要があります。それ以外の場合は、既にあるものを描画しているだけです。このようなもの:

function draw() {
    background(255, 0, 0); //draws a red background
    text("level: " + level, 120, 100);
    text("points: " + points, 120, 150);
 }

levelTextまた、変数と変数を削除したことにも注意してくださいpointsTexttext()関数が を返すので、それらが何のためにあったのかわかりませthisん。

背景全体を描画したくない場合は、少なくとも、テキストを描画しようとしている場所を四角形で塗りつぶすなどの操作を行う必要があります。

于 2016-03-18T15:35:08.833 に答える