Unity自学之汉诺塔(1)——基本构思

[email protected][TOC]Unity自学之汉诺塔(1)——基本构思

Unity自学之汉诺塔(1)——基本构思

接触Unity有段时间了,都是自学,很多网络上的资料、高手、大神们给了很多帮助。虽然现在也还是处在入门阶段,但也想慢慢的梳理一下学习的过程,以及自己的每一点小进步。

为什么选择汉诺塔

之所以选择以实现汉诺塔游戏作为学习Unity的入门目标,是因为这个游戏规则清晰,玩法控制简单,但是基本的物体运动控制、变量、数组等的操作以及多C#脚本之间的互动,这些都是进入Unity的入门必经之路。通过一个小例子来学习体会,达到麻雀虽小五脏俱全的效果。

  1. 完成品界面汉诺塔小游戏界面
  2. 用到的基本物体 如图所示,整个游戏用到了十个圆柱体(Cylinder)、一个长方体(Cube)和一个平面体(Plane)。
  3. 用到的基本UI控件 六个标签(Text)、六个按钮(Button)其中三个是透明的;当时的点击事件处理方式比较粗陋,现在想来也挺有意思的。

主要思路

  1. 基本玩法 分为五级难度,最简单为3个盘子,最难为7个盘子,逐级递增。目标是将所有盘子借助B柱,从A柱移动到C柱;大的盘子不能放到小的盘子上。
  2. 盘子的移动 将屏幕大概分为三等分,区分为三根柱子的范围,点击到某一个范围即代表选中了该柱子最上方的盘子,再点击另一个柱子的范围,代表之前选择的盘子移动到这个柱子最上方,如果第二次点击的柱子是之前的那根,则代表取消选择。每移动一次盘子计数累加一次。
  3. 游戏管理 提供重新开始和游戏重置功能。如果觉得难度太大,完成不了可以选择重新开始,从简单的关卡开始。如果某一关玩乱了,可以选择重置。

需要解决的问题

刚开始学习的时候,不知道怎么用代码控制场景中的物体,不知道如何让个物体的脚本产生互动,也不知道如何解决多个脚本之间通信或者公用公共变量的问题,真的是一头雾水。但是,一个一个的解决,就会进步的。 下一篇我们逐步来解决这些疑惑。