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); 突然想到 陀螺仪 可以让 场景永远 不倾斜。手机无论怎么倾斜,游戏场景都能 竖直于 自己
浙公网安备 33010602011771号