462人加入学习
(11人评价)
Unity3D 5.0-英文打字小游戏实例【会员免费】
价格 ¥ 15.00
会员免费学 购买课程

第二课的OnGUI部分的代码在5.3.4F1版本上编译后不会显示出字体,去U3D官网上翻手册找到了答案,代码如下:

    void OnGUI()
    {
         GUI.Box(new Rect(0, 0, Screen.width, Screen.height), "This is a box");
    }

[展开全文]
selfcom · 2016-06-16 · 第二课 0

教程里面程序,从网上找了KeyCode getKeyDownCode后,对输入优化稍微修改了下。。

 

using UnityEngine;
using System.Collections;
using System;

public class ChangeColor : MonoBehaviour
{

    private string m_Showstring;
    private int m_int;//记住输入字符在字符串所在的位置
    private string m_string;
    private string m_string1;
    private string m_string2;
    private string m_DefColor;
    private string m_HitColor;
    private int m_intx;//数组防溢出修正
    // Use this for initialization
    void Start()
    {
        m_string = "Hello World";
        m_DefColor = "#f0f";
        m_HitColor = "#fff";
        m_int = 0;
        m_intx = 0;

    }

    // Update is called once per frame
    void Update()
    {

        string code1 =getKeyDownCode().ToString().ToLower();

       if(code1=="space")
        {
            code1 = " ";
        }


            if (code1.Equals(m_string[m_int].ToString().ToLower())&& m_int < m_string.Length)
            {

                if(m_int < m_string.Length-1)
                {
                    m_int++;
                }
                else
                {
                    m_intx = 1;
                }
            }
            else if (m_intx == 1 && code1.Equals("return"))
            {
                print("完成");
            }
            else if (!code1.Equals(m_string[m_int].ToString().ToLower()) && !code1.Equals("none"))
            {       
                m_int = 0;
                m_intx = 0;
            }

        
     

        m_string1 = m_string.Substring(0, m_int+m_intx);
        m_string2 = m_string.Substring(m_int + m_intx);
        m_Showstring = "<color="+m_HitColor+">" + m_string1 + "</color><color="+m_DefColor+">" + m_string2 + "</color>";

    }

    void OnGUI()
    {
        GUI.Box(new Rect(20, 30, 100, 30), m_Showstring);
    }

    /// <summary>
    /// 获取按键内容
    /// </summary>
    /// <returns>返回按键值</returns>
    public static KeyCode getKeyDownCode()
    {
        if (Input.anyKeyDown)
        {
            foreach (KeyCode keyCode in Enum.GetValues(typeof(KeyCode)))
            {
                if (Input.GetKeyDown(keyCode))
                {
                    return keyCode;
                }
            }
        }
        return KeyCode.None;
    }

}

[展开全文]
一和 · 2015-10-08 · 第四课 2

授课教师

课程特色

视频(15)

学员动态

Takuhin 开始学习 第十五课
Takuhin 开始学习 第十四课
Takuhin 开始学习 第十三课
Takuhin 开始学习 第十二课
Takuhin 开始学习 第十一课