用Unity3D 做個類似手機左右滑屏的功能
我的想法的是,兩個Canvas, 手指觸摸移動第一個Canvas, localPosition 加上 移動距離,第二個Canvas 也移動同樣的距離
不知道對不對, 有大神可以給個Demo嗎
uj5u.com熱心網友回復:
這種問題,寫一下試試即可uj5u.com熱心網友回復:
直接用touch插件就好咯,easytouch或者leantouchuj5u.com熱心網友回復:
void OnGUI()
{
if (Event.current.type == EventType.MouseDown)
{//記錄滑鼠按下的位置
first = Event.current.mousePosition;
}
if (Event.current.type == EventType.MouseDrag)
{//記錄滑鼠拖動的位置
second = Event.current.mousePosition;
if (second.x < first.x)
{//拖動的位置的x坐標比按下的位置的x坐標小時,回應向左事件
print("left");
}
if (second.x > first.x)
{//拖動的位置的x坐標比按下的位置的x坐標大時,回應向右事件
print("right");
}
float tempX = first.x-second.x;
//控制地圖不移出螢屏
if (this.transform.position.x + tempX < 640)
{
return;
}
this.transform.Translate(new Vector3(tempX, 0, 0));
first = second;
}
}
以上代碼,放到一個GO上,就能看到效果了,在pc 移動端都有有效
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/129219.html
標籤:Unity3D
下一篇:cocos2d-x cocos compile -p android --android-studio 編譯失敗
