zoukankan      html  css  js  c++  java
  • Unity 脚本实现CoverFlow效果

        using UnityEngine; 

        using System.Collections; 

        public class   CoverFlow  : MonoBehaviour { 

            public int   numberOfPhotos = 4; 

            public ArrayList   PhotoObjects = new ArrayList(); 

            private Vector2   first = Vector2.zero; 

            private Vector2   second = Vector2.zero; 

            void Start(){ 

              LoadImages(); 

            } 

            void LoadImages() 

            { 

                for(int nLoop = 0; nLoop < numberOfPhotos; nLoop++) 

                { 

                      GameObject PhotoObject = GameObject.CreatePrimitive(PrimitiveType.Plane); 

                      PhotoObjects.Add(PhotoObject); 

                      PhotoObject.transform.position = new Vector3(8 + (nLoop - numberOfPhotos / 2) * 8.2f, 0.5f, 0); 

                      PhotoObject.transform.eulerAngles = new Vector3(-270, (nLoop - numberOfPhotos / 2) * -45, 0); 

                      PhotoObject.renderer.material.mainTexture = Resources.Load("photo" + nLoop) as Texture2D; 

                } 

            } 

            void MoveObject(int dir)  

            { 

                for(int nLoop = 0; nLoop < numberOfPhotos; nLoop++) 

                { 

                      GameObject PhotoObject = PhotoObjects[nLoop] as GameObject; 

                    Vector3   movePoint = PhotoObject.transform.position; 

                    Vector3   eulerPoint = PhotoObject.transform.eulerAngles; 

                      movePoint.x += dir * 0.2f; 

                      eulerPoint.y += dir * 2f; 

                      PhotoObject.transform.position = movePoint; 

                      PhotoObject.transform.eulerAngles = eulerPoint; 

                }  //Unity3D教程手册:www.unitymanual.com

            } 

            void OnGUI() 

            { 

                if(Event.current.type == EventType.MouseDown) 

                { 

                    first = Event.current.mousePosition; 

                } 

                  //Unity3D教程手册:www.unitymanual.com

                if(Event.current.type == EventType.MouseDrag) 

                { 

                    second = Event.current.mousePosition; 

                } 

                if(second.x < first.x) 

                { 

                    print ("Left"); 

                      MoveObject(-1); 

                } 

                else if(second.x > first.x) 

                { 

                    print ("Right"); 

                      MoveObject(1); 

                } 

                first = second; 

            } 

        }

     
    。net交流
  • 相关阅读:
    Android中实现定时器的三种方法 分类: Android 2015-07-14 18:04 11人阅读 评论(0) 收藏
    java构造器内部多态方法
    java继承方法覆盖
    java对象实例化 静态块,对象块,构造函数执行顺序
    Linux 的系统运行级别
    Jmeter启动jmeter-server.bat 报java.io.FileNotFoundException:rmi_keystore.jks 解决方法
    jmeter中JSON Extractors使用
    CentOS6.5下安装jenkins
    day12接口自动化测试框架
    day10 python接口开发、mock接口、网络编程
  • 原文地址:https://www.cnblogs.com/hcyblogs/p/4636164.html
Copyright © 2011-2022 走看看