0

私はunity2dで、オブジェクトの位置と比較してマウスの位置に応じてオブジェクトが移動するものを作成しました。これを行うには、オブジェクトからマウスに向かうベクトルがあり、すべての動きはこれに対して平行または垂直ですそれに。

これは、スプライトの回転を追加する前に正常に機能しました(以下に示すように追加されました)

void RoterModMus()
{
    fRotationIGrader = Vector2.Angle (Vector2.up,  vVectorToMouse.normalized);
    if(vVectorToMouse.normalized.x<0)
    {
        transform.rotation =Quaternion.Euler(0, 0, fRotationIGrader);
    }
    else{transform.rotation =Quaternion.Euler(0, 0, -fRotationIGrader); }
}

更新でこの関数の実行を停止すると、動きが再び機能します。

オブジェクトを回転させずにスプライトを回転させる方法、または動きを損なわないようにする方法はありますか??

これらの質問のいずれについても何も見つけることができず、理解できません(デンマークのコードで申し訳ありません)

このコードは、上とマウスの間の角度をチェックし (上はユニティでゼロ)、オブジェクトの回転をその角度またはマイナスの角度に設定します。

4

1 に答える 1

0

1 つの解決策は、スプライト コンポーネントを子として持つ空のゲーム オブジェクトをオブジェクトに追加し、その子 AKA 空のゲーム オブジェクトをスプライトで回転させることです。

于 2015-01-17T15:06:05.133 に答える