【问题标题】:cloned prefab is automatically following my camera against my wishes克隆的预制件会违背我的意愿自动跟随我的相机
【发布时间】:2018-05-10 23:27:15
【问题描述】:

每当此脚本处于活动状态时,我实例化的预制件(我的游戏的老板)都会跟随我的相机,这不是我要让它做的事情。好吧,更准确地说,当相机向右移动时,克隆的预制件向左移动,反之亦然。如果我的 Boss 已经在场景中并开始游戏,它会按照我告诉它的所有内容进行操作,并且不会跟随摄像机。预制件只做了一半的事情,是的,我确实多次将更改应用于预制件。我知道它不会自动将自己附加到相机上,因为我在关闭此脚本的情况下在场景视图中移动了相机,并且它没有在游戏中跟随我的相机。

这个脚本甚至没有提到老板。我绝对肯定这个问题甚至不是脚本明智的。但是当这个与boss无关的脚本处于活动状态时,就会出现这种情况。所以我的问题是,我可以以某种方式告诉老板脚本,让自己对这个脚本视而不见吗?或者更好的是,Unity 中有什么东西可以导致这种情况,我可以解决这个问题吗?该脚本所做的唯一一件事就是根据您在角色之间切换的时间来跟踪玩家的角色。不管你当时有什么角色,老板都会跟着镜头走,所以这也与此无关。最后,相机根本没有在 Boss 脚本中被引用,或者在附加到另一个实例化 Boss 的 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);
    }
} 
}

这是生成我老板的代码。我知道不是这个,因为除了我的老板之外,我还使用了其他预制件,而且它们工作得很好。

【问题讨论】:

  • 1) 大概这是附加到相机的脚本,以使其跟随玩家。 2) 大概这个脚本附在老板身上。 3)“好吧,更准确地说,当相机向右移动时,克隆的预制件向左移动,反之亦然”,这听起来就像事情正常工作时会发生的那样。 4) 显示行为不端的实例化预制件的检查器。
  • 你的假设是正确的。但它不能正常工作。当相机向右或向左平移时,老板会从字面上向左和向右平移。无论相机在做什么,场景中还有很多其他物体保持静止或独立移动
  • 听起来我需要看一个关于问题行为的短视频。
  • 你能告诉我们你实例化boss的代码吗
  • 当然。我只是放了一张截图

标签: c# unity3d camera clone


【解决方案1】:

因此,由于对于随机、无关原因的问题没有已知的解决方案,我只是决定解决这个问题。我所做的是让老板已经放置在场景中,并让触发器对撞机激活现有的游戏对象。如果玩家死了,我只是将boss移回原来的位置并停用他。很糟糕,无论出于何种原因,我都无法制作这个角色的预制件,但至少它是一个你只需要击败一次的角色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多