C#数组初始化详解 - CSDN博客
http://blog.csdn.net/u010975088/article/details/45532671
正文:今天上午做了菜单栏,编写选择题,响应事件,下午做了第一个动态游戏基础的材料导入、位置移动的脚本编写。
0.键盘事件
响应事件分三种:键盘事件,鼠标事件,触摸事件
今天只介绍键盘事件:即不同的按键响应
1.按下
Input.GetKeyDown(KeyCode.W){} //W为按键,,空格键 Space 箭头(方向键)KeyCode.UpArrow
//实战:
void Update ()
{ if (Input.GetKeyDown(KeyCode.A))
Debug.Log("1");
} //可以看见在面板console下显示响应,也就是说Debug是给开发人员test用的
2.按键抬起
Input.GetKeyUp(KeyCode.W){}
3.长按
Input.GetKey(KeyCode.W){
frame++;//计时
}
4.按任意键继续:
input.anyKeyDown
任务一:编写菜单栏
public class NewBehaviourScript : MonoBehaviour {
private int toolbarID;
private string[] toolbarinfo; //矩阵?数组?
private bool start;
void OnGUI()
{
toolbarID = GUI.Toolbar(new Rect (10,10,600,30),toolbarID,toolbarinfo); //toolbar不能直接显示,需要to string
GUI.Label(new Rect(10,50,100,100),toolbarinfo[toolbarID]);
}
void Start () {
//toolbarID = 0; //为什么不能赋初值?--meaning is wrong!
toolbarinfo = new string[]{
"File","Edit","Assets"}; //可以发现如果再加几个变量,在长度和大小上它们均分矩形框(即矩形框是确定的)
}
void Update ()
{
}
}
任务二:做一道单项选择题
要点1:Toggle控件(单选框)(比如益智类测试游戏)
Bool Toggle(rect,tool(确定是否被选中 因此布尔型),string)
Toggle(rect,tool(确定是否被选中 因此布尔型),img)
GUIStyle
要点2:尝试如果选择A 则将BCD置false 若选了B 则ACD置0;总之是个单选框
要点3:
GUI.changed:(只要用户有动作,则变为触)
问题1:选择定义私有还是public? 若不能被用户更改则pvivate
问题2:关于返回值??
public class NewBehaviourScript : MonoBehaviour {
private bool toggle0;
private bool toggle1;
private bool toggle2;
private bool toggle3;
private bool[] ischange = new bool[]{
false,false,false,false};
private string info;
void OnGUI()
{
GUI.Label(new Rect(10,10,200,50),"2+3=?");
toggle0 = GUI.Toggle(new Rect(10,40,100,20),toggle0,"A 3");
toggle1 = GUI.Toggle(new Rect(10,60,100,20),toggle1,"B 4");
toggle2 = GUI.Toggle(new Rect(10,80,100,20),toggle2,"C 5");
toggle3 = GUI.Toggle(new Rect(10,100,100,20),toggle3,"D 6");
GUI.Label(new Rect(10,140,200,30),info);
if (GUI.Button(new Rect (40,120,70,20),"Submit"))
{
if(toggle2)
{
info = "Right!";
}else
info = "Wrong!";
}
if (GUI.changed)
{
if (toggle0 && !ischange[0])
{
toggle1 = false;
toggle2 = false;
toggle3 = false;
ischange = new bool[]{
true,false,false,false};
}
if (toggle1 && !ischange[1])
{
toggle0 = false;
toggle