用MVC框架开发俄罗斯方块

Model(模型) 是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图) 是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器) 是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器 逻辑和 业务逻辑。

来自 搜狗百科

游戏现在一共分为四个状态:
1.开始状态
2.游戏状态
3.暂停状态
4.游戏结束状态

现在用有限状态机来管理游戏的四个状态;

有限状态机的脚本下载地址
http://wiki.unity3d.com/index.php/Finite_State_Machine

Model实现:
首先创建一张地图,这个地图被Model通过二维数组所管理,二维数组的坐标也是地图每个格子的位置,这样判断起来也比较方便。
在移动物体时,按住ctrl键就可以让物体每一次移动一米,从而不出现小数。

得到所有孩子节点:
foreach(transform t in transform) 能得到transform组件的所有孩子。

围绕某一个点进行旋转:transform.RotateAround(tVector3 targetPos, Vector3 axis, float angel);//第一个参数是参照的点,第二个参数是围绕哪一个轴进行旋转,第三个三叔是旋转角度

动画实现:使用DOTween插件,命名空间Using DG.Tweening,用到Transform组件的动画时,一定要先拿到RectTransform组件,在使用以下代码来实现动画gameobject.DOAnchorPosY(num,time)来设置位置和时间。通过MainCamera.DOOrthoSize(num,time)来控制相机的size动画(事视野物体的放大与缩小)。.OnComplete(delegate{要执行的事件})用来设置委托事件当上个操作执行完成后执行括号内操作。















你可能感兴趣的:(用MVC框架开发俄罗斯方块)