添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
来源:互联网 发布:醉玲珑小说网络点击量 编辑:程序博客网 时间:2024/06/01 10:11
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!
原文地址: http://blog.csdn.net/cocos2der/article/details/44099095
Unity5个人版会添加Unity Logo作为启动画面,咱们既然没花钱,打个广告也应该。但Unity Logo结束后可以再添加一个自己的启动画面。
下面是添加一个简单的FadeIn->FadeOut过渡场景。
先看下效果图:
代码如下 LHSplashScreens.cs:
using UnityEngine;using System.Collections;public enum FadeStatus{ FadeIn, FadeWaiting, FadeOut}public class LHSplashScreens : MonoBehaviour { public string levelToLoad; public bool waitForInput; public float timeFadingInFinished; public Sprite splashSprite; private float m_fadeSpeed; private float m_waitTime; private float m_alpha; private FadeStatus m_status; private SpriteRenderer m_splashSpriteRenderer; public LHSplashScreens() { levelToLoad = ""; m_fadeSpeed = 0.3f; m_waitTime = 0.5f; m_status = FadeStatus.FadeIn; } void Awake() { Application.targetFrameRate = 60; } // Use this for initialization void Start () { if (Application.levelCount <= 1 || levelToLoad == "") { Debug.LogWarning("Invalid levelToLoad value."); } GameObject m_splashSpriteGO = new GameObject("SplashSprite"); m_splashSpriteGO.AddComponent<SpriteRenderer>(); m_splashSpriteRenderer = m_splashSpriteGO.GetComponent<SpriteRenderer>(); m_splashSpriteRenderer.sprite = splashSprite; Transform m_splashSpriteTransform = m_splashSpriteGO.gameObject.transform; m_splashSpriteTransform.position = new Vector2(0f, 0f); m_splashSpriteTransform.parent = this.transform; } // Update is called once per frame void Update () { FadeStatus fadeStatus = m_status; if (fadeStatus == FadeStatus.FadeIn) { m_alpha += m_fadeSpeed * Time.deltaTime; } else if (fadeStatus == FadeStatus.FadeWaiting) { if ((!waitForInput && Time.time >= timeFadingInFinished + m_waitTime) || (waitForInput && Input.anyKey)) { m_status = FadeStatus.FadeOut; } } else if (fadeStatus == FadeStatus.FadeOut) { m_alpha -= m_fadeSpeed * Time.deltaTime; } UpdateSplashAlpha(); } private void UpdateSplashAlpha() { if (m_splashSpriteRenderer != null) { Color spriteColor = m_splashSpriteRenderer.material.color; spriteColor.a = m_alpha; m_splashSpriteRenderer.material.color = spriteColor; if (m_alpha > 1f) { m_status = FadeStatus.FadeWaiting; timeFadingInFinished = Time.time; m_alpha = 1f; } if (m_alpha < 0) { if (Application.levelCount >= 1 && levelToLoad != "") { Application.LoadLevel(levelToLoad); } } } }}
在你工程中,建立一个新的场景,作为游戏的启动场景。
添加一个Empty GameObject, 添加上面的LHSplashScreens.cs脚本:
- Level To Load: 完成启动画面后你需要加载的场景
- Splash Sprite:过渡使用的logo sprite
最后完成后如下:
用了markdown之后,停不下来啊。呵呵
2 0
- 添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
- Unity3D游戏开发之“重写Unity Android Splash,实现启动无黑屏
- Unity3D游戏开发之“重写Unity Android Splash,实现启动无黑屏”
- 《游戏觉醒之Cocos2d-x3.10游戏开发》- 场景(Scene)
- Unity3D开发(三):场景管理插件Scene Manager
- unity3D游戏开发十三之GUI
- unity3D游戏开发十三之GUI
- unity3D游戏开发十三之GUI
- 【cocos2d-x入门实战】微信飞机大战之十三:游戏场景过渡
- Unity3D游戏开发之Unity3D场景编辑器扩展开发
- Unity3D游戏开发之Unity3D场景编辑器扩展开发
- unity3D游戏开发四之创建基本游戏场景一
- unity3D游戏开发五之创建基本游戏场景二
- unity3D游戏开发六之创建基本游戏场景三
- unity3D游戏开发七之创建基本游戏场景四
- unity3D游戏开发四之创建基本游戏场景一
- unity3D游戏开发五之创建基本游戏场景二
- unity3D游戏开发六之创建基本游戏场景三
- STM32的系统滴答定时器(Systick) 彻底研究解读
- BZOJ 3678 wangxz与OJ 缩点Splay
- 什么是依赖注入
- 关于七牛私有音视频资源播放显示401,但是token生成正确的解决办法。
- CSS常用代码使用技巧大全
- 添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
- Log4j 日志配置示例详解
- 说说IT界加班文化
- 4.15、内部函数和外部函数
- 请各位帮忙解决----Android短信批量速度的优化问题
- VS2012添加单元测试
- 【J2SE快速进阶】——多线程之synchronized
- easy-layout
- HTML中ID与Name的命名规范