您的位置:首页 > 移动开发 > Unity3D

10.高通 Vuforia for Unity 虚拟按钮 (包教会教程,学不会你砍我)

2015-03-17 17:10 381 查看
一 、 要想写自己的 , 先理解官方的列子。


因为上传图片出现问题,现在我简单说一下下载官方的Samples, Resources 里面就可以找到,点击右侧的 Virtual Buttons ,找到它的Demo下载下来。


注意是Unity文件,因为我们是在Unity上面生成的APK嘛...


二 、导入到Unity 中查看例子是如何写的。


    Import Custompackage 导入我们刚才下载下来的文件。然后就能看到了。点击资源文件里,Assets 能看到 Virtual Buttons场景,可以看到里面有两个识别卡片。
有一个足球,还有一个就是用虚拟按钮换茶壶贴图的,点击这个的ImageTarget右侧检视面板上能显示各参数,往下拉,找到它的


Virtual Button Event Handler 对于虚拟按钮的监听事件全在于此,同时你也可以控制以前我写过的文章中的声音、动画、等。GUI按钮做到的东西,虚拟按钮一样能帮你做到。

这里我用的是虚拟按钮控制动画播放。下面是核心代码。




1 using UnityEngine;
2 using System.Collections.Generic;
3
4 public class VBteapot : MonoBehaviour,
5                                          IVirtualButtonEventHandler
6 {
7
8     void Start()
9     {
10         VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
11         for (int i = 0; i < vbs.Length; ++i)
12         {
13             vbs[i].RegisterEventHandler(this);
14         }
15
16
17     }
18
19
20     public void OnButtonPressed(VirtualButtonBehaviour vb)
21     {
22         Debug.Log("OnButtonPressed");
23
24                 switch (vb.VirtualButtonName)
25             {
26                case "VB1":
27
28             //   mActiveMaterials.Add(m_TeapotMaterials[0]);
29             GameObject.Find("ARdemo1").transform.animation.wrapMode=WrapMode.Loop;
30             GameObject.Find("ARdemo1").transform.animation.Play("bike");
31                 break;
32
33             case "VB2":
34                 GameObject.Find("ARdemo1").transform.animation.wrapMode=WrapMode.Loop;
35                 GameObject.Find("ARdemo1").transform.animation.Stop("bike");
36                 break;
37             }
38     }
39
40     public void OnButtonReleased(VirtualButtonBehaviour vb)
41     {
42
43     }
44
45 }



如果你会让模型变大小,那你就会让虚拟按钮变大小了。还能控制它移动位置。这一点如果不会说明你没有看我前面写的文章。

到此结束。

原文转载地址:http://www.csdn123.com/html/itweb/20131108/211580.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: