【週刊ドットインストール】 256timesのクラスを準備中、Ruby/Ruby on Railsのロードマップページを追加
【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
拙い文章で上手く先生に伝わるかわかりませんが・・・ 私の解釈なんですが、今回のソースコードはsetTimeout()メソッドを使って10ミリ秒毎にdraw関数を呼び出す再帰関数という認識です。 そしてdraw関数が呼び出される毎にMath.sin()の引数である【t】が1ずつプラスされ、ラジアンが変わる事によりMath.sin()の返り値が-1から1の範囲で変動し、その数値が楕円の中心座標に10ミリ秒毎に 加算される為、clearRect()で描画をリセットしなくても目が左右に動くアニメーションが実現されように思えるのです(実際はスクリプトを実行させた時にしか動作しませんが・・・) やはり何か根本的に考え方が間違っているのでしょうか、ご指南いただけると幸いです。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
拙い文章で上手く先生に伝わるかわかりませんが・・・
私の解釈なんですが、今回のソースコードはsetTimeout()メソッドを使って10ミリ秒毎にdraw関数を呼び出す再帰関数という認識です。
そしてdraw関数が呼び出される毎にMath.sin()の引数である【t】が1ずつプラスされ、ラジアンが変わる事によりMath.sin()の返り値が-1から1の範囲で変動し、その数値が楕円の中心座標に10ミリ秒毎に
加算される為、clearRect()で描画をリセットしなくても目が左右に動くアニメーションが実現されように思えるのです(実際はスクリプトを実行させた時にしか動作しませんが・・・)
やはり何か根本的に考え方が間違っているのでしょうか、ご指南いただけると幸いです。