我在使用Vuforia的Unity工作。
我有虚拟按钮,我需要像键盘上的向上/向下箭头一样移动一个不在其图像目标中的对象,所以我正在寻找基础知识。
我的班级开头是这样的:
public void OnButtonPressed(VirtualButtonAbstractBehaviour vb){
...
}
我需要做什么才能让它像上传按钮一样?
如果没有这些虚拟按钮,我的脚本会像这样移动对象:
void FixedUpdate(){
float moveHortizonal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
Vector3 movement = new Vector3 (moveHortizonal, 0, moveVertical);
rigidbody.AddForce (movement * speed);
}
答案 0 :(得分:1)
想出怎么做,这是一个关于我的发现的小教程
首先,您首先要注册按钮:
void Start () {
VirtualButtonBehaviour[] vbs = transform.GetComponentsInChildren<VirtualButtonBehaviour> ();
for (int i=0; i < vbs.Length; ++i) {
vbs[i].RegisterEventHandler(this);
}
现在你继续开始使用按钮的功能
public void OnButtonPressed(VirtualButtonAbstractBehaviour vb){
//specify which button you want to function by using the if statement
if(vb.name=="ButtonName") { callButtonfunction();}
}
同样,如果您希望按钮在发布时执行某些操作:
public void OnButtonReleased(VirtualButtonAbstractBehaviour vb){
//specify which button you want to function by using the if statement
if(vb.name=="ButtonName") { callButtonfunction();}
}
如果您希望按钮控制Gameobject,那么请继续将GameObject声明为类中的公共变量,以便可以在Inspector中访问它并进行相应的分配。
public GameObject human;
GameObject
是变量类型,human
是我们用作参考的变量名
就这么简单。
Vuforia日志的记录非常糟糕,因此您几乎从不这样做 从那里得到答案,所以我希望这会有所帮助。