有编程经验的同学们都知道如果没有事件的话,那游戏物体就不能被控制了,也就说不上玩游戏了,呵呵呵,大家都懂的,呵呵,下面我们来说说unity的事件吧,
我主要讲解button的事件,键盘的事件和鼠标的事件。
下面先来看看1.button事件:
先回想一下java的button事件吧
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
xxxxxxxxxx
}
});
再来回想一下android的button事件吧
button.setOnClickListener(new view.OnClickListener(){
public void onClick(View view){
xxxxxxxxxxxx;
}
});
下面我们就来看看unity的button事件吧
if(GUI.Button(Rect(20,100,100,20),"button")){
xxxxxxxx;
}
原理很简单,就是if里面的值是true,说明button被按下,则处理事件。
2.我们再来看看键盘事件吧
和Button事件一样的,如果if()返回true,处理事件
var e : Event = Event.current;
if (e.Equals(Event.KeyboardEvent("w"))) {
Debug.Log("w");
}//按下w键
当然也可以这样啦
function Update ()
{
if(Input.anyKeyDown)
{
Debug.Log(Input.inputString);
}
}
再给大家一个例子:
控制物体的前后左右移动的,呵呵呵
var z:float=0.0;
var x:float=0.0;
function OnGUI() {
transform.Translate(x,0,z);
}
function Update() {
if (Input.GetKeyDown(KeyCode.W)){
print("W key was pressed");
x=-20;
}
if (Input.GetKeyUp(KeyCode.W)){
x=0;
}
if (Input.GetKeyDown(KeyCode.S)){
print("W key was pressed");
x=20;
}
if (Input.GetKeyUp(KeyCode.S)){
x=0;
}
if (Input.GetKeyDown(KeyCode.A)){
print("W key was pressed");
z=-20;
}
if (Input.GetKeyUp(KeyCode.A)){
z=0;
}
if (Input.GetKeyDown(KeyCode.D)){
print("W key was pressed");
z=20;
}
if (Input.GetKeyUp(KeyCode.D)){
z=0;
}
}
同上,
if (e.isMouse) {
Debug.Log("Mouse clicks: " + e.clickCount);
}
这里有点不够完善,大伙先看看吧,了解下先,然后结合帮助文档慢慢进步吧。呵呵呵~~~