添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
添加启动游戏过渡场景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之后,停不下来啊。呵呵
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)的更多相关文章
- Unity3D开发入门教程(三)——添加启动脚本
五邑隐侠,本名关健昌,12年游戏生涯. 本教程以 Unity 3D + VS Code + C# + tolua 为例. 一.启动脚本 第一篇 "搭建开发环境",在 "配 ...
- iOS-APP中添加启动界面
iOS,非常高兴的又回到了这个领域.纠结的就业之路...找工作的这段时间里,原本以为是iOS的游戏开发,却一直只有后台的offer,到Android,最后正式上班的时候却被告知调到了iOS开发,当然不 ...
- 使用过渡场景在多个场景的切换COCOS2D(4)
CCNode有三个方法,使用CCDirector的replaceScene方法替换场景时,每个节点都会调用这三个方法: onEnter与onExit方法在改变场景过程中的特定时刻被调用,这取决于是否使 ...
- 在iOS App 中添加启动画面
你可以认为你需要为启动画面编写代码,然而Apple 让你可以非常简单地在Xcode中完成.不需要编写代码,你仅需要在Xcode中进行一些配置. 1.什么是启动画面(Splash Screen)? 启动 ...
- 【Unity】2.5 场景视图(Scene)
分类:Unity.C#.VS2015 创建日期:2016-03-29 一.场景视图(Scene View)导航 场景视图 (Scene View) 是你的交互式沙箱.你可以使用场景视图 (Scene ...
- VC/MFC如何添加启动界面
2015-05 转自 香远益清原文VC/MFC如何添加启动界面 1.基于框架类的应用程序添加启动画面的步骤(利用组件库中的Splash Screen组件生成Splash1.cpp 和Splash1.h ...
- [Unity3D]NGUI用Sprite动画和屏幕自适应做游戏开始场景
我们在玩任何一款手游产品时,都是先上来个logo界面,游戏欢迎界面等,这就意味着我们要做一款游戏需要多个场景,场景之间来回切换实现游戏逻辑,unity也不例外,所以从本篇开始将会介绍如何搭建多个场景, ...
- [转]轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)
本文转自:http://blog.csdn.net/zapzqc/article/details/42237935 由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最 ...
- 轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)
由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最下方: 应用图标: 1.在整个项目所在文件夹下创建res文件夹,里边再分别创建两个文件夹android和io ...
随机推荐
- Docker学习笔记2: Docker 概述
一.什么是Docker Docker是基于Go语言实现的云开源项目. Docker 的主要目标是:"Bulid,Ship and Run Any App ,AnyWhere" , ...
- gradle 入门介绍
gradle 简介 基于Groovy实现的自动化构建工具,比maven好的一点在于不用写复杂的xml文件.使用script就可以. gradle 专业名词 从一个build.gradle 文件开始,b ...
- 微信小程序基础之试图控件View、ScrollView、Swiper
今天写一篇关于微信小程序视图控件的文章,主要是介绍界面的搭建和部分操作js交互功能的介绍,转载请注明出处,谢谢~ 首先显示首页结构.创建三个navigator,用来跳转页面: <!--index ...
- Vc2015 utf8 格式出错
Vc2015 utf8 格式出错(金庆的专栏)用Vc2015新建一个项目,如下添加一行中文注释.然后将这个文件改为utf8无BOM格式,再转换行结束符为Unix格式.#include "st ...
- DOM4J生成、解析XML实例
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Iterato ...
- Android下拉列表控件spinner-andoid学习之旅(十一)
废话不多说,下拉列表常用的就是spinner控件. 直接上代码: package peng.liu.testview; import android.app.Activity; import andr ...
- 08 ListView 优化的例子
package com.fmy.homework; import java.util.List; import com.fmy.homework.httputil.HttpUtil; import c ...
- Dynamics CRM 2015 Online Update1 UI界面的更新变化
听说出 Dynamics CRM 2015 Online Update1了,立马跑去申请了个30天试用版简单的看了下,UI上的变化还是让人耳目一新的,也可能是被CRM2013的UI蹂躏太久了没 ...
- Hessian源码分析--HessianServlet
Hessian可以通过Servlet来对外暴露服务,HessianServlet继承于HttpServlet,但这仅仅是一个外壳,使用web服务器来提供对外的Http请求,在web.xml中我们会进行 ...
- SDL2源代码分析8:视频显示总结
===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...