【Unity2D入门】制作一款简单的猜数字游戏之制作UI

学习目标:

  简单掌握Unity中关于UI的制作


学习内容:

当我们刚刚进入Unity2D时,整个场景会只有一个摄像机Main Camera。而且场景也是蓝色的,这是摄像机的颜色,我们可以点击摄像机在Inspector的Color属性来更改,然后我们就开始创建UI吧

如果你学过JAVA的图形界面的话,肯定知道场景,画布,stage之类的,就像“舞台一样”    Unity也有这些图形,不过它滴UGUI可以不通过代码创建画布,文字,按钮等等。。。

先创建一个Canvas画布,这个类似于“舞台的主体”

在这我们可以添加各种交互如Button和Text和Image

接着我们保存场景名字就叫GuessSceen然后我们就做好UI吧

这里我随便找了几张图片

如果你加入了Button会发现它附带了一个Text,只需要改变它的组件大小,字体大小,以及字体样式就可以有这样的效果

这里我用的TextMeshProGUI组件,可以让字体非常酷炫

我们可以在Window组件上找到点击第一个Font Asset Creator

我把找到字体的网站给大伙分享一下Wizard - Search - dafont.com

当我们下载好以后就可以直接解压缩拖到Project面板中,可以保存我们所有的工程文件。

拖进来然后点击Generate,然后再TextMesh的Font Asset更改

我们还可以让Button按键的颜色在正常,标记和按下时各有不同的颜色,我才用渐变的颜色让按钮变换的时候有视觉效果。


学习产出:

这就是在游戏界面Game中我们真实的样子

自己写的关于猜数字的aspx文件,using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class number : System.Web.UI.Page { private static readonly Random random = new Random(); private static readonly object syncLock = new object(); public static int RandomNumber(int min, int max) { lock (syncLock) { // synchronize return random.Next(min, max); } } public static int i = RandomNumber(1, 100); protected void Page_Load(object sender, EventArgs e) { // Label4.Visible = false; Label3.Visible = false; if (!IsPostBack) { ViewState["timeout"] = 60; } Label4.Text = i.ToString(); } protected void Button1_Click(object sender, EventArgs e) { int j = int.Parse(TextBox1.Text); Label3.Visible = true; if (j >= 1 & j <= 100) { if (j > i) { Label3.Text = "你的输入偏大,请重新输入! "; } else if (j < i) { Label3.Text = "你的输入偏小,请重新输入! "; } else { Label3.Text = "恭喜你,你猜对了!"; } } else { Label3.Text = "输入有误,请重新输入!"; } } protected void Button2_Click(object sender, EventArgs e) { Label4.Visible = true; } protected void Button3_Click(object sender, EventArgs e) { Label4.Text = i.ToString(); TextBox1.Text = ""; Label4.Visible = false; } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { } protected void TextBox1_TextChanged(object sender, EventArgs e) { } protected void Timer1_Tick(object sender, EventArgs e) { var timeout = int.Parse(ViewState["timeout"].ToString()); if(timeout > 0) { Label5 .Text = + timeout + "秒"; ViewState["timeout"] = --timeout; } else { Response.Redirect("任务结束"); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值