unity中怎样让一个对象切换脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity中怎样让一个对象切换脚本相关的知识,希望对你有一定的参考价值。

参考技术A js调用js直接脚本名。
分四种情况:js调用js直接脚本名,变量名,C#调用C#声明staticpublic变量名,然后脚本名,变量名调用,js调用C#,var,c等于gameObjectGetComponent脚本名,脚本名,变量名调用,C#调用js,脚本名c等于脚本名gameObjectGetComponent脚本名,变量名调用。
脚本是一种纯文本保存的程序,是批处理文件的延伸,一个脚本通常是解释运行而非编译。为缩短传统的“编写、编译、链接、运行”过程而创建的计算机编程语言是脚本语言。

Unity(13)-场景切换,保留资源

文章目录

前言

在切换场景的时候会删除上一个场景的所有资源,所以需要给需要的游戏对象上挂载脚本,从而保留游戏对象。

其他介绍

微软官方C#函数文档

Unity官方API文档(英文)

Unity官方API文档(中文)

Unity官方用户手册(中文)

Unity游戏蛮牛API文档(中文)

Unity教程-C语言中文网

Unity用户手册-unity圣典

Unity组件手册-unity圣典

Unity脚本手册-unity圣典

上一篇笔记

Unity(12)-场景切换

一、项目结构

场景1

场景2

项目

二、脚本

[1]. 场景切换

添加场景到设置中

场景切换的脚本如下

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

public class Change : MonoBehaviour

    /// <summary>
    /// 切换到场景2
    /// </summary>
    public void scene2()
    
        SceneManager.LoadScene("Menu2");
    


然后在按钮上绑定场景切换的脚本

[2]. 资源保留

创建了一个空的资源Player作为需要保留的资源

Start中使用函数DontDestroyOnLoad(),传入当前挂载对象

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

public class Keep : MonoBehaviour

    private void Start()
    
        DontDestroyOnLoad(gameObject);//在加载新场景时不销毁脚本挂载的对象
        //方式二 DontDestroyOnLoad(this.gameObject);
    


把脚本挂载到需要保留的资源上

最终效果如下,被脚本挂载的Player对象被放置到了DontDestroyOnLoad
在场景2中也会存在DontDestroyOnLoad
如果DontDestroyOnLoad没有被删除,那么再切换到其他的场景时里面的资源仍然可以存在。

以上是关于unity中怎样让一个对象切换脚本的主要内容,如果未能解决你的问题,请参考以下文章

unity中怎样调用其他脚本变量

在unity3d里怎样隐藏物体?

在unity3D: c# 怎样调用另外一个c#脚本里面东西?

unity3d中,怎样让鼠标点击一个物体后,摄像机就去拍摄这个物体?

unity2d在animator组件里一个anim动画运行的过程中怎样直接切换到另一个?

Unity(13)-场景切换,保留资源