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交流
  • 相关阅读:
    杭电 1596 find the safest road (最短路)
    回溯法——求解N皇后问题
    iptables apache2
    POJ 2586 Y2K Accounting Bug(枚举大水题)
    JAVA学习第十九课(java程序的异常处理 (二))
    XHTML中button加入超链接以及使插入图片与屏幕一样大
    每天一个JavaScript实例-apply和call的使用方法
    【HDU 5384】Danganronpa(AC自己主动机)
    小心APP应用让你成为“透明人”
    第一讲:使用html5——canvas绘制奥运五环
  • 原文地址:https://www.cnblogs.com/hcyblogs/p/4636164.html
Copyright © 2011-2022 走看看