[Unity3D]场景间切换与数据传递(以及物体删除技巧)

2023-11-15

[Unity3D]场景间切换与数据传递(以及物体删除技巧)  

2009-09-16 15:03:47|  分类: Unity3D|举报|字号 订阅

先介绍一些基本函数(具体用法自己查文档):
--------------------------------------------------------
1.场景切换: Application.LoadLevel("Level1")
2.读取场景时不移除物体: DontDestroyOnLoad(object)   //会保 留该物体的任何数据,包括坐标,可以用于任何物体,也包括GUI哦,可以灵活运用。
3.设置该物体激活状态(移除物体前先执行这个,预防组件在运行状态不允许移除): SetActiveRecursively(bool)
4.移除物体(移除不掉时候先设置他的激活状态为false): Destroy()
5.创建prefab或者其他object的克隆:Instantiate(xxx)
 
然后介绍一些基础知识:
------------------------------------------------------
1.文件间传递可以用 static静态类型来桥接数据(见我另外一篇blog),当然场景间传递也可以。
2. 注意引用与值传 递!! a.如果你传的是个引用类型,但引用的东西却是场景实物,那你就得用上面第二个函数保留该物体(否则下一场景这个引用所指的内容就不存在了,会出错的),这样在新场景中可以直接继承他的所有即时属性; b.当然如果你传的这个引用指向一个prefab,那就不存在这问题了,这里如果当前场景已经改变了角色数据,那你传递引用后也要传递被改变的属性,好在新的场景中重新赋值给这个prefab的克隆体。(如果你用文件记录角色状态,那用b方法是最好的)
 
最后是实例讲解:
-------------------------------------------------------
目标:场景1选择好一辆车 GO-> 场景2使用选中的车比赛
流程介绍:
场景1(车库):

选车(有好几辆车可以选的),然后将这个车的prefab引用传递到一个js文件的static变量里储存
 
进入场景2:

在原先地面指定的坐标克隆刚才引用的prefab,完成目标(注意代码设置一些数据,比如摄像机跟踪参数等)。
对手车是随机的^ ^原理一样,只不过不需要传值,订好坐标随机产生AI就可以。
 
==============
现在就恨自己没钱买MacBook pro和iphone了,游戏基本成型,就差iphone上的手感调试、功能性能测试和界面调试了。
哎,抓紧赚台苹果本回来先-,-
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Unity3D]场景间切换与数据传递(以及物体删除技巧) 的相关文章

  • unity如何解决每次写完敲代码,调试时需要卡个进度条

    解决办法如下 勾选上之后程序就可以立刻运行起来了 再也不用一直卡进度条了 不过也有弊端的 会影响静态字段初始化有问题还有Dotween的一些效果会发生变化 谨慎避免入坑
  • 树实现客户端红点系统

    树实现客户端红点系统 红点系统总览 demo 设计 代码设 引用 https zhuanlan zhihu com p 85978429 红点系统总览 如上图所示 规划红点系统的时候 我们将整个系统分为独立的三个部分 结构层 驱动层和表现层
  • unity3D期末作业捕鱼游戏,适合初学者学习使用,包含源程序所有文件

    虚拟现实期末作业捕鱼游戏 免积分下载 点我下载资源 有按钮 背景音乐 可以发射炮弹捕鱼 可以选择难度 可以调节音乐声音大小 有游戏加载进度条 详细情况请看如下动态图 点我下载资源
  • unity中通过touch旋转、放大和缩小物体以及滑动方向的判断

    unity中通过touch旋转 放大和缩小物体以及滑动方向的判断这个需求在游戏开发中也是非常频繁 话不多说直接上代码 using System Collections using System Collections Generic usi
  • 关于unity3的中关于创建方法的总结

    关于创建基本物体 有些情况会使用上 物体碰撞 游戏里怪物和英雄的触发事件上 创建一个简单物体 隐藏mesh可以作为简单的触法器使用 多次创建预制体Prefab 方法Instantiate original Object position V
  • unity3d实现简单的打飞碟游戏

    游戏内容 游戏有n个round 每个round发射10次trial 每个trial的飞碟都可能不同 包括速度角度得分等 使用鼠标进行射击 点中即表示射击成功 游戏要求 使用带缓存的工厂模式来管理飞碟的生产与再利用 工厂使用单例模式 游戏的设
  • 我的和unity3d的小故事1——恶魔射手之鼠标控制移动之input.getaxis("Horizontal")与input.getaxis("Vertical")

    跟着恶魔射手视频学习的过程中遇到的第一个问题是怎么也移动不了 那么问题来了 打印出来是获得的下面两个值都是0 怎么办呢 改edit下面的projectsetting里面的input属性下面两个值的type都改成mouse movement
  • Unity3d提升效率的高级技巧(二)

    11 在层次视图中选中某个游戏对象 按快捷键 Cmd Ctrl D 即可复制该对象 对于检视面板中的数组字段也可已同样的方式来复制元素 12 检视面板中所有的颜色字段都是支持复制和粘贴的 只需右键点击颜色字段既可选择操作 13 如果觉得在场
  • Unity3D 碰撞器和触发器

    对于碰撞器和触发器经常忘记用法 这次主要记录下以便于能够复习用 1 碰撞器 发生条件 1 碰撞的双方中一定至少要有一个Rigidbody存在 并且碰撞双方必须都要有碰撞体组件 2 碰撞双方若只有一个有刚体 那么那个刚体一定要处于运动的状态下
  • untiy的纹理格式介绍

    Desktop RGB Compressed DXT1 压缩的RGB纹理 这是最常见的漫反射纹理格式 4位 像素 32 KB 256x256 RGBA Compressed DXT5 压缩的RGBA纹理 这是漫反射和高光控制纹理的主要格式
  • Unity编辑器界面概述

    了解界面 如果您对编辑器界面没有非常地了解 那么请花一些时间查看并熟悉 Editor 编辑器 界面 Editor 主窗口由选项卡式窗口组成 这些窗口可重新排列 因此 Editor 的外观可能因项目或者开发者而异 具体取决于个人偏好 Wind
  • Unity使用Newtonsoft报错的解决方案

    文章目录 Unity 使用 Newtonsoft 报错的解决方案 问题描述 解决方法 方法一 使用 Unity 的 Package Manager 自动导入 方法二 访问 GitHub 下载 unitypackage 文件手动导入 Unit
  • unity 读取和写入Excel中文出现乱码解决方法

    在编辑器中读取和写入中文一切正常 发布出来只要是中文就会出现乱码 解决方法 将C Program Files Unity Editor Data Mono lib mono unity 目录下的I18N dll和I18N CJK dll复制
  • Unity动画系统详解5:BlendTree混合树是什么?

    摘要 Animator中有一个功能 用来解决多个动画之间的混合 经常用于移动动画之间的混合 这个功能叫做BlendTree 混合树 洪流学堂 让你快人几步 你好 我是跟着大智学Unity的萌新 我叫小新 这几周一起来复 yu 习 xi 动画
  • Unity3D Engine Architecture

    原文 http www umingo de doku php id paper mechs and tanks section03 Architecture To better understand the game s software
  • [Unity XLua]热更新XLua入门(一)-基础篇

    Aladdin XLua 前言 前段时间腾讯开源了一个内部热更框架XLua在Unity开发群里引起一阵热议 也受到广大开发者的热捧 然后我当然也抱着好奇的心去学习学习 后面也会将扩展之后的工程放在git上 大家一起学习交流 在此感谢XLua
  • 对Unity3D 静态批处理和动态批处理的理解

    Draw Call就是CPU调用图像编程接口 像OpenGL或者 DirectX 简单来说 Draw Call就是由CPU发起的一个命令 添加到一个命令缓冲区 当GPU完成了上一次的渲染任务之后 会从命令缓冲区的命令队列中再取出一个并执行
  • java中Keytool的使用总结

    java中Keytool的使用总结 2011 02 26 15 30 15 分类 在申请Android Map API Key的时候使用到了java中Keytool 下面转一篇介绍java中Keytool的文章 http blog csdn
  • Unity3d中脚本无法编译问题(Monodevelop)

    使用Monodevelop打开脚本 编译时报错 具体错误忘记了 原因是 net框架引起 升级到 net框架4 5后解决
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w

随机推荐

  • 凸优化学习(四)——凸优化问题

    注意 本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目 https github com Kivy CN Stanford CS 229 CN 中的凸优化部分的内容进行翻译学习 4 凸优化问题 利用凸函数和集合的定义 我们现在可以考
  • CSS——快速入门

    CSS的优势 1 内容和表现分离 2 网页结构表现统一 3 样式十分的丰富 4 建议使用独立于HTML的CSS文件 5 利用SEO 容易被搜索引擎收录 style
  • oracle 重复列只显示一次的实现

    CREATE TABLE test ob id VARCHAR 32 ob name VARCHAR 32 INSERT INTO test VALUES A001 A001 a INSERT INTO test VALUES A001 A
  • Golang 变量作用域陷阱 误用短声明导致变量覆盖

    var remember bool false if something remember true 错误 使用remember 在此代码段中 remember 变量永远不会在 if 语句外面变成 true 如果 something 为 t
  • SpringMVC单元测试之MockMVC,模拟登录

    在一些实际开发中 很多情况下需要对数据库进行操作 但是这里的操作就设计到用户权限 所谓权限验证就是拿到用户客户端登录后的token 在代码中进行校验 一般都是在controller层首先进行校验 如果校验成功 则执行之后操作 否则 采取相应
  • Java语言基础

    01 01 计算机基础知识 计算机概述 了解 A 什么是计算机 计算机在生活中的应用举例 计算机 Computer 全称 电子计算机 俗称电脑 是一种能够按照程序运行 自动 高速处理海量数据的现代化智能电子设备 由硬件和软件所组成 没有安装
  • Dart基础语言 — 函数 Function

    Dart基础语言 函数 Function 函数定义 int add int x return x 1 调用 add 1 可选参数 int add int x int y int z if y null y 1 if z null z 1 r
  • [!] Unable to determine Swift version for the following pods:

    问题 Unable to determine Swift version for the following pods contact the author or set the SWIFT VERSION attribute pod in
  • Java基础 - XML解析转成Bean以及Bean转成XML(附带案例)

    文章目录 1 JAXB Java Architecturefor XML Binding 面向XML绑定的Java体系结构 1 1 注解 1 2 使用 测试1 反序列化xml文件成JavaBean对象 测试2 序列化普通JavaBean对象
  • java 二进制变量_java变量、二进制、数据类型、原码、补码、反码

    1 变量 1 他 她 我 你 某人 佚名 旺财 X man x 1 您好 它 变量就是自然语言中的代词 2 int age 15 00000000 00000000 00000000 00001111 3 Java 中的变量 a Java是
  • IntelliJ IDEA 2020.3 重大特性

    今天发现 idea 2020 3 版本发布了 那么废话不多说 赶紧更新起来 ps 继续推荐使用 toolbox 进行安装 首先欢迎页变化 1 管理项目 2 配置 IDE 界面 主要就是主题 字体 快捷键等设置 3 插件 已经安装的插件和插件
  • 2023.8.21--微信小程序uni-app

    微信小程序 day1 微信小程序开发 下载微信开发者工具 注册小程序账号 注册小程序账号 填写信息 获取小程序的 AppID 搭建开发环境 认识小程序 小程序的页面布局 小程序组件 标签 view 定义块级区块 相当于 html 中的 di
  • es基础操作

    列出所有索引 列出所有索引 列出所有的数据库 GET cat indices v 添加索引 PUT goods settings 副本数 number of replicas 1 分片数 number of shards 5 删除索引 DE
  • verilog中的操作符

    verilog中的操作运算符如下 1 算数操作符 2 关系操作符 3 相等操作符 4 逻辑操作符 5 按位操作符 6 归约操作符 7 移位操作符 8 条件操作符 9 连接操作符 10 赋值操作符 下面做详细介绍 1 算数操作符 加 减 乘
  • vue3+vite 全局组件注册与使用

    前言 vite和我们的webpack是不同的 这里没办法用require 但是他也有自己的引入文件的方法 是 import meta glob 实现效果 vite方法官方入口 功能 Vite 官方中文文档下一代前端工具链https cn v
  • 张五常的《读书方法》

    首先声明 我要谈的是为知识而读书的方法 不是为考试而读书的方法 后者 香港的学生都是专家 猜题目 背课文之能 世间少有 但为知识而读书可以帮助考试 为考试而读书却未必可助知识的增长 知识是读书的目的 An End 考试只是一个方法 A Me
  • react antd里面的Popover属性content怎么循环写内容,代码展示

    可以使用Antd中的Popover组件 来循环渲染内容 例如 const list name 张三 age 18 name 李四 age 21 return
  • 动画状态机Animator-Unity3d

    该模型一直处于奔跑状态 点击跳跃则跳跃一次后回到奔跑状态 点击攻击后则攻击一次回到奔跑状态 控制代码如下 using UnityEngine using System Collections 该人物一直处于奔跑状态 点击跳跃则跳跃一次后回到
  • 前端工具集合(js框架、ui框架、开发工具...)

    vue3 vue3官网 Vue js pc端开发ui框架 element plus 一个 Vue 3 UI 框架 Element Plus 移动端ui框架 vant Vant Mobile UI Components built on Vu
  • [Unity3D]场景间切换与数据传递(以及物体删除技巧)

    Unity3D 场景间切换与数据传递 以及物体删除技巧 2009 09 16 15 03 47 分类 Unity3D 举报 字号 订阅 先介绍一些基本函数 具体用法自己查文档 1 场景切换 Application LoadLevel Lev