やりにくいのか? ■ 概要 このスプライトは、マウスで左右にドラッグして動かすことができます。 マウスを離すと、バネのように中心位置(x=0)に自然に戻り、ボヨンと揺れながら停止します。 さらに、引っ張る距離が大きいほど反発力が強くなり、遠くまで引っ張りにくくなる仕様です。 ■ 主な特徴 マウス操作で移動 押している間はスプライトを自由に左右にドラッグ可能 中心から離れると徐々に引きにくくなるリアルな抵抗感 バネで自動復帰 マウスを離すと中心(x=0)に向かって戻る 中心を通り越すと反対側に行き、減衰しながらボヨンと揺れる 範囲制限 動かせる範囲には「ソフトリミット(limit)」と「ハードリミット(max_limit)」がある ソフトリミット内は普通に動かせる 超えると徐々に引っ張りにくくなり、ハードリミットで完全に制限 ■ 初期設定(緑の旗を押したとき) 変数 初期値 説明 x 100 スプライトの初期x座標 vx 0 バネの速度(初期は0) target 0 中心位置、スプライトが戻る場所 damping 0.8 揺れの減衰率(0〜1、1に近いほど長く揺れる) limit 200 引っ張りやすい範囲 stretch_factor 0.3 範囲外での引っ張りやすさ(0〜1) max_limit 300 絶対に動ける範囲 ■ 操作方法 スプライトを動かす マウスをクリック&ドラッグして左右に移動 中心から離れるほど引っ張りにくくなるので、自然なバネ感を体感できる ボヨンさせる マウスを離すと、自動的に中心に向かって戻る 通り越すと反対側に行き、減衰しながら揺れて止まる 範囲外の挙動 ソフトリミット(limit)を超えると徐々に引っ張りにくくなる ハードリミット(max_limit)を超えるとそれ以上動かせない ■ 調整のヒント damping:小さいほど長く揺れる、大きいほど早く止まる force(0.2の値):バネの硬さ。大きいほど速く戻る stretch_factor:範囲外の抵抗の強さ。小さいほど動かしにくい limit / max_limit:自由に引っ張れる範囲を調整 初めて書くな、緊張した バグというのか?まあビヨンビヨンしてる時に横縦変更したらxまたはy座標が変わっちゃうんだよなというので、変更点を用意します。 ・変数を縦と横ように作って、常時反映するようにする