インタラクティブな壁紙
このチュートリアルでは、useMousePosition フックを使ってマウスカーソルに反応する壁紙を作ります。
前提条件
先にはじめようチュートリアルを完了してください。
マウストラッキングの追加
src/main.tsx の内容を置き換えます。
src/main.tsx
開発サーバーを起動してマウスを動かすと、光る円がカーソルを追いかけます。
座標系について
useMousePosition() は壁紙ウィンドウに対して正規化された座標を返します。x と y は両方とも -1 〜 1 の範囲で、Y 軸は数学的(+1 が上端、-1 が下端)です。CSS は上が負なので逆向きになります。ピクセルとして扱う前に ((x + 1) / 2) * window.innerWidth と (1 - (y + 1) / 2) * window.innerHeight で変換してください。
アニメーションライブラリの活用
より滑らかなアニメーションには、@react-spring/web のようなライブラリを使えます。
src/main.tsx
次のステップ
タスクごとの詳しいガイド:
- マウス位置の取得 —
useMousePositionの実用パターン集。 - 音声に反応する壁紙 — マウスではなく音楽に反応させる。
- カスタムプロパティ — ユーザーが色やサイズを変えられるようにする。
別のチュートリアル:
- シェル壁紙 — 壁紙にシステム情報を表示する。
API リファレンス: