clearRect()を使わないといけない理由がわかりません

アニメーションさせるには描画するたびに前の描画を消さないといけないからです。
2020年6月15日
ユーザー

拙い文章で上手く先生に伝わるかわかりませんが・・・

私の解釈なんですが、今回のソースコードはsetTimeout()メソッドを使って10ミリ秒毎にdraw関数を呼び出す再帰関数という認識です。
そしてdraw関数が呼び出される毎にMath.sin()の引数である【t】が1ずつプラスされ、ラジアンが変わる事によりMath.sin()の返り値が-1から1の範囲で変動し、その数値が楕円の中心座標に10ミリ秒毎に
加算される為、clearRect()で描画をリセットしなくても目が左右に動くアニメーションが実現されように思えるのです(実際はスクリプトを実行させた時にしか動作しませんが・・・)

やはり何か根本的に考え方が間違っているのでしょうか、ご指南いただけると幸いです。
 

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?