陀螺仪代码 网上有很多,2d,3d。 不过好像 就是少了 c# 2d 版本的。
于是我找了 网上代码 改写了下。
代码都是很简单的,不多做说明了
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class news : MonoBehaviour
{public RectTransform go;private float cross_x, cross_y;private Vector2 vec;public Text tt;void Start(){print(go.sizeDelta.x);cross_x = Screen.width - go.sizeDelta.x/2;cross_y = Screen.height - go.sizeDelta.y/2;vec = go.position;}void Update(){vec.x += Input.acceleration.x*10;vec.y += Input.acceleration.y * 10;if (vec.x < go.sizeDelta.x/2){vec.x = go.sizeDelta.x/2;}else if (vec.x > cross_x){vec.x = cross_x;}if (vec.y < go.sizeDelta.y/2){vec.y = go.sizeDelta.y/2;}else if (vec.y > cross_y){vec.y = cross_y;}tt.text = vec.x + " " + vec.y;go.position = vec;}
}
用手机测试,效果 可以 让 红色方块 移动
另外,陀螺仪我发现用的人很少,早期有人用来 做小球滚动游戏,后来就没有了。还有一些人做成 3d ui,不过我觉得,这些用法都不对。
我有一台 psv,有 背触 功能。但真正能 结合 做出的 好游戏的 只有一款 《撕纸小邮差》
其实,陀螺仪 结合游戏,不一定是 效果,也不一定是 方向控制。大家好好想想,他其实是 一个替代按键,让玩家 没法腾出手的时候,选择的一种 操作方式。
补充:
Console.WriteLine(Math.Atan2(x ,y) * 180 / Math.PI);