找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 515|回复: 10

[Unity3D] (Unity3d)Vuforia开辟 高阶二-虚拟按钮(第三部门 )

[复制链接]

该用户从未签到

11

主题

33

帖子

42

积分

LV.1

Rank: 1

积分
42
QQ
发表于 2016-5-30 14:58:52 | 显示全部楼层 |阅读模式
第三部门:
既然虚拟按钮的事务可以被检测到,那么可以像正常的按钮一样,履行长按短按,或者双击之类的操纵。这里以判定虚拟按钮长按仍是短按为例。

重要的实现道理是经由过程判定触发连续的时光是非。
  1. using UnityEngine;
  2. using System.Collections;
  3. using Vuforia;

  4. public class MyButtonControl : MonoBehaviour,IVirtualButtonEventHandler {
  5.     public GameObject bowling;
  6.     private GameObject clone;

  7.     private float intervalTime = 0;
  8.     private bool isPressed = false;

  9.     // 判定
    是长按仍是
    短按
  10.     private bool isShortPress = false;
  11.     private bool isLongPress = false;

  12.     // Use this for initialization
  13.     void StARt () {
  14.         VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour> ();
  15.         for (int i =0; i<vbs.Length; i++) {
  16.             vbs[i].RegisterEventHandler(this);
  17.         }
  18.     }
  19.      
  20.     // Update is called once per frame
  21.     void Update () {
  22.         Debug.Log ("---->"+gameObject.transform.rotation);
  23.         if (isPressed) {
  24.             intervalTime += Time.deltaTime;
  25.         }
  26.     }

  27.     // 检测长按和短按
  28.     public void OnButtonPressed (VirtualButtonAbstractBehaviour vb){
  29.         switch (vb.VirtualButtonName) {
  30.         case "fire":
  31.             Debug.Log("----------> Fire");
  32.             //bowling.transform.rigidbody.AddForce (Vector3.forward*20000);
  33.             //clone = (GameObject)Instantiate(bowling,bowling.transform.position,gameObject.transform.rotation);
  34.             //clone.transform.rigidbody.AddForce (-Vector3.forward*20000);
  35.             //clone.transform.rigidbody.velocity = new Vector3(0,0,10);
  36.             bowling.transform.rigidbody.velocity = new Vector3(0,0,1000);
  37.             isPressed = true;
  38.             intervalTime = 0;
  39.             break;
  40.         default:
  41.             break;
  42.         }
  43.     }

  44.     public void OnButtonReleased (VirtualButtonAbstractBehaviour vb){
  45.         isPressed = false;
  46.         if (intervalTime <= 1) {
  47.             Debug.Log("-----> short Pressed!"+intervalTime);
  48.         }  else {
  49.             Debug.Log("-----> long Pressed!"+intervalTime);
  50.         }
  51.     }
  52. }
复制代码

该用户从未签到

0

主题

13

帖子

13

积分

LV.1

Rank: 1

积分
13
QQ
发表于 2016-7-22 22:42:49 | 显示全部楼层
嗯,很不错的样子!!

该用户从未签到

2

主题

55

帖子

53

积分

LV.2

Rank: 2

积分
53
QQ
发表于 2016-8-4 21:53:53 | 显示全部楼层
楼主辛苦了。。回帖是一种美德

该用户从未签到

2

主题

54

帖子

6

积分

LV.1

Rank: 1

积分
6
QQ
发表于 2016-8-9 17:57:56 | 显示全部楼层
想了解下AR增强现实的相关内容来看看

该用户从未签到

3

主题

44

帖子

21

积分

LV.1

Rank: 1

积分
21
QQ
发表于 2016-10-25 10:56:39 | 显示全部楼层
看帖怎么能不会呢??

该用户从未签到

1

主题

20

帖子

19

积分

LV.1

Rank: 1

积分
19
QQ
发表于 2017-2-15 05:17:33 | 显示全部楼层
这里竟然还有这么一个关于AR的网站的收藏了

该用户从未签到

2

主题

17

帖子

20

积分

LV.1

Rank: 1

积分
20
QQ
发表于 2017-6-16 02:11:08 | 显示全部楼层
竟然还有零回复,给我消失

该用户从未签到

0

主题

11

帖子

10

积分

LV.1

Rank: 1

积分
10
QQ
发表于 2017-6-20 00:41:55 | 显示全部楼层
增强现实希望发展越来越好

该用户从未签到

1

主题

15

帖子

15

积分

LV.1

Rank: 1

积分
15
QQ
发表于 2018-4-18 21:41:10 | 显示全部楼层
增强现实,增强现实,增强现实。重要的事情说三遍

该用户从未签到

1

主题

15

帖子

12

积分

LV.1

Rank: 1

积分
12
QQ
发表于 2018-4-19 19:53:41 | 显示全部楼层
楼主辛苦了,帮楼主顶起来
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表