2,964 views
この記事は最終更新から 1380日 が経過しています。
前回の (22) CREATEJSでアニメーション (#1) を改造し、マウスの動きにボールを追従させてみる。
■プログラム
プログラムの変更箇所は1関数だけ。
test.js
CjTest::moveBall()内に記述している移動先座標の算出処理をまるまる変更する。
便利なことに、stage内に入ったカーソルポインタの座標が stage.mouseX, stage.mouseY に格納されている。ボールはこの座標を目指して1回のtick関数実行時に
カーソルポインタまでの距離 x 0.1 [pixel]
だけ移動させる。カーソルポインタまでの距離が短くなると 1回の移動距離も短くなり、まるで加速度がついているように見える。
moveBall: function(){
this.sprite.x += (this.stage.mouseX - this.sprite.x) * 0.1;
this.sprite.y += (this.stage.mouseY - this.sprite.y) * 0.1;
this.stage.update();
}
実行サンプルはこちらです。
何だかペットのようでかわいいw
追記 : 2022年2月28日
もっと簡単に実装できる方法をこちらに記しました。こちらの方がよいかもしれない…
(114) CSSの translateで要素を動かすアニメーションができる。
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2025-12-09: 0回 2025-12-08: 1回 2025-12-07: 2回 2025-12-06: 1回 2025-12-05: 0回 2025-12-04: 1回 2025-12-03: 1回
