UNITY5.3怎么用脚本切换unity 跨场景调用脚本

想知道UNITY5.3怎么用脚本切换场景_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:52,821贴子:
想知道UNITY5.3怎么用脚本切换场景收藏
网上找的基本上都是Application的办法,可是目前自己用的是5.3,monodevelop里面写起来都是不行的,想实现各个界面的切换,一开始想用一个场景,切换摄像机来做切换界面,但是每个界面自己写的时候是在对应的摄像机里面放了脚本,所以界面切换的时候还要脚本调整GUI的显示与否非常麻烦,就想试试切换场景,网上找起来都是旧的办法,不知道要怎么解决呢?
三叔正版授权网游公测!
SceneManager
一般这种情况被废除的方法都会有提示,说明现在应该用什么方法,去看看文档。以后碰到就知道还用什么了。
添加一个scenemanager的引用
同样问题,官方文档也看了。说Scenemanager有LoadScene的静态方法,但是SceneManager里没看到。
EditorApplication
Mono有好多函数不支持,换了vs就行了,,——来自 爱贴吧 Windows Phone 客户端
unityenginel.scenemanager命名空间
我怎么可以。。。。用的5.3.4
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 1347|回复: 107
【纯实用小技巧】Unity3D 修改默认脚本模板,让你带上自己的逼格飞起来~
元素币活跃度贡献值
unity3D区版主
土豪金1469
在线时间2882 小时
马上注册成为元素者,获取海量元素资源,结识各路大神级人物
才可以下载或查看,没有帐号?
微元素规矩,先上个成品图(PS:楼主只是个热爱学习的小白,感谢新总的干货,)
另外可以关注楼主另外2个关于UGUI的帖子哦(点击即可)
U3D创建任意一个脚本的时候。会在默认脚本中自动生成自己额外添加的内容。并且能实时显示创建
脚本的时间。如图!!(注意修改模板的那个脚本必须放在工程目录的Assets/Editor文件夹下)不然报错
1.jpg (148.33 KB, 下载次数: 0)
21:56 上传
1:右键UNITY。打开文件位置。找到Editor
2.jpg (16.21 KB, 下载次数: 0)
22:03 上传
3.jpg (50.18 KB, 下载次数: 0)
22:04 上传
4.jpg (151.58 KB, 下载次数: 0)
22:05 上传
2:找到unity自带默认脚本模板所在文件夹。见图
5.jpg (73.9 KB, 下载次数: 0)
22:07 上传
6.jpg (110.79 KB, 下载次数: 0)
22:07 上传
7.jpg (78.36 KB, 下载次数: 0)
22:08 上传
3:打开默认脚本。将自己需要添加的其他内容以注释的方式
添加进去。另外需要实时更换的内容加个##方便下
8.jpg (131.4 KB, 下载次数: 0)
22:08 上传
4:打开Unity3d 创建脚本。这个就是用来修改默认脚本的。
注意。每创建一个新的工程。下次就把这个写好的脚本放
进新工程。然后接下来创建的新脚本就会自动生成这个逼格高高的模板咯
代码回复可见哦~游客,如果您要查看本帖隐藏内容请
元素币 +51
活跃度 +20
你不是在用心发贴,你是在用爱!
享有帖子相关版权3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和的同意4、所有内容仅供个人学习、研究之用,请勿用于商业用途5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意7、管理员和版主有权不事先通知发贴者而删除本文', this.href);">论坛版权
元素币活跃度贡献值
元素王, 积分 19189, 距离下一级还需 10811 积分
元素王, 积分 19189, 距离下一级还需 10811 积分
在线时间222 小时
感谢楼主分享。。。。。。。。。。。。。。。。。。。
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 58702, 距离下一级还需 41298 积分
元素皇, 积分 58702, 距离下一级还需 41298 积分
土豪金1238
在线时间692 小时
并不懂效果作用是什么,有最后效果截图就好,纯顶····
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 25879, 距离下一级还需 4121 积分
元素王, 积分 25879, 距离下一级还需 4121 积分
在线时间291 小时
带你赚币带你飞,元素里面有正妹!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 56192, 距离下一级还需 43808 积分
元素皇, 积分 56192, 距离下一级还需 43808 积分
土豪金1148
在线时间893 小时
你们大神真会玩!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 37576, 距离下一级还需 62424 积分
元素皇, 积分 37576, 距离下一级还需 62424 积分
在线时间488 小时
看起来很厉害的样子
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 13344, 距离下一级还需 16656 积分
元素王, 积分 13344, 距离下一级还需 16656 积分
在线时间134 小时
为了元素币,拼了!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 21365, 距离下一级还需 8635 积分
元素王, 积分 21365, 距离下一级还需 8635 积分
在线时间277 小时
带你赚币带你飞,元素里面有正妹!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 83964, 距离下一级还需 16036 积分
元素皇, 积分 83964, 距离下一级还需 16036 积分
在线时间1073 小时
正是本尊想要的!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素侠, 积分 1348, 距离下一级还需 652 积分
元素侠, 积分 1348, 距离下一级还需 652 积分
在线时间7 小时
高端大气上档次,低调奢华有内涵!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素侠, 积分 1348, 距离下一级还需 652 积分
元素侠, 积分 1348, 距离下一级还需 652 积分
在线时间7 小时
感谢楼主的经验分享 让我感觉对这个网站有了从新的认识
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 64527, 距离下一级还需 35473 积分
元素皇, 积分 64527, 距离下一级还需 35473 积分
在线时间347 小时
为了元素币,拼了!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 7898, 距离下一级还需 22102 积分
元素王, 积分 7898, 距离下一级还需 22102 积分
在线时间58 小时
想要成大触,天天上元素!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
unity3D区版主
土豪金1469
在线时间2882 小时
感谢楼主的经验分享 让我感觉对这个网站有了从新的认识
元素有你更精彩~
元素币活跃度贡献值
元素皇, 积分 79882, 距离下一级还需 20118 积分
元素皇, 积分 79882, 距离下一级还需 20118 积分
在线时间999 小时
带你赚币带你飞,元素里面有正妹!
矍铄支离君莫笑。白日青天。我自心情胜少年。
元素币活跃度贡献值
元素皇, 积分 37038, 距离下一级还需 62962 积分
元素皇, 积分 37038, 距离下一级还需 62962 积分
在线时间100 小时
埃索镁拉唑
活跃度 -10
用心回复可以加分哦~即使是快捷回复也可以使用元素自带的便利回复呢
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素皇, 积分 45203, 距离下一级还需 54797 积分
元素皇, 积分 45203, 距离下一级还需 54797 积分
在线时间291 小时
为了元素币,拼了!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
元素王, 积分 27013, 距离下一级还需 2987 积分
元素王, 积分 27013, 距离下一级还需 2987 积分
在线时间174 小时
元素帖子强,满满正能量!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
土豪金2558
在线时间746 小时
资源发布哪家强?元素首发称大王!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
元素币活跃度贡献值
土豪金2558
在线时间746 小时
资源发布哪家强?元素首发称大王!
还没有设置签名!您可以在此展示你的链接,或者个人主页!
【拥有1000元素币】你就可以领取
【拥有3000元素币】其实也是很容易的事情
【1W元素币】的持有者,对于很多元素者来说,是一件值得骄傲的事情!
【5W元素币】的持有者是真的土豪!赶快用它做点什么吧!
达成成就【我是界王】在任意元素QQ群联盟,到达【界王】以上
限量版珍贵徽章,参与元素特定活动,元素T恤获取者
【真爱之花】
七夕限量版,萌萌哒花儿
平时一次性兑换土豪金超过3000,圣诞节期间一次性兑换土豪金超过500即可获取!
【元素晶石】
只有【元素大神】才能拥有,自由出入元素秘境之钥
【50小时】的学习,已经证明了你自己,这件法袍是你的了,由于使用了简陋的材料,能穿一个月已经不错了!
达成成就【采花大盗】在花瓣网,建立7个【微元素】专辑!拥有3000张以上来自微元素的收采图!
升级到【矿脉·勘探者】
升级到【星球·资源帝】
达成成就【有钱人】单次充值100RMB或以上
【MP50】这次的冒险才刚刚开始,和所有故事一样,你得先有一个属于自己的法杖!即使他的法力会在30天后消失
【贡献50】这只是一颗普通的珍珠,但是戴在你的手指上,能使你魅力提升不少呦
一把常见的矿镐,往元素矿场投入2000元素币获取
闪闪发亮的矿镐,往元素矿场投入1W元素币
元素推荐-友情提示 /1
每周一次的扩散大招带来更多元素币收益!
快速登录:
收藏帖子(4)
周一至周日:08:00-22:00
积分和充值
&2014&&. All rights reserved. (
)&&Powered byUnity3d(3)
using UnityE
using System.C
&* 使用方法:将该脚本附在镜头下面,然后切换场景时镜头不销毁
&* 要调用的时候获得该脚本,然后调用StartSplash()
//@author joi&
public class SceneLoad : MonoBehaviour {
& & public int guiDepth = 0;
& & public string levelToLoad = &&;
& & //将要加载的场景序号
& & public int levelToLoadI
& & //切换场景的纹理
& & public Texture2D splashL
& & //淡入淡出的速度
& & float fadeSpeed = 0.8f;
& & //保持纹理最高透明度的时间
& & float waitTime = 0f;
& & //是否要等待输入
& & public bool waitForInput =
& & public bool startAutomatically =
& & public bool IsDealPlayer=
& & private float timeFadingInFinished = 0.0f;
& & //处理切换场景后需要实现的事件
& & public delegate void EventHandler();
& & public event EventH
& & public delegate void EventHandler2nd();
& & public event EventHandler2nd triggerAtL
& & //淡入淡出方式
& & public enum SplashType
& & & & LoadNextLevelThenFadeOut,
& & & & FadeOutThenLoadNextLevel
& & public SplashType splashT
& & private float alpha = 0.0f;
& & //纹理的状态
& & private enum FadeStatus
& & & & Paused,
& & & & FadeIn,
& & & & FadeWaiting,
& & & & FadeOut
& & private FadeStatus status = FadeStatus.P
& & private Rect splashLogoPos = new Rect();
& & //是否要自适应屏幕大小
& & public enum LogoPositioning
& & & & Centered,
& & & & Stretched
& & public LogoPositioning logoP
& & private bool loadingNextLevel =
& & void Start ()
// & & &if(startAutomatically)
// & & & & &status = FadeStatus.FadeIn;
// & & &else
// & & & & &status = FadeStatus.P
& & & & if(logoPositioning == LogoPositioning.Centered)
& & & & & & splashLogoPos.x = (Screen.width * 0.5f) - (splashLogo.width * 0.5f);
& & & & & & splashLogoPos.y = (Screen.height * 0.5f) - (splashLogo.height * 0.5f);
& & & & & & &
& & & & & & splashLogoPos.width = splashLogo.
& & & & & & splashLogoPos.height = splashLogo.
& & & & else
& & & & & & splashLogoPos.x = 0;
& & & & & & splashLogoPos.y = 0;
& & & & & & &
& & & & & & splashLogoPos.width = Screen.
& & & & & & splashLogoPos.height = Screen.
& & & & if(splashType == SplashType.LoadNextLevelThenFadeOut)
& & & & & & DontDestroyOnLoad(this);
& & & & & & &
& & & & if(Application.levelCount &= 1)
& & & & & & Debug.LogWarning(&Invalid levelToLoad value.&);
& & //开始切换,要跳转的场景和设置对应的切换速率
& & public void StartSplash (int level,int i)
& & & & status = FadeStatus.FadeIn;
& & & & levelToLoadInt=
& & & & SetValue(i);
& & public void setIsDealPlayer(bool isDealPlayer)
& & & & IsDealPlayer=isDealP
& & public void SetValue(int i)
& & & & switch(i)
& & & & case 1:
& & & & & & fadeSpeed=0.8f;
& & & & & & waitTime=1.0f;
& & & & & &
& & & & case 2:
& & & & & & fadeSpeed=0.8f;
& & & & & & waitTime=1.0f;
& & & & & &
& & & & case 3:
& & & & & & fadeSpeed=0.8f;
& & & & & & waitTime=1.0f;
& & & & & &
& & void Update ()
& & & & switch(status)
& & & & case FadeStatus.FadeIn:
& & & & & & &
& & & & & & alpha += fadeSpeed*Time.deltaT
& & & & & &
& & & & case FadeStatus.FadeWaiting:
& & & & & & if((!waitForInput && Time.time &= timeFadingInFinished + waitTime)||(waitForInput && Input.anyKey))
& & & & & & {
& & & & & & & & status = FadeStatus.FadeO
& & & & & & & & &
& & & & & & }
& & & & & &
& & & & case FadeStatus.FadeOut:
& & & & & & alpha += -fadeSpeed*Time.deltaTime*2;
& & & & & & if(alpha&=0.0f)
& & & & & & {
& & & & & & & & if(trigger!=null){
& & & & & & & & & & trigger();
& & & & & & & & }
& & & & & & & & &
& & & & & & & & status=FadeStatus.P
& & & & & & &
& & & & & & }
& & & & & &
& & void OnGUI()
& & & & GUI.depth = guiD
& & & & if(splashLogo != null)
& & & & & & GUI.color = new Color(GUI.color.r,GUI.color.g,GUI.color.b,Mathf.Clamp01(alpha));
& & & & & & GUI.DrawTexture(splashLogoPos,splashLogo);
& & & & if(alpha & 1.0f)
& & & & & & status = FadeStatus.FadeW
& & & & & & &
& & & & & & timeFadingInFinished = Time.
& & & & & & alpha = 1.0f;
& & & & & & if(splashType == SplashType.LoadNextLevelThenFadeOut)
& & & & & & {
& & & & & & &
& & & & & & & & loadingNextLevel =
& & & & & & & & if((Application.levelCount) &= 1)
& & & & & & & & {
// & & & & & & & & &print(levelToLoadInt);
& & & & & & & & & & Application.LoadLevel(levelToLoadInt);
& & & & & & & & & & if(triggerAtLoading!=null)
& & & & & & & & & & & & triggerAtLoading();
& & & & & & & & & & &
& & & & & & & & & & &
& & & & & & & & }
& & & & & & }
& & & & if(alpha & 0.0f)
& & & & & & if(splashType == SplashType.FadeOutThenLoadNextLevel)
& & & & & & {
& & & & & & & & if(Application.levelCount &= 1)
& & & & & & & & {
& & & & & & & & & & Application.LoadLevel(levelToLoadInt);
& & & & & & & & }
& & & & & & }
& & & & & & else
& & & & & & {
& & & & & & & & &
& & & & & & }
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:130261次
积分:1525
积分:1525
排名:第19131名
原创:13篇
转载:66篇
评论:19条
(3)(1)(3)(6)(7)(6)(1)(1)(2)(3)(3)(1)(1)(2)(4)(4)(2)(6)(2)(4)(14)(1)(3)UNITY5.3怎么用脚本切换场景_百度知道1963人阅读
Unity3D(156)
持久化简单的数据储存在Unity3D 中提供了一个简单有效的方法,如果之前的你做过Android的开发你会发现在Unity3D中持久化数据的储存和Android非常的想象。那么下面MOMO 将用一个简单有效的例子向大家介绍Unity3D中持久化数据。
首先我们须要熟悉一下Unity3D中的PlayerPrefs这个类。这个类中一共帮助我们封装了9个方法,用来数据的储存与读取。
举一个例子
PlayerPrefs.SetString(&key&,&value&);
str = PlayerPrefs.GetString(&key&,&defaule&));
我们发现它是以键值对的形式进行储存与读取,每一个Key对应一个Value,储存过后通过Key可以得到之前储存的Value。这里说一下GetString()方法中的第二个参数, 它代表默认值。意思是如果通过第一个参数的Key没有找到对应的Value的话GetString()方法就会返回我们写的第二个参数的默认值。怎么样?很简单吧~ 感觉和Android完全一样哈。
Unity3D默认的字体的 size 只有 16 ,这就意味了放在iPhone4 (960 X 640)上 字体会显示的非常小。字体的来源有很多,大家可以在互联网上下载,或者从自己的电脑中拷贝,在Mac电脑下字体放在 Finder -& 资源库 -& Fonts
我们可以看见电脑中存在了很多字体,我这里随便选一个,将 华文仿宋.ttf 用鼠标拖动到Project中。
选中: 华文仿宋
FontSize 30 :毫无疑问是字体的大小,这里写30让字体几乎放大1倍。
Character:& 设置字体的文字编码 Unicode& ASCLL 编码
Style:设置字体的风格,粗体 斜体
点击Cretae -&GUISkin 创建一个GUI的皮肤,将 华文仿宋 拖动到箭头所指向的方向。发现下面存在很多GUI皮肤相关控件设置的,可以在这里设置每一个高级控件~大家可以手动的修改一下看看效果哈。
游戏场景在游戏制作中是一个非常重要的部分,因为任何一款游戏都是由若干的场景组成,Unity3D的游戏场景做的非常贴心。
创建2个游戏场景,一个是scene0 一个是scene1 ,本章的目标是在第一个游戏场景中保存一些基本游戏数据,然后切换到第二个场景中显示第一个场景中保存的数据,实现场景的切换已经数据的储存。
在scene0中创建一个c# 脚本名称为Scene0Main.cs 将它绑定在摄像头中。
Scene0Main.cs
class Scene0Main : MonoBehaviour {
&&&&publicstring
&&&&publicstring
&&&&publicstring
&&&&publicGUISkin fontS
&&&&publicTexture I
&&&&voidStart () {
&&&&&&&&testStr = PlayerPrefs.GetString(&testStr&,&default&);
&&&&&&&&testInt = PlayerPrefs.GetInt(&testInt&, 0).ToString();
&&&&&&&&testFloat = PlayerPrefs.GetFloat(&testFloat&, 0).ToString();
&&&&voidUpdate () {
&&&&voidOnGUI() {
&&&&&&&&GUI.skin = fontS
&&&&&&&&GUI.DrawTexture(newRect((Screen.width - Imagetexture.width) &&1, 10, 120, 120), Imagetexture);
&&&&&&&&testStr = GUI.TextField (newRect(10, 200, 200, 50), testStr, 50);
&&&&&&&&testInt = GUI.TextField (newRect(10, 250, 200, 50), testInt, 50);
&&&&&&&&testFloat = GUI.TextField (newRect(10, 300, 200, 50), testFloat, 50);
&&&&&&&&if(GUI.Button(newRect(220, 200, 150, 100),
&commit all&))
&&&&&&&&&&&&PlayerPrefs.SetString(&testStr&, testStr);
&&&&&&&&&&&&PlayerPrefs.SetInt(&testInt&,int.Parse(testInt));
&&&&&&&&&&&&PlayerPrefs.SetFloat(&testFloat&,float.Parse(testFloat));
&&&&&&&&&&&&
&&&&&&&&&&&&Application.LoadLevel(&scene1&);
Scene1Main.cs
class scene1Main : MonoBehaviour {
&&&&publicstring
&&&&publicstring
&&&&publicstring
&&&&publicGUISkin fontS
&&&&publicTexture I
&&&&voidStart () {
&&&&&&&&testStr = PlayerPrefs.GetString(&testStr&,&default&);
&&&&&&&&testInt = PlayerPrefs.GetInt(&testInt&, 0).ToString();
&&&&&&&&testFloat = PlayerPrefs.GetFloat(&testFloat&, 0).ToString();
&&&&voidOnGUI() {
&&&&&&&&GUI.skin = fontS
&&&&&&&&GUI.DrawTexture(newRect((Screen.width - Imagetexture.width) &&1, 10, 120, 120), Imagetexture);
&&&&&&&&GUI.Label(newRect(10,150,300,50),&testStr = &+
&&&&&&&&GUI.Label(newRect(10,200,300,50),&testInt = &+
&&&&&&&&GUI.Label(newRect(10,250,300,50),&testFloat = &+
testFloat);
&&&&&&&&if(GUI.Button(newRect(220, 200, 150, 100),
&clean all&))
&&&&&&&&&&&&
&&&&&&&&&&&&PlayerPrefs.DeleteAll();
&&&&&&&&&&&&
&&&&&&&&&&&&Application.LoadLevel(&scene0&);
&&&&&&&&if(GUI.Button(newRect(220, 320, 150, 100),
&only return&))
&&&&&&&&&&&&
&&&&&&&&&&&&Application.LoadLevel(&scene0&);
File -& Build Settings 点击Add Current添加场景,这一步很重要,如果不添加的话在代码中切换场景会抛异常,盆友们还得注意一下~
build and run 导出运行项目,如下图所示我分别输入string int float 三种类型的数据,然后点击commit all ,将所有数据全部保存下来,游戏场景切换到scene1场景中。
切换到scene1中可以正常的显示scene0中储存的数值,点击clean all 将清空储存的所有信息后返回场景scene0,点击only return 直接返回场景scene0。
另外两个重要的方法
PlayerPrefs. DeleteKey (“key”);
b = PlayerPrefs.HasKey(“key”);
最后欢迎各位盆友可以和MOMO一起讨论Unity3D游戏开发,总的来说这一章还是比较简单的,哇咔咔~~~ 附上Unity3D工程的下载地址,Xcode项目我就不上传了,须要的自己导出。
下载地址:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:867274次
积分:9589
积分:9589
排名:第1231名
原创:78篇
转载:350篇
评论:72条
(2)(3)(2)(1)(3)(1)(4)(2)(2)(6)(25)(2)(5)(3)(65)(20)(2)(4)(4)(58)(12)(10)(82)(75)(25)(1)(1)(1)(3)(2)(8)(1)

我要回帖

更多关于 unity5.x切换场景 的文章

 

随机推荐