编程语言
首页 > 编程语言> > c# 2d重力感应 (陀螺仪)

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,有  背触 功能。但真正能 结合 做出的 好游戏的 只有一款 《撕纸小邮差

其实,陀螺仪 结合游戏,不一定是  效果,也不一定是 方向控制。大家好好想想,他其实是  一个替代按键,让玩家 没法腾出手的时候,选择的一种 操作方式。

 

标签:陀螺仪,c#,cross,2d,vec,go,using,sizeDelta
来源: https://www.cnblogs.com/big-zhou/p/11184255.html