unity3d+vuforia 手机端点击模型播放音频

一开始根本没想到要加collider,太傻了,加上collider后,可以通过模型的名字或者是加个tag来识别点击的到底是哪个模型。

又很傻的给每个模型都添加了控制音频播放脚本,被某大哥嫌弃面向对象学的太差,其实只写一个脚本就行。

场景中建一个空物体,专门用来控制音频播放。(这也是为什么之前在每个模型上都加了Audiosource,导致一开始在切换模型的时候,会同时播放好几个音频(喇叭太多了,只要一个喇叭,换喇叭里放的声音就行))

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DynamicPlayAudio : MonoBehaviour
{

    public AudioClip[] audioClip;
 

    void Start()
    {
        //默认播放第一个音频
        this.GetComponent<AudioSource>().clip = audioClip[0];
        this.GetComponent<AudioSource>().Play();
    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {//判断是否是点击事件
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hitInfo;
            if (Physics.Raycast(ray, out hitInfo))
            {
                //如果是一根手指触摸屏幕而且是刚开始触摸屏幕 
                if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Began)
                {
                    if (Input.GetTouch(0).tapCount == 1)
                    {//判断点击的次数
                        //Destroy(hitInfo.collider.gameObject);//销毁场景中的模型
                        if (hitInfo.collider.gameObject.tag == "Nucleus")
                        {
                            this.GetComponent<AudioSource>().clip = audioClip[1];
                            this.GetComponent<AudioSource>().Play();
                        }
                        if (hitInfo.collider.gameObject.tag == "Chloroplast")
                        {
                            this.GetComponent<AudioSource>().clip = audioClip[2];
                            this.GetComponent<AudioSource>().Play();
                        }
                    }

                }
            }
        }
    }

}

点击模型,播放对应音频。(这里需要加一个audiosource,里面放不放音频无所谓(我是放了一个初始音频))。

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值