私はアメリカの信号機をシミュレートしようとしています.長方形の上に3つの円があり、すべてセットキャンバスに描かれています. シミュレーションは、次の順序で 2 秒ごとに表示されるライトを変更することによって「アニメーション」を反映することになっています: 緑 > 黄 > 赤 > 緑、など永久に。
これを行う唯一の方法は、canvas.move()、canvas.after()、canvas.update() パターンを使用して、塗りつぶされた楕円形のオブジェクトを移動し、塗りつぶされていない円を一度に 1 つずつ重ねることです。適切な速度で正しい順序で円を移動するためのロジックを取得しました。問題は、「緑」で塗りつぶされた円をインスタンス化するだけですが、この方法を使用して「黄色」または「赤」に変更することはできません。canvas.delete("filled") を実行し、2 秒ごとに異なる塗りつぶしで新しい場所に再描画するのはばかげているように思えます。
質問 1:fill
何らかの方法またはその他の手段を使用して、塗りつぶされた Canvas オブジェクトのオプションを自由に変更できる方法はありますか?
質問 2: このシナリオへのアプローチは間違っていますか? これをシミュレートするより良い方法はありますか?