unity点击一个物体,出现一个按钮,再点击这个按钮,出现一个字幕窗口,最后点击物体,按钮窗口都消失
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity点击一个物体,出现一个按钮,再点击这个按钮,出现一个字幕窗口,最后点击物体,按钮窗口都消失相关的知识,希望对你有一定的参考价值。
unity在线急等,悬赏可添加
简单给你个思路吧:首先处理点击了对象(obj):
1) 首先obj需要用到一个碰撞器,此处用Box Collider,一个自定义组件Controller.cs,用来检测鼠标是否点击。
2) 在obj中添加Box Collider组件,可以不用设置isTrigger,根据自己需求而定。
3) 在obj中添加Controller组件。
4) 设置obj的标签Tag为自定义标签,此处设置为”myCube”。
5) Controller组件代码如下:
void Update()
if(Input.GetButtonDown("Fire1"))
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if(Physics.Raycast(ray,out hitInfo))
GameObject gameObj = hitInfo.transform.gameObject;
if(gameObj.transform.tag == "myCube")
//最好在这里吧对象坐标也获取到,存到变量待用;
//这里需要标识以下,实现隐藏和显示
if(!m_isShowBtn)//如果没有按钮弹出
m_isShowBtn=true;
else
m_isShowBtn=false;
注:上面是引用别人的,但原理没问题。
其次我们来处理弹出按钮和字幕,
1.首先你需要知道对象坐标,
2.然后在OnGUI函数中加入以下代码:
void OnGUI
if(m_isShowBtn)
if (GUI.Button(new Rect(x, y, w,h ),"字母框"))
//这里获取字母框,可以加个标示,比如:
m_isShowText=true;
if(m_isShowText)
//字体大小
GUI.skin.label.fontSize = 32;
//居中
GUI.skin.label.alignment = TextAnchor.MiddleCenter;
GUI.Label(new Rect(x,y, w, h), "这里是字母内容:");
解释一下,这是动态生成UI按钮,其中,x,y为按钮或文本的起始坐标,w,h为宽高,这些参数大小可以根据获取到的物体坐标来定义,或者用其他方法获取都行,自己研究一下;
自己思路随便写了以下,有BUG的话自己调一下追问
费心了,谢谢了,但是出错啊,不会改啊!!!我在360问答也问这个问题,我名字叫大号茶杯,或者果茶比卡丘,那个号金币多,您帮我在那个号解答的话,可以给您很多金币至少200金币,虽说是虚拟的,但是我只是表达感谢。
参考技术Ausing UnityEngine;
using System.Collections;
public class Click : MonoBehaviour
public GameObject btn;
public GameObject kuang;
void Awake()
btn.SetActive(false);
kuang.SetActive(false);
void Update()
if (Input.GetMouseButtonDown(0))
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo))
if (hitInfo.collider.name == "Cube")
btn.SetActive(true);
if (kuang.activeSelf && btn.activeSelf)
btn.SetActive(false);
kuang.SetActive(false);
if (btn == null)
return;
else
UIEventListener.Get(btn.gameObject).onClick = MyClick;
void MyClick(GameObject o)
kuang.SetActive(true);
按钮和对话框直接拖进去就OK ,脚本挂载Cube上
参考技术B 首先放两个按钮,一个字幕窗口,开始的时候把第二个按钮和字幕窗口都隐藏掉。点击第一个按钮,第二个按钮出现,然后再点击第二个按钮,字幕出现。
这代码太简单。。。。。。。
以上是关于unity点击一个物体,出现一个按钮,再点击这个按钮,出现一个字幕窗口,最后点击物体,按钮窗口都消失的主要内容,如果未能解决你的问题,请参考以下文章