制作菜单栏、选择题、搓组合键、小僵尸-unity3D游戏开发入门

这篇博客介绍了Unity3D游戏开发的基础,包括制作菜单栏、设计选择题、响应键盘事件以及实现搓组合键释放技能等。通过详细的任务分解,讲解了如何使用C#进行游戏交互脚本编写,如Toggle控件用于单项选择题,以及处理键盘事件,特别是如何通过ASDW键移动箭头和搓键释放技能。此外,还涉及了素材导入、尺寸处理和图层管理等基础知识。
摘要由CSDN通过智能技术生成

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
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值