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交流
  • 相关阅读:
    第三周动手动脑
    判断回文串
    补码&&反码&&原码小知识
    第二周课后学习作业&&动手动脑课后作业
    Topcoder Tian Ji‘s Horse Racing
    Dining kuangbin
    网络流算法
    kuangbin Doing Homework
    kuangbin Prime Path
    ZOJ4033 CONTINUE...?
  • 原文地址:https://www.cnblogs.com/hcyblogs/p/4636164.html
Copyright © 2011-2022 走看看