因为汽车系统没写出来所以,纠结之中,弄了弄新版本的UI。

做了个2048。

新版本的unity的UI必须以Canvas为基底来呈现,如果没有加画布的话可是显示不出来东西的哦。

而且作为UI上的所有组件都应属于Canvas的子物体,要不也不会显示出来。

如图所示Image并没有在UI界面显示出来。而把Image拖入Canvas中的效果如下图:

ImageUI就显示出来了。

对于其他的组件来说也是必须的。

但是还有一个组件可以不用画布,,但是仅限Text的控制哦。

然后就是2048的程序了,写的很乱&烂,不要吐槽。

要注意的是,因为是调用了UI组件,说以必须导入组件的代码关联包UnityEngine.UI

using UnityEngine;
using System.Collections;
using UnityEngine.UI;public class MouseMove : MonoBehaviour {private Vector3 firstPoint, endPoint;public Text T1;public Text T2;public Text T3;public Text T4;public Text T5;public Text T6;public Text T7;public Text T8;public Text T9;private int[] T = new int[9];// Use this for initializationvoid Start () {int i = 0;while (i != 4) {int r = Random.Range (1, 9);if (T[r-1] != 1) {i++;set(r,2);}}}// Update is called once per framevoid Update () {//鼠标滑动判读移动方位if (Input.GetMouseButtonDown (0)) {firstPoint = Input.mousePosition;}if (Input.GetMouseButtonUp (0)) {endPoint = Input.mousePosition;Vector3 v= firstPoint - endPoint;float angle = Vector3.Angle(v,new Vector3(1,0,0));if (angle < 30) heng (1);if (angle > 150) heng (2);if (angle > 60 && angle < 120) if (firstPoint.y - endPoint.y > 0) shu(2); else shu (1);nextrandom();}}void nextrandom(){//随机更新两个位置加2int i = 0;int pp = 0;for (int c=0; c<9; c++)if (T [c] == 1)pp++;if (pp < 7) {while (i != 2) {int r = Random.Range (1, 9);if (T [r - 1] != 1) {i++;set (r, 2);}}}}void set(int i,int number) {//修改i位置的数值为numberif (i == 1) T1.text = "" + number;if (i == 2)T2.text = "" + number;if (i == 3)T3.text = "" + number;if (i == 4)T4.text = "" + number;if (i == 5)T5.text = "" + number;if (i == 6)T6.text = "" + number;if (i == 7)T7.text = "" + number;if (i == 8)T8.text = "" + number;if (i == 9)T9.text = "" + number;if (number == 0)T [i-1] = 0; else T[i-1] = 1;}int get(int i) {//读取i位置的数值if (i == 1)return int.Parse(T1.text);if (i == 2)return int.Parse(T2.text);if (i == 3)return int.Parse(T3.text);if (i == 4)return int.Parse(T4.text);if (i == 5)return int.Parse(T5.text);if (i == 6)return int.Parse(T6.text);if (i == 7)return int.Parse(T7.text);if (i == 8)return int.Parse(T8.text);if (i == 9)return int.Parse(T9.text);return 0;}void change(int p, int o) {if (get (p) == get (p + o)) {set (p + o, get (p) * 2);set (p, 0);}if (get (p + o) == 0) {set (p + o, get (p));set (p, 0);}}void heng(int p) {
//四个方向的操作if (p == 1) {for (int i=1; i<=9; i++) {if (i == 2 || i == 5 || i == 8) {if (get (i) != 0)change (i,-1);}if (i == 3 || i == 6 || i == 9) {if (get (i) != 0) {change (i,-1);change (i-1,-1);}}}}if (p == 2) {for (int i=9; i>=1; i--) {if (i == 2 || i == 5 || i == 8) {if (get (i) != 0)change (i,1);}if (i == 1 || i == 4 || i == 7) {if (get (i) != 0) {change (i,1);change (i+1,1);}}}}}void shu(int p) {if (p == 1) {for (int i=1; i<=9; i++) {if (i == 4 || i == 5 || i == 6) {if (get (i) != 0)change (i,-3);}if (i == 7 || i == 8 || i == 9) {if (get (i) != 0) {change (i,-3);change (i-3,-3);}}}}if (p == 2) {for (int i=9; i>=1; i--) {if (i == 4 || i == 5 || i == 6) {if (get (i) != 0)change (i,+3);}if (i == 1 || i == 2 || i == 3) {if (get (i) != 0) {change (i,+3);change (i+3,+3);}}}}}}

转载于:https://www.cnblogs.com/SHOR/p/4908782.html

Unity3d5.0 新UI之2048相关推荐

  1. android 9.0新ui,SystemUI分析(Android9.0)

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一.SystemUI组成 SystemUI是Android的系统界面,包括状态栏statusbar.锁屏keyboard ...

  2. android 6.0 touchwiz ui,三星Android 6.0新TouchWiz UI界面流出

    原标题:三星Android 6.0新TouchWiz UI界面流出 前不久我们刚从一份泄露的三星手机Android 6.0 Marshmallow系统的升级路线图中得知Note 5和S6 Edge+将 ...

  3. 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由

    [索引页] [源码下载] 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由, 自定义CacheProvider, 新增的表达式<%: expression %& ...

  4. 【收藏】C# 2.03.0新特性总结

    c#2.0新特性 范型 我们知道通用的数据结构可以采用object存储任何数据类型.使用object问题是: 显示的强制转带来的代码复杂性 换装箱拆箱的性能损失(为什么有性能损失?因为涉及动态内存分配 ...

  5. 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数

    [索引页] [源码下载] 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数, 动态绑定(dynamic), 泛型协变和逆变, CountdownEvent, Barri ...

  6. Android7.0新特性、新功能

    [本文转载来自http://blog.csdn.net/hao54216/article/details/52388755] 前言: 总想写点自己的东西,因为很多Android知识网上大部分都有教程, ...

  7. android+3.0新加的动画,Android动画片

    使用Android两年多了,工作中的动画也动能应付,自认为Android中的动画自己也能用个八九不离十,结果我在学习[Periscope点赞效果](http://www.jianshu.com/p/0 ...

  8. 文石服务器维护,文石BOOX OS 2.0新系统即将上线,联合京东读书推出BOOX书城

    原标题:文石BOOX OS 2.0新系统即将上线,联合京东读书推出BOOX书城 作为行业领先的电纸书品牌,文石多年来一直致力于完善BOOX电纸书的功能,优化系统,提高性能,简化操作,力图在开放性和傻瓜 ...

  9. hadoop3.0新特性介绍

    hadoop3.0新特性介绍 1. 基于jdk1.8(最低版本要求) 2. mr采用基于内存的计算,提升性能(快spark 10倍) 3. hdfs 通过最近black块计算,加快数据获取速度(块大小 ...

最新文章

  1. Windows系统下安装分布式事务组件Seata
  2. GMQ交易平台大力探索区块链技术,进一步推动产业繁荣
  3. [记录] --- linux上项目
  4. “A class named TcxRect already exists”错误
  5. 等你来战!“2020第三届上海交大-卫宁健康智慧医疗挑战赛”报名正式启动
  6. zabbix自定义监控之声音报警、用户和组权限
  7. Openstack实验之yum源配置
  8. deepin linux live cd,Deepin Live cd修复引导
  9. 使用webots的MPC的移动机器人轨迹跟踪控制
  10. 利用 pinyin4j 把汉字转化为拼音
  11. 性能跑分第一的安卓模拟器?
  12. [体感游戏]关于体感游戏的一些思考(七) --- “我是泰山,你是简?”
  13. 爬电距离、绝缘电阻、绝缘电压 之我见
  14. Python案例005——随机密码生成器
  15. 删除列表元素中最后一个元素
  16. 写一个关机代码让别人的电脑根据你的指令关机,c语言写小程序恶搞别人
  17. i5 1155G7 怎么样相当于什么水平
  18. html5经纬度定位 源码_h5实现获取用户地理定位的实例代码
  19. 芯洲科技升降压芯片SCT81620,SCT81621完全替代LM3478和LM3481,助力国产化进程
  20. 深度学习在音乐信息检索(MIR)方向的应用介绍(下)

热门文章

  1. ns 25的IKE模式ipsec ***配置
  2. 一个美国女警的工作记录(转载)
  3. GDI 泄漏检测方法
  4. windows 10 +fedora双系统引导修复
  5. 你需要知道的缓存击穿/穿透/雪崩
  6. 微博爬虫“免登录”技巧详解及Java实现
  7. 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)
  8. vue.js 多图上传,并可预览
  9. linux 下jdk的卸载与安装
  10. Oracle undo 表空间管理