找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 449|回复: 5

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

[复制链接]

该用户从未签到

4

主题

20

帖子

12

积分

LV.1

Rank: 1

积分
12
发表于 2016-5-30 14:58:48 | 显示全部楼层 |阅读模式
  1. public class MyVirtualButtonControl : MonoBehaviour,
  2. IVirtualButtonEventHandler
  3. {
  4.     #region PUBLIC_MEMBER_VARIABLES
  5.   
  6.     public ImageTargetBehaviour imageTargetBehaviour;
  7.   
  8.     public AudioSource button_audio;
  9.   
  10.     /// <summary>
  11.     /// The materials that will be set for the teapot model
  12.     /// </summary>
  13.     //public Material[] m_TeapotMaterials;
  14.       
  15.     #endregion // PUBLIC_MEMBER_VARIABLES
  16.       
  17.     #region PRIVATE_MEMBER_VARIABLES
  18.       
  19.     private GameObject mTeapot;
  20.     private List<Material> mActiveMaterials;
  21.       
  22.     #endregion // PRIVATE_MEMBER_VARIABLES
  23.       
  24.     private Vector2 top;
  25.     private Vector2 bottom;
  26.   
  27.     public GameObject myObject;
  28.   
  29.     private string labelname = "Hello,ANTVR!";
  30.     #region UNITY_MONOBEHAVIOUR_METHODS
  31.   
  32.     void Start()
  33.     {
  34.         // Register with the virtual buttons TrackableBehaviour
  35.         VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
  36.         for (int i = 0; i < vbs.Length; ++i)
  37.         {
  38.             vbs<i>.RegisterEventHandler(this);
  39.             vbs<i>.CalculateButtonArea(out top,out bottom);
  40.             Debug.Log("----->"+vbs.Length);
  41.             //vbs<i>.VirtualButton.Name+
  42.             Debug.Log("---->"+top.x+":"+top.y+"----->"+bottom.x+":"+bottom.y);
  43.         }
  44.   
  45.         VirtualButtonBehaviour vb=
  46.             (VirtualButtonBehaviour)imageTargetBehaviour.CreateVirtualButton ("eleven",new Vector2(-10,10),new Vector2(10,-10));
  47.         if (vb != null) {
  48.             vb.VirtualButton.SetEnabled(true);
  49.             Debug.Log("!!!!!!!!!"+vb.VirtualButton.Name);
  50.         }
  51.         // Get handle to the teapot object
  52.         //mTeapot = transform.FindChild("teapot").gameObject;
  53.          
  54.         // The list of active materials
  55.         mActiveMaterials = new List<Material>();
  56.     }
  57.       
  58.     #endregion // UNITY_MONOBEHAVIOUR_METHODS
  59.       
  60.       
  61.       
  62.     #region PUBLIC_METHODS
  63.       
  64.     /// <summary>
  65.     /// Called when the virtual button has just been pressed:
  66.     /// </summary>
  67.     public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
  68.     {
  69.         if (!button_audio.isPlaying) {
  70.             button_audio.Play();        
  71.         }
  72.         if (button_audio.isPlaying) {
  73.             button_audio.volume=1;      
  74.         }
  75.         Debug.Log("OnButtonPressed::" + vb.VirtualButtonName);
  76.          
  77.         // Add the material corresponding to this virtual button
  78.         // to the active material list:
  79.         switch (vb.VirtualButtonName)
  80.         {
  81.         case "one":
  82.             //myObject.transform.animation.Play();
  83.             myObject.transform.animation.Play("Take 4");
  84.             labelname = "one -> Run!";
  85.             if (!button_audio.isPlaying) {
  86.                 button_audio.Play();        
  87.             }
  88.             if (button_audio.isPlaying) {
  89.                 button_audio.volume=1;      
  90.             }
  91.             break;
  92.               
  93.         case "two":
  94.             myObject.transform.animation.Play("Take 002");
  95.             labelname = "two -> Nothing!";
  96.             if (!button_audio.isPlaying) {
  97.                 button_audio.Play();        
  98.             }
  99.             break;
  100.               
  101.         case "three":
  102.             //myObject.transform.animation.Play("Take 4");
  103.             myObject.transform.animation.Play();
  104.             labelname = "three -> Stand!";
  105.             if (!button_audio.isPlaying) {
  106.                 button_audio.Play();        
  107.             }
  108.             break;
  109.               
  110.         case "four":
  111.             myObject.transform.animation.Play("Take 5");
  112.             labelname = "four -> Hello!";
  113.             if (!button_audio.isPlaying) {
  114.                 button_audio.Play();        
  115.             }
  116.             break;
  117.   
  118.         case "five":
  119.             //myObject.transform.animation.Play("Take 5");
  120.             myObject.transform.animation.Play();
  121.             labelname = "five -> Stand!";
  122.             if (!button_audio.isPlaying) {
  123.                 button_audio.Play();        
  124.             }
  125.             break;
  126.   
  127.         case "six":
  128.             myObject.transform.animation.Play("Take 5");
  129.             labelname = "six -> Hello!";
  130.             if (!button_audio.isPlaying) {
  131.                 button_audio.Play();        
  132.             }
  133.             break;
  134.         case "seven":
  135.             //myObject.transform.animation.Play("Take 5");
  136.             myObject.transform.animation.Play("Take 4");
  137.             labelname = "seven -> Stand!";
  138.             if (!button_audio.isPlaying) {
  139.                 button_audio.Play();        
  140.             }
  141.             break;
  142.               
  143.         case "eight":
  144.             myObject.transform.animation.Play("Take 002");
  145.             labelname = "eight -> Hello!";
  146.             if (!button_audio.isPlaying) {
  147.                 button_audio.Play();        
  148.             }
  149.             break;
  150.   
  151.         case "nine":
  152.             //myObject.transform.animation.Play("Take 5");
  153.             myObject.transform.animation.Play("Take 4");
  154.             labelname = "nine -> Stand!";
  155.             if (!button_audio.isPlaying) {
  156.                 button_audio.Play();        
  157.             }
  158.             break;
  159.               
  160.         case "ten":
  161.             myObject.transform.animation.Play("Take 002");
  162.             labelname = "ten -> Hello!";
  163.             if (!button_audio.isPlaying) {
  164.                 button_audio.Play();        
  165.             }
  166.             break;
  167.   
  168.         case "eleven":
  169.             myObject.transform.animation.Play("Take 002");
  170.             labelname = "eleven -> Hello!";
  171.             if (!button_audio.isPlaying) {
  172.                 button_audio.Play();        
  173.             }
  174.             break;
  175.         }
  176.   
  177.     }
  178.       
  179.     /// <summary>
  180.     /// Called when the virtual button has just been released:
  181.     /// </summary>
  182.     public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
  183.     {
  184.          
  185.         // Remove the material corresponding to this virtual button
  186.         // from the active material list:
  187.         switch (vb.VirtualButtonName)
  188.         {
  189.         case "one":
  190.   
  191.             break;
  192.               
  193.         case "two":
  194.   
  195.             break;
  196.               
  197.         case "three":
  198.   
  199.             break;
  200.               
  201.         case "four":
  202.   
  203.             break;
  204.         }
  205.     }
  206.       
  207.     #endregion // PUBLIC_METHODS
  208.       
  209.     void OnGUI(){
  210.         GUI.Label (new Rect (10, 10, 100, 100), labelname);
  211.     }
  212. }</i></i></i>
复制代码

该用户从未签到

0

主题

22

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2017-4-24 04:48:14 | 显示全部楼层
这里竟然还有这么一个关于AR的网站的收藏了

该用户从未签到

2

主题

35

帖子

18

积分

LV.1

Rank: 1

积分
18
QQ
发表于 2017-5-19 22:40:42 | 显示全部楼层
看帖怎么能不会呢??

该用户从未签到

0

主题

10

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2017-5-29 05:10:00 | 显示全部楼层
想了解下AR增强现实的相关内容来看看

该用户从未签到

0

主题

38

帖子

0

积分

LV.1

Rank: 1

积分
0
QQ
发表于 2017-6-3 19:38:28 | 显示全部楼层
竟然还有零回复,给我消失

该用户从未签到

3

主题

10

帖子

9

积分

LV.1

Rank: 1

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

本版积分规则

关闭

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

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