unity之UI
1.Vector3坐标

2.地球,月球,太阳的旋转关系

using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class spere01 : MonoBehaviour {
public GameObject moon;
public GameObject sun;
// Use this for initialization
void Start () { } // Update is called once per frame
void Update () {
// transform.Rotate(Vector3.up, 2, Space.World);//up表示围绕上面轴旋转
moon.transform.Rotate(, , );//月球自传
transform.Rotate(, , );//地球自转
sun.transform.Rotate(Vector3.up);//太阳自转
moon.transform.RotateAround(transform.position, Vector3.up, );//月亮围绕地球转
transform.RotateAround(sun.transform.position, Vector3.up, );//地球围绕太阳转 }
}

3.UI之游戏界面

登录错误提示:

提示登录失败用:
if (this.gameObject.activeSelf)
{
time += Time.deltaTime;//计时器
if (time > 3)
{
failText.gameObject.SetActive(false);//登录失败消失
time = 0;
}
}
进入游戏就有声音:
slider.maxValue = 100;
slider.minValue = 0;
slider.value = 50;//赋初值
if (toggle.isOn==true)
{ audio.mute = true;//静音
}
else
{
audio.mute = false;
} audio.volume =(float) (slider.value/100);//把音量条的值赋给背景音乐


//总代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI; public class UIcontrol : MonoBehaviour {
public InputField InputUserName;
public InputField InputPassWord;
public Button button;
public GameObject failText;
public Button closeSetting;
public GameObject Panel;
public Slider slider;
public Toggle toggle;
AudioSource audio; // Use this for initialization
void Start () {
InputUserName = InputUserName.GetComponent<InputField>();
InputPassWord = InputPassWord.GetComponent<InputField>();
button = button.GetComponent<Button>();
closeSetting = closeSetting.GetComponent<Button>();
slider = slider.GetComponent<Slider>();
audio = GetComponent<AudioSource>();
slider.maxValue = ;
slider.minValue = ;
slider.value = ; } public void GetButton()
{
if (InputUserName.text == "huangwei" && InputPassWord.text == "")
{
SceneManager.LoadScene();
}
else
{
failText.gameObject.SetActive(true);//登录失败出现
}
}
public void OpenSetting()
{
Panel.gameObject.SetActive(true);//打开设置
}
public void CloseSetting()//关闭设置
{
Panel.gameObject.SetActive(false);
}
// Update is called once per frame
float time; void Update()
{
if (this.gameObject.activeSelf)
{
time += Time.deltaTime;//计时器
if (time > )
{
failText.gameObject.SetActive(false);//登录失败消失
time = ;
}
} if (toggle.isOn==true)
{ audio.mute = true;//静音
}
else
{
audio.mute = false;
} audio.volume =(float) (slider.value/);//把音量条的值赋给背景音乐
}
}
4.进度条slider: using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; public class test : MonoBehaviour { Text test01;
int num = ;
float time; public Slider slider;
// Use this for initialization
void Start () {
test01 = this.GetComponent<Text>();
slider = slider.GetComponent<Slider>();
slider.maxValue = ;
slider.value = slider.minValue;
} // Update is called once per frame
void Update () {
time += Time.deltaTime;
//if (time >0.1f)
//{
// num++;
// if (num >100)
// {
// num = 100;
// test01.text = num + " %";
// }
// else
// {
// slider.value = num;
// time = 0;
// } //}
//test01.text = num + " %";
//另一种方法 if (time > )
{
time = ;
}
slider.value = time * ;
test01.text = (int)(time*)+ " %";
}
}
5.
技能冷却:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; public class CoolSkill : MonoBehaviour
{
public Image image;
float time;
float f;
public Text text;
bool b = false;
bool bb = true;
// Use this for initialization
void Start()
{
image = image.GetComponent<Image>();
text = text.GetComponent<Text>();
image.fillAmount = ;//默认可以发出技能
}
public void GetBool()
{
if (bb)//限制技能开启后才能使用
{
b = true;
bb = false;
}
}
// Update is called once per frame
void Update()
{
if (b)
{
time += Time.deltaTime;
if (time <= )//技能控制在5秒冷却
{
f = ( - time);//5秒倒计时
image.fillAmount = (f) / ;//image也在360度递减
text.text = (f).ToString();//文本输出倒计时
if (f < 0.1f && f >= )/控制在0.1秒以内结束时才可以重新开启技能
{
bb = true;//重新开启技能Button可以点击了
}
}
else
{
time = ;//超过5秒后时间置零
b = false;/tton点击后又可以计时了
} } }
}
unity之UI的更多相关文章
- Unity的UI究竟为什么可以合批
1.UI/Default代码研究首先,我想到的是,既然是对图集纹理进行采样,而且又不能统一更改材质的纹理UV值,我们通常写的shader都是直接根据模型UV值对主纹理进行采样,那会不会是shader中 ...
- 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false
关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...
- C#程序员整理的Unity 3D笔记(十五):Unity 3D UI控件至尊–NGUI
目前,UGUI问世不过半年(其随着Unity 4.6发布问世),而市面上商用的产品,UI控件的至尊为NGUI:影响力和广度(可搜索公司招聘Unity 3D,常常能看到对NGUI关键词). NGUI虽然 ...
- Unity在UI界面上显示3D模型/物体,控制模型旋转
Unity3D物体在UI界面的显示 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...
- 关于Unity中UI中的Mask组件、Text组件和布局
一.Mask组件 遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片) Rect Ma ...
- 关于Unity中UI中的Image节点以及它的Image组件
一.图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后 ...
- unity简易ui框架
在unity项目开发中,ui模块的开发往往占据了很大一部分工作,部分游戏甚至绝大部分的工作都是在ui上,如何高效管理各种界面,这里分享一套高效易用的UI框架. 首先,我们定义一个PanelBase类, ...
- Unity shader UI的3D效果
原创,转载请标明出处 1.效果 scene视图中的效果: game视图中效果: 2.核心思想:改变UI的顶点坐标 3.好处:可以用正交相机来实现3D效果. 4.Shader 实现 // Unity b ...
- unity UGUI UI跟随
实现2dUI跟随游戏中角色的移动(应用于玩家名称,血条,称号) using UnityEngine; public class UI_Follow : MonoBehaviour { public C ...
- [Unity优化]UI优化(三):GraphicRebuild
参考链接: https://blog.csdn.net/jingangxin666/article/details/80143176 调试过程: 1.修改Image的颜色 2.Graphic.SetV ...
随机推荐
- ATM JAVA实现 部分代码
package score;//信1705-2 20173600 王重阳 import java.util.Scanner; public class Main { public static voi ...
- airflow
基于airflow官方镜像制作自己的镜像,如给镜像安装pymongo FROM /common/air_grpc: MAINTAINER zhangchunyang@goldwind.com.cn U ...
- DbGridEh 一个单元格的值改变时另一单元格的值随之改变
你可以为每个字段设置OnSetText事件,这样在输入完后回车会移动时就会触发,或者在adoquery的beforepost中或afterpost中都可以grid也提供了一些事件,也可以在某些条件下做 ...
- IGMP协议
IGMP报文格式: 4bit的IGMP版本(1)+4bit的IGMP类型(1-2)+8bit未用+16bit检验和(同ICMP)+32bit组地址(D类IP地址) 类型为1说明是由多播路由器发出的查询 ...
- 调用finecms栏目多图怎么实现
finecms栏目自定义字段添加图集怎么调用出来?已经上传两张图片了,点击可以预览图片,前端显示不了,如下图所示.调用栏目多图这个要涉及到二次开发,首先要先添加栏目自定义字段,设为文件的格式,然后可以 ...
- 002-pro ant design-Unexpected end of JSON input while parsing near '...错误解决方案
解决方法:先清除缓存,再重新安装 清除缓存 npm cache clean --force 重新安装 npm install
- 反射入门-浅谈反射用途_根据Ado游标对象创建list集合
本人大二菜鸟一只,今天在上课期间有个同学看着C#反射的内容说反射没什么用,一时之间也想不到什么更好的例子,就写了个根据泛型类型和游标反射创建List集合的Demo. 首先创建一个用于封装对应数据的en ...
- echart图表
http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts
- python的执行顺序
为了区分是主动执行(如python test.py)还是被动调用(如import test),python用__name__来进行标识. 当主动执行时,__name__为__main__,当被调用时, ...
- vue ie
http://www.jb51.net/article/118792.htm https://blog.csdn.net/landl_ww/article/details/79149461 解决 安装 ...