Unity 2048数字控件Num的代码实现
来源:互联网 发布:采集卡监控软件 编辑:程序博客网 时间:2024/05/22 15:09
Num控件的设置
- 图片的Testure Type要设置为Sprite(2D or UI)。
Num类的基本属性
- public int NumIndex=2
记录Num对象显示数字的值,默认为2 - public int InitX,InitY
记录初始位置,背景棋盘为一个4X4的方格,左上角为(0,0),右下角为(3,3). - public Sprite[] ImageSouce
创建一个Sprite数组,用来储存显示不同数字时对应的Sprite属性,创建Sprite数组需要类实现using UnityEngine.UI。 - private Image NumImage
用来储存和设置当前对象的image属性 - private Transform Mark
设置了一个标志,该标志在(0,0)点位置,用来帮助Num对象确定自身位置
Num类中的方法
- 根据NumIndex改变NumImage
#region 根据NumIndex改变NumImage-UpdateImage private void UpdateImage() { NumImage.sprite = ImageSouce[CorrespondImageAndIndex(NumIndex)]; } #endregion
其中CorrespondImageAndIndex(int x)方法作用是将NumIndex与ImageSouce数组中的图片一一对应
- 将NumIndex与ImageSouce一一对应
#region 将NumIndex与ImageSouce一一对应-CorrespondImageAndIndex(int NumIndex ) private int CorrespondImageAndIndex(int NumIndex ){ switch (NumIndex) { case 2: return 0; case 4: return 1; case 8: return 2; case 16: return 3; case 32: return 4; case 64: return 5; case 128: return 6; case 256: return 7; case 512: return 8; case 1024: return 9; case 2048: return 10; default: return 0; } } #endregion
- 初始化位置
#region 初始化位置-InitPos private void InitPos() { this.transform.localPosition = new Vector3(Mark.localPosition.x + 84 * InitX, Mark.localPosition.y - 84 * InitY, Mark.localPosition.z);//localPosition是在父物体下相对位置 } # endregion
- 生成动画
#region 生成动画-CreateNum private void CreateNum() { iTween.ScaleTo(this.gameObject, new Vector3(1, 1, 1), 0.2f); } #endregion
iTween.ScaleTo() :这里使用了iTween插件,插件中的ScaleTo方法的作用是将目标控件大小在一定时间内变化到指定大小。
this.gameObject代表控件指定,new Vector3(1, 1, 1)是目标大小,0.2f是变化时间。
- Awake、Start、Update方法
void Awake() { NumImage = this.GetComponent<Image>(); //获取当前对象的Image属性 } void Start() { Mark = this.transform.parent.Find("Mark").transform; //取到标志控件 CreateNum(); //创建该控件后,自动调用创建函数 InitPos(); //设置初始位置 } void Update() { UpdateImage(); //随时监控控件image的变化,并及时作出改变 }
阅读全文
0 0
- Unity 2048数字控件Num的代码实现
- 埃及数字的代码实现
- 【Unity】Kinect实现UI控件的点击
- Big Num的具体实现和思路
- android 桌面控件-数字时钟的实现
- 基于input文本框实现的数字控件
- --num 与 num-- 的陷阱
- Unity 粒子缩放代码的实现
- 数字调节控件实现
- 数字加减控件实现
- 让textbox控件中只能输入数字的代码
- 【C/C++】实现num以内的完全数
- 【模板】c++ template模板实现string到Num的转换
- p->num,与p.num的区别
- 左神的书——《程序员代码面试指南》之最大值减去最小值小于或等于num的子数组的数量 c++实现
- 纯代码实现timer控件的功能
- 利用代码实现控件的添加
- 代码实现控件的边距
- ZOJ--1067:Color Me Less
- Ubuntu上Nginx+Django的部署
- Java中Date与Calendar小究以及应用Gregoriancalendar类实现简单的日历
- 【Netty基础】protobuf详解
- (四)Tensorboard学习——mnist_with_summaries.py
- Unity 2048数字控件Num的代码实现
- html中<a>标签的使用方法 设置锚点导航.发邮件.打电话......
- 多线程学习
- Android APK反编译
- 大敏子的第一篇博客
- value toDF is not a member of org.apache.spark.rdd.RDD[People]
- libevent源码分析(10)--2.1.8--事件激活
- Linux命令 find查找文件详解
- 早期(编译期)优化