2016-11-15 5 views
0

Unity地形の特定のテクスチャをプレイヤーが歩くのを防ぐ方法を知りたいと思います。私は、プレイヤーがどのテクスチャに立っているかを検出するスクリプトを作成しました。動きのために私は剛体の速度を使うので、私は衝突者に問題はありません。 、C#Unity - プレイヤーが特定の地形のテクスチャの上に立つのを防ぐ

まずグローバル変数LastPos機能を作成します:事前に感謝:)

答えて

0

私はこのような何かをするだろう

Vector3 lastPos; 

そして、スタートの選手の現在の位置に設定します。

void Start() { 
    lastPos = player.gameObject.transform.position; 
} 

次に、更新でlastPos変数をプレーヤーの現在の位置に設定します。次に、ifステートメントを使用して、プレーヤーが無効なテクスチャ上にあるかどうかを確認します。プレイヤーが無効テクスチャ上にある場合は、それが戻っLastPos機能に位置だ設定:

void Update() { 
    if (playerOnInvalidTexture) { 
    player.gameObject.transform.position = lastPos; 
    } 
    lastPos = player.gameObject.transform.position; 
} 

基本的にこれは時に無効なテクスチャ上の有効な位置にプレイヤーを配置します。

+0

動作しません...ちょっと不具合です。待って、私は最初にチェックしてlastPostを設定してはいけませんか? –

+0

さあ、仕事をした、チェックの後、lastPosを設定しなければならなかった、ありがとう:D –

+0

ああ、そうだね、これを反映する答えを更新する。あなたは歓迎です、幸運! – KenSchnetz

関連する問題