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交流
  • 相关阅读:
    [MyBatis]最简MyBatis工程
    eclipse中如何删除已经添加到 Web App Libraries 中引用的jar包
    day48_项目管理学习笔记
    项目流程之失败的案例
    项目流程之婚礼流程
    day47_Maven学习笔记
    快还要更快,让PHP 7 运行更加神速
    Linux服务器时间同步
    Win10系统开启Linux Bash命令行
    红帽RHOP 8 发布一条龙方案
  • 原文地址:https://www.cnblogs.com/hcyblogs/p/4636164.html
Copyright © 2011-2022 走看看