zoukankan      html  css  js  c++  java
  • 游戏开场镜头拉近(Unity3D开发之四)

    猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!

    原文地址: http://www.cocos2dev.com/?

    p=553

    今天看了个Demo。发现它的游戏开场会先有个白色遮罩层的渐变消失。然后镜头拉进到目标场景。

    镜头拉进主要用Vector3.MoveTowards()


    1、加入一个GUITexture。用作白色遮罩层。设置Active false,事先不可见。

    不然就挡住你场景了。
    2、加入一个EmptyObject,放置在终于希望camera放置的位置。
    3、将camera position.z 调整到离目标位置的合适距离。

    using UnityEngine;
    using System.Collections;
    
    public class DemoScene : MonoBehaviour {
    	
    	public Transform targetPoint; // camera将要移动到的目的地。能够是一个EmptyObject
    	public GameObject titleText, whiteMask; //title, 白色的全屏遮罩 (事先在场景中Active为false)
    
    	private int pattern = 0;
    	private float alpha = 0.5f;
    	
    	// Use this for initialization
    	void Start () {
    		alpha = 0.5f;
    		whiteMask.SetActive(true);
    	}
    	
    	// Update is called once per frame
    	void Update () {
    		
    		// 移动camera到指定的地点
    		transform.position = Vector3.MoveTowards(transform.position, targetPoint.position, 3 * Time.deltaTime);	
    		
    		if(pattern == 0){
    			// 慢慢减少白色遮罩层的透明度
    			if(alpha > 0){
    				alpha -= Time.deltaTime * 0.2f;
        			whiteMask.guiTexture.color = new Color(.5f,.5f,.5f, alpha);
    			}
    
    		    // 当接近目标点的时候,显示游戏title
    			if(Mathf.Abs(transform.position.z - targetPoint.position.z) <= 6.0f){
    				pattern = 1;
    				alpha = 0;
    				titleText.SetActive(true);
    			}
    		}
    		
    		if(pattern == 1){
    			// 慢慢添加透明度,显示title logo
    			if(alpha < 0.5f){
    				alpha += Time.deltaTime * 0.5f;
        			titleText.guiTexture.color = new Color(.5f,.5f,.5f, alpha);
    			}else{
    				pattern = 2;
    			}
    		}
    		
    		if(pattern == 2){	
    			if(Input.anyKey){
    				// 处理兴许的事
    			}
    		}
    	}
    }



  • 相关阅读:
    使用vue-lazyload 加载图片遇到的坑
    nvm 配置安装全局nodejs
    原生 ajax 请求
    angular5 引入第三方插件
    ionic3 组件引用报错问题
    有1到10w这个10w个数,去除2个并打乱次序,如何找出那两个数
    判断数据类型
    统计字符串有多少字节
    php
    数组 、 字符串 简单去重
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5199720.html
Copyright © 2011-2022 走看看