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;

}

}

 
时间: 2024-10-17 14:31:20

Unity 脚本实现CoverFlow效果的相关文章

Unity 脚本的未来发展

最近,我们谈到了Unity 的WebGL . 在那篇文中我们简要谈论到脚本在 WebGL  中的运行的新技术称为"IL2CPP" .然而IL2CPP 所代表的不只是适用于WebGL 的脚本解决方案,同时也是我们自己为了在更多平台上执行 .NET时能有高效能的方案. 在深入探究未来之前,让我们先谈谈现在吧. Unity 中脚本的现状 我们利用Mono (以及在 Windows Store App 和Windows Phone 上的WinRT )让C#变得容易使用,存取第三方资料库并最接近

Unity 实现物体破碎效果(转)

感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In this tutorial I will show you how to create a simple shattering effect for your Unity game. Instead of just "deleting" a crate (or any other obje

Unity脚本在层级面板中的执行顺序测试4-附加内容

测试4为一些附加内容,后面的各种tips都加在此. 前几篇测试的链接: Unity脚本在层级面板中的执行顺序测试1 http://www.cnblogs.com/hont/p/4298110.html Unity脚本在层级面板中的执行顺序测试2 http://www.cnblogs.com/hont/p/5034419.html Unity脚本在层级面板中的执行顺序测试3 http://www.cnblogs.com/hont/p/5179427.html 1.基本执行顺序 Awake OnEn

Unity 脚本的执行顺序

在Unity脚本中常用到的函数就是下面这些,他们的顺序也是按照箭头的方向执行的. Awake ->OnEable-> Start -> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->OnDisable ->OnDestroy 1.Awake 用于在游戏开始之前初始化变量或游戏状态.在脚本整个生命周期内它仅被调用一次.Awake在所有对象被初始化之后调用,所以你可以安全的与其他对象对话或用诸如GameObject.

Unity脚本中各函数成员的生命周期

在学习Unity时,掌握如何编写脚本是必须掌握的一项基本技能.但是关于Unity的游戏脚本中各函数的生命周期是怎样开始和结束的,它们的执行顺序是如何安排的?这一点我们要清楚的了解. 我们知道Unity中的脚本大多派生于MonoBehaviour类,所以可以重写MonoBehaviour类里面的方法来实现我们想要的功能.那么自定义脚本中的各函数执行顺序和MonoBehaviour里面的函数执行顺序大致是一样的. 首先介绍一下MonoBehaviour类里面的成员变量和成员函数. 1 public

unity脚本执行顺序详解

unity脚本自带函数执行顺序如下:将下面脚本挂在任意物体运行即可得到 Awake ->OnEable-> Start ->-> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->Reset -> OnDisable ->OnDestroy using UnityEngine; using System.Collections; public class timetest : MonoBehaviour

unity脚本运行顺序具体的解释

unity脚本自带函数执行顺序例如以下:将以下脚本挂在随意物体执行就可以得到 Awake ->OnEable-> Start ->-> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->Reset -> OnDisable ->OnDestroy using UnityEngine; using System.Collections; public class timetest : MonoBehavio

Unity脚本执行顺序自研框架

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/52372611 作者:cartzhang 一.关于Unity脚本执行排序 1 Unity脚本执行排序的说明 在Unity中,要控制Unity的脚本执行顺序,Unity引擎本身已经有了一个脚本排序.这个排序在编辑器中可以编辑并设置. 它里面带有默认的,根据优先级来排定执行顺序.若没有在排序的均在default time排序的间隙

修改Unity脚本模板的方法合计

作为一个习惯于偷懒的程序,重复性的无聊内容是最让人无奈的事,就比如我们创建Unity脚本之后,需要手动调整生成的新脚本的格式.编码.内容:如果我们要编写的是编辑器或者服务器端脚本,需要修改的内容就会更多等等,因此我们要寻求一种偷懒的解决办法,针对这个问题,之前也使用过一些解决办法,今天就索性总结一下: 1.找到Unity版本对应的安装路径,修改对应的脚本模板: XXX\Editor\Data\Resources\ScriptTemplates\下的模板,直接修改其格式.编码,这样之后在使用时,就