|
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; |
|
} |
|
} |
|
|

浙公网安备 33010602011771号