2017-11-27 11 views
0

プレハブ私のインスタント(私のゲームの上司)は、このスクリプトがアクティブなときはいつでも私のカメラに従っています。正確には、カメラが右に行くと、クローンされたプレハブは左に移動し、その逆もあります。もし私が上司をすでに現場に持っていて、ゲームを始めるなら、それは私がそれを伝える全てを行い、カメラに従わない。プレハブは物事の半分しか行いません。はい、プレハブに何度か変更を加えました。このスクリプトをオフにしてシーンビューでカメラを移動し、カメラ内のカメラに追従しなかったため、自動的にカメラに接続していないことが分かりました。クローンされたプレハブは私の望みに対してカメラを自動的に追い越しています

このスクリプトではボスは参照されていません。私は、問題がスクリプト賢明さえしていないことは絶対に肯定的です。しかし、上司とは関係のないこのスクリプトがアクティブなときに発生します。だから私の質問は、私はボスのスクリプトに何らかの形でこのスクリプトに自分自身を盲目的と言うことができますか?それとも、もっと良いことに、これを引き起こす可能性のあるものがUnityにありますか?このスクリプトが行う唯一のことは、それらの間を切り替えるたびに、そのプレイヤーのキャラクターに従うことです。そして、あなたが当時アクティブだったどんなキャラクターにもかかわらず、上司はカメラに従っています。だから、それとは何の関係もありません。最後に、カメラはボススクリプトではまったく参照されていないか、ボスをインスタンス化する別の2Dトリガーコライダーに接続されたスクリプトで参照されていません。

using UnityEngine; 
using System.Collections; 

public class cameraFollow : MonoBehaviour { 

public Transform player; 
public Transform player2; 
private bool idleFollow = true; 
private bool mountFollow = false; 
public theWatcher wMana; 
public tulMove tulia; 
private bool alphaGirl; 
[HideInInspector] 
public bool blinking = false; 
[HideInInspector] 
public bool vTul = true; 

void Update() 
{ 
    CameraSwitching(); 
} 

void CameraSwitching() 
{ 

    if (!wMana.alphaGirl && !wMana.switched && vTul && wMana.cur_mana > 0f && Input.GetKeyDown (KeyCode.Space)) { 
     vTul = false; 
     return; 
    } 

    if (!vTul && wMana.cur_mana > 0f && Input.GetKeyDown (KeyCode.Space)) { 
     vTul = true; 
     return; 
    } 

    if (!vTul && wMana.cur_mana <= 0) { 
     vTul = true; 
    } 

    if (vTul && wMana.cur_mana <= 0 && Input.GetKeyDown (KeyCode.Space)) { 
     vTul = true; 
    } 

    if (!wMana.paused && vTul){ 
     transform.position = new Vector3 (player.position.x + .5f, player.position.y + .55f, -7.75f); 
    } 

    if (!wMana.paused && !vTul) { 
     transform.position = new Vector3 (player2.position.x + .5f, player2.position.y + .55f, -7.75f); 
    } 
    if (wMana.switched) { 
     transform.position = new Vector3 (player2.position.x + .5f, player2.position.y + .55f, -7.75f); 
    } 
    if (!wMana.switched) { 
     transform.position = new Vector3 (player.position.x + .5f, player.position.y + .55f, -7.75f); 
    } 
} 
} 

これは私の上司をスポーンするコードです。私はそれが私の上司以外の他のプレハブを使用し、それらが正常に動作していたので、これは知っている。そう

enter image description here

+0

1)おそらく、これはカメラに接続されてプレーヤに従うスクリプトです。 2)おそらく、このスクリプトは上司に付されていない*でしょう。 3)「正確には、カメラが右に行くと、クローンされたプレハブは左に移動し、その逆もあります。 4)誤動作しているインスタンス化されたプレハブのインスペクタを表示します。 – Draco18s

+0

あなたの前提は正しいです。しかし、それは正しく動作していません。カメラが右または左に平行移動すると、ボスは文字通り左右に動く。シーンには、カメラが何をしているかにかかわらず、静止しているか独立して移動するオブジェクトがたくさんあります。 –

+0

問題のある動作の短いビデオを見る必要があるように聞こえます。 – Draco18s

答えて

0

ランダム、無関係な原因と問題に対する既知の解決策は存在しないので、私は問題を回避することを決めました。私がやったのは、既にボスが場に入っていて、既存のGameObjectを起動するトリガー・コライダーを作ったことでした。プレーヤーが死ぬと、私は上司を元の位置に戻し、彼を非アクティブにします。それはどんな理由であれ、私はこのキャラクターのプレハブを持つことはできませんが、少なくともそれは一度と一度だけ打ち負かす必要があるキャラクターです。

関連する問題