c# 2d重力感应 (陀螺仪)
陀螺仪代码 网上有很多,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);
突然想到 陀螺仪 可以让 场景永远 不倾斜。手机无论怎么倾斜,游戏场景都能 竖直于 自己