提交修改
This commit is contained in:
@@ -1,115 +0,0 @@
|
||||
using UnityEngine;
|
||||
using FairyGUI;
|
||||
|
||||
public class GestureMain : MonoBehaviour
|
||||
{
|
||||
GComponent _mainView;
|
||||
Transform _ball;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Application.targetFrameRate = 60;
|
||||
Stage.inst.onKeyDown.Add(OnKeyDown);
|
||||
|
||||
UIPackage.AddPackage("UI/Gesture");
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
_mainView = this.GetComponent<UIPanel>().ui;
|
||||
GObject holder = _mainView.GetChild("holder");
|
||||
|
||||
_ball = GameObject.Find("Globe").transform;
|
||||
|
||||
SwipeGesture gesture1 = new SwipeGesture(holder);
|
||||
gesture1.onMove.Add(OnSwipeMove);
|
||||
gesture1.onEnd.Add(OnSwipeEnd);
|
||||
|
||||
LongPressGesture gesture2 = new LongPressGesture(holder);
|
||||
gesture2.once = false;
|
||||
gesture2.onAction.Add(OnHold);
|
||||
|
||||
PinchGesture gesture3 = new PinchGesture(holder);
|
||||
gesture3.onAction.Add(OnPinch);
|
||||
|
||||
RotationGesture gesture4 = new RotationGesture(holder);
|
||||
gesture4.onAction.Add(OnRotate);
|
||||
}
|
||||
|
||||
void OnSwipeMove(EventContext context)
|
||||
{
|
||||
SwipeGesture gesture = (SwipeGesture)context.sender;
|
||||
Vector3 v = new Vector3();
|
||||
if (Mathf.Abs(gesture.delta.x) > Mathf.Abs(gesture.delta.y))
|
||||
{
|
||||
v.y = -Mathf.Round(gesture.delta.x);
|
||||
if (Mathf.Abs(v.y) < 2) //消除手抖的影响
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
v.x = -Mathf.Round(gesture.delta.y);
|
||||
if (Mathf.Abs(v.x) < 2)
|
||||
return;
|
||||
}
|
||||
_ball.Rotate(v, Space.World);
|
||||
}
|
||||
|
||||
void OnSwipeEnd(EventContext context)
|
||||
{
|
||||
SwipeGesture gesture = (SwipeGesture)context.sender;
|
||||
Vector3 v = new Vector3();
|
||||
if (Mathf.Abs(gesture.velocity.x) > Mathf.Abs(gesture.velocity.y))
|
||||
{
|
||||
v.y = -Mathf.Round(Mathf.Sign(gesture.velocity.x) * Mathf.Sqrt(Mathf.Abs(gesture.velocity.x)));
|
||||
if (Mathf.Abs(v.y) < 2)
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
v.x = -Mathf.Round(Mathf.Sign(gesture.velocity.y) * Mathf.Sqrt(Mathf.Abs(gesture.velocity.y)));
|
||||
if (Mathf.Abs(v.x) < 2)
|
||||
return;
|
||||
}
|
||||
|
||||
GTween.To(v, Vector3.zero, 0.3f).SetTarget(_ball).OnUpdate(
|
||||
(GTweener tweener) =>
|
||||
{
|
||||
_ball.Rotate(tweener.deltaValue.vec3, Space.World);
|
||||
});
|
||||
}
|
||||
|
||||
void OnHold(EventContext context)
|
||||
{
|
||||
GTween.Shake(_ball.transform.localPosition, 0.05f, 0.5f).SetTarget(_ball).OnUpdate(
|
||||
(GTweener tweener) =>
|
||||
{
|
||||
_ball.transform.localPosition = new Vector3(tweener.value.x, tweener.value.y, _ball.transform.localPosition.z);
|
||||
});
|
||||
}
|
||||
|
||||
void OnPinch(EventContext context)
|
||||
{
|
||||
GTween.Kill(_ball);
|
||||
|
||||
PinchGesture gesture = (PinchGesture)context.sender;
|
||||
float newValue = Mathf.Clamp(_ball.localScale.x + gesture.delta, 0.3f, 2);
|
||||
_ball.localScale = new Vector3(newValue, newValue, newValue);
|
||||
}
|
||||
|
||||
void OnRotate(EventContext context)
|
||||
{
|
||||
GTween.Kill(_ball);
|
||||
|
||||
RotationGesture gesture = (RotationGesture)context.sender;
|
||||
_ball.Rotate(Vector3.forward, -gesture.delta, Space.World);
|
||||
}
|
||||
|
||||
void OnKeyDown(EventContext context)
|
||||
{
|
||||
if (context.inputEvent.keyCode == KeyCode.Escape)
|
||||
{
|
||||
Application.Quit();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dffc58029aa66074287bfe11db08a102
|
||||
timeCreated: 1464248165
|
||||
licenseType: Pro
|
||||
MonoImporter:
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user