如何使用另一个脚本引用一个脚本

问题描述 投票:0回答:1

基本上我想制作一款多人游戏,为此我有一个玩家预制件

这是它的内容

我在这个预制件之外有一个游戏对象,它使用参考播放器预制件 CameraPos

我在 Player 预制件中使用名为 MountObjects 的脚本来添加位于 Player 预制件之外的凸轮位置的引用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class mountObjects : MonoBehaviour
{
public GameObject Orientation;
public GameObject Camera;
public Transform localCamera;
public PlayerCamera playerCamera;
public LinkCam linkcam;
 void Start()
 {
    playerCamera = GetComponent<PlayerCamera>();
    linkcam = GetComponent<LinkCam>();



    playerCamera.Orientation = Orientation.transform;
    linkcam.CamPosition = Camera;
 }
}

当 NetworkManager 添加我的playerprefab 时,我希望我的脚本将 CameraPos 的引用添加到 CamCotainer 当我测试脚本时请忽略一些值 我是多人游戏新手,所以请帮助我

unity-game-engine game-development multiplayer
1个回答
0
投票

不确定这在预制件中如何工作,但要从另一个脚本引用脚本,您可以执行以下操作:

首先在要引用其他脚本的脚本中创建一个与要引用的脚本类型相同的变量,即它的名称:

private ScriptToBeReferencedName localScriptName;

然后将要引用的脚本赋值给这个变量,可以在start方法中完成

localScriptName  = GameObject.Find("NameOfGameObject).GetComponent<ScriptToBeReferencedName>();

然后您可以通过以下方式访问任何脚本方法或变量:

localScriptName.methodname or localScriptName.variable

确保您想要访问的任何变量或方法都设置为 Public。您基本上将要引用的脚本视为任何其他组件。

© www.soinside.com 2019 - 2024. All rights reserved.