Unity Learning —— 水果忍者界面UI
来源:互联网 发布:深圳存爱网络股份公司 编辑:程序博客网 时间:2024/04/30 14:30
CutFruitDemo
期望结果
解决方案
Canvas(画布)——画布:就是用来绘画的地方,在做图软件中,画布就是位于图层最下方的那一层。
所以UI界面建立的所有内容都是建立在一个画布(Canvas) 上的,命名UIStart
画布渲染模式(Render Mode)为随相机、渲染相机设为主相机
画布规模(Canvas Scaler),设为随屏幕分辨率,默认1280*720(手机5.0屏幕分辨率),匹配方式(Match Mode)横屏游戏为widthimgBG(背景图片):Rect transform(位置大小相关的组件);Source Image;imgLogo类似
btnPlay(运行按钮):去掉自带text,位置,原图;btnSound类似
脚本组件:点击事件处理(UIStart——Script)
以点击Play按钮切换到play场景视图为例
using System.Collections;using System.Collections.Generic;//引用所需的命名空间using UnityEngine.UI;using UnityEngine.SceneManagement;//获取按钮点击事件,调用事件处理函数public class UIStart : MonoBehaviour { private Button btnPlay; void Start( ) { GetComponents( ); btnPlay.onClick.AddListener(onPlayClick); } void OnDestroy() { btnPlay.onClick.RemoveListener(onPlayClick); } private void GetComponents( ) { btnPlay = transform.Find("btnPlay").GetComponent<Button>( ); } void onPlayClick( ) { SceneManager.LoadScene("play", LoadSceneMode.Single); }
点击声音按钮,开启关闭声音,切换图标
基本思路:获取组件、注册事件、调用事件处理函数(借用委托(函数指针))
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using UnityEngine.SceneManagement;public class UIStart : MonoBehaviour { //私有属性(变量)用来保存太长的的类对象的属性和方法的引用(我的理解) private Button btnPlay; private Button btnSound; private AudioSource audiosourceBG; private Image imgSound; //公有属性————组件 public Sprite[] soundSprites; void Start () { //获取相应的组件 getComponents(); //注册事件并调用事件处理函数 btnPlay.onClick.AddListener(onPlayClick); btnSound.onClick.AddListener(onSoundClick); } private void getComponents() { btnPlay = transform.Find("btnPlay").GetComponent<Button>(); btnSound = transform.Find("btnSound").GetComponent<Button>(); audiosourceBG = transform.Find("btnSound").GetComponent<AudioSource>(); imgSound = transform.Find("btnSound").GetComponent<Image>(); } //定义Play按钮点击事件处理函数 void onPlayClick() { SceneManager.LoadScene("play", LoadSceneMode.Single); } void onSoundClick() { if (audiosourceBG.isPlaying) { audiosourceBG.Pause(); imgSound.sprite = soundSprites[1]; } else { audiosourceBG.Play(); imgSound.sprite = soundSprites[0]; } }}
Notes
1、自己的图片如何加入到Canvas中的image?
需要将图片拖进asset文件夹,设置图片格式,然后拖动到image即可
2、CutFruitDemo
建立开始界面UI资源;
横屏游戏,设置16:10
fixed resolution 固定分辨率
aspect ratio 长宽比
canvas
Canvas Scaler(Script)
UI Scale Mode(UI 缩放模式)
Constant Pixel Size(恒定像素大小)
变换工具:Q(手形)W(移动)E(旋转)R(缩放)T(矩形)
set Native Size 设置图片为原始像素大小
渲染是什么意思 什么是渲染?
简单来说就是三维场景=>图片的过程
渲染(Render)在电脑绘图中,是指:用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。图像是数字图像或者位图图像。
三维计算机图形的预渲染或者实时渲染的速度都非常慢。预渲染的计算强度很大,通常是用于电影制作;实时渲染经常用于三维视频游戏,通常依靠带有三维硬件加速器的图形卡完成这个过程。
3、unity中sprite(精灵)是图片精灵的意思?
图片精灵是用来绘制图集的控件,精灵可以在一张大图中去截取一部分(大图就是整体图像集合(Atlas),而截取的小图就是一个精灵),然后给精灵命名,使用时通过精灵的名称就能直接绘制,并且精灵还可以用来制作动画。
图片精灵的意思(Flash引擎里也有图片精灵对象),将导入的图片类型设置为Sprite即可拖到场景面板里,带有随屏幕大小自动缩放功能,还可以加Collider进行射线检测,简单实用。
4、transform.Find(“btnPlay”).GetComponent();
C#中.点 表示成员运算符,
用于——对象.成员
由于transform.Find(“btnPlay”)返回了一个参数,
所以再用.GetComponent(),表示这个返回参数的GetComponent()属性
5、C#中的消息处理机制
编写过Windows桌面应用程序的人都知道,微软的Windows操作系统与应用程序之间的通信绝大部分是基于消息循环机制的。
当你将开发平台转向C#的时候,由于C#对消息进行了面向对象的封装,消息被封装成了事件
委托类型可以理解成在C++中的函数指针,但不同的是,委托是完全面向对象的,同时封装了对象的实例和方法。本质上,委托把一个实例和该实例上的方法函数封装成一个可调用的实体,它是面向对象的、安全的
6、
- Unity Learning —— 水果忍者界面UI
- [unity3d]水果忍者-界面搭建
- unity之UI设计—简单按钮界面
- Unity制作《水果忍者》刀光特效
- [Unity插件]一个类似水果忍者的项目插件
- Unity Lua UI界面封装
- [Unity3d]水果忍者-切水果功能
- [Unity3d]水果忍者-切水果功能
- 水果忍者
- Android UI设计——ListView练习(制作水果选择菜单)
- Android UI设计——ListView练习(制作水果选择菜单)
- unity手游UI界面开发之商店等界面
- UIListView 水果界面
- Unity UGUI——UI基础,Canvas
- Unity框架——UI管理
- Unity—UI正对摄像机
- Unity NGUI——修改Unity的界面布局
- Unity——UGUI之界面布局
- Winform程序发布技巧
- iOS开发RAC学习笔记(九)信号的一些延时,重复等操作
- 简单网络嗅探器
- 【算法题】有趣的数字
- break和continue以及label的区别和作用
- Unity Learning —— 水果忍者界面UI
- MATLAB’license check out failed‘
- 第2课
- InnoDB表快速修改字段名方案
- PHP学习笔记9:数组
- 关于时区date_default_timezone_set()的设置
- 安装centos6.8如何选择安装包
- 爬虫-爬取代理ip网页里的ip
- opencv 特征点提取、匹配(一)