Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1123
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2017-10-09 19:28
文章分类
文章存档

2017年(3)

我的朋友
最近访客

分类: Java

2017-10-10 17:52:10


作者痴迷于枪战还有个人英雄主义。。好吧能不说废话么,上正题。

对于**换子弹的动作,就是这里设计的是仅仅需要将**从大腿前侧稍稍往后侧这么一摆,ok,上弹完成。

哎,这里直接上代码吧。

首先说下,这是自己做的VR项目,所以肯定不能把整个脚本源码都溜出来,就把实现这一功能的函数拿出来了。
脚本是直接挂载在左右手柄上的。

说下思路,其实就是通过去检查手柄的旋转角,使用到了eulerAngles。去判定你是否从一个角度到达另一个角度,再加上计时器控制,就可以检测到我们帅气的甩枪动作啦。需要注意的是,因为容错的问题,你的第一判定角度最好限制三个轴的旋转角。

void huandan()
    {
        if ( transform.eulerAngles.x >= 68&& transform.eulerAngles.x<=73)

//检查手柄的X旋转角
        {
            if (transform.eulerAngles.y > 230&&transform.eulerAngles.y < 260)

//检查手柄的Y旋转角
            {
                if (transform.eulerAngles.z < 294&&transform.eulerAngles.z < 328)

//检查手柄的Z旋转角
                {
                    time_jishi = true;//开启一个开关
                }
            }           
        }
        else if (transform.eulerAngles.y<180&& transform.eulerAngles.x <= 72)

//检查是否达到指定角度
        {
            if (time_shi < 2)//计算时间
            {
                //符合条件装填弹匣
            }//是否装填
            time_jishi = false;
            time_shi = 0;
            //重置开关,清零计时器
        }//达到角度
        if (time_jishi)
        {
            time_shi += Time.deltaTime;
        }//启动计时器
    }

阅读(197) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~