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的更多相关文章

  1. Unity的UI究竟为什么可以合批

    1.UI/Default代码研究首先,我想到的是,既然是对图集纹理进行采样,而且又不能统一更改材质的纹理UV值,我们通常写的shader都是直接根据模型UV值对主纹理进行采样,那会不会是shader中 ...

  2. 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false

    关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...

  3. C#程序员整理的Unity 3D笔记(十五):Unity 3D UI控件至尊–NGUI

    目前,UGUI问世不过半年(其随着Unity 4.6发布问世),而市面上商用的产品,UI控件的至尊为NGUI:影响力和广度(可搜索公司招聘Unity 3D,常常能看到对NGUI关键词). NGUI虽然 ...

  4. Unity在UI界面上显示3D模型/物体,控制模型旋转

    Unity3D物体在UI界面的显示 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  5. 关于Unity中UI中的Mask组件、Text组件和布局

    一.Mask组件 遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片) Rect Ma ...

  6. 关于Unity中UI中的Image节点以及它的Image组件

    一.图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后 ...

  7. unity简易ui框架

    在unity项目开发中,ui模块的开发往往占据了很大一部分工作,部分游戏甚至绝大部分的工作都是在ui上,如何高效管理各种界面,这里分享一套高效易用的UI框架. 首先,我们定义一个PanelBase类, ...

  8. Unity shader UI的3D效果

    原创,转载请标明出处 1.效果 scene视图中的效果: game视图中效果: 2.核心思想:改变UI的顶点坐标 3.好处:可以用正交相机来实现3D效果. 4.Shader 实现 // Unity b ...

  9. unity UGUI UI跟随

    实现2dUI跟随游戏中角色的移动(应用于玩家名称,血条,称号) using UnityEngine; public class UI_Follow : MonoBehaviour { public C ...

  10. [Unity优化]UI优化(三):GraphicRebuild

    参考链接: https://blog.csdn.net/jingangxin666/article/details/80143176 调试过程: 1.修改Image的颜色 2.Graphic.SetV ...

随机推荐

  1. 如何使用ffmpeg

    https://blog.csdn.net/minger1202/article/details/52468986  解码 https://www.jianshu.com/p/c6cfe2edd083 ...

  2. 可执行代码(Executable Code)目标代码(object code)

    小结: 1.可执行代码(Executable Code)是指将目标代码(object code)连接后形成的代码,简单来说是机器能够直接执行的代码. https://baike.baidu.com/i ...

  3. Android Studio自动排版的两种方法

    Android Studio这样的集成开发环境虽然代码自动化程度很高,但是自动化程度高导致人的自主性就下降了,而且总是依赖编辑器的功能也会搞得代码排版很别扭. 最难受的是你在Android Studi ...

  4. sql server 实现多表连接查询

    项目中要实现多表查询,用外连接实现. a表 a(aid,aname) 其中aid为pk b表 b(aid,bname,aid) 其中 bid为pk,aid为fk c表 c(cid,cname,aid) ...

  5. 深谈CDQ分治

    关于CDQ分治我想我自己做过前面的题应该会了这种思想了吧,然后我是真的“会了”. 我想针对于偏序问题我是会了,我现在只会三维偏序了,脑子都是疼的. 但是 CDQ分治最主要的还是基于时间方面的分治思想, ...

  6. Java如何编写Servlet程序

    一:Servlet Servlet是Java服务器端编程,不同于一般的Java应用程序,Servlet程序是运行在服务器上的,服务器有很多种,Tomcat只是其中一种. 例子: 在Eclipse中新建 ...

  7. load和initialize

    load: 当类被引用进项目的时候(类文件加载到系统中)就会执行load函数(在main函数开始执行之前),与这个类是否被用到无关,每个类的load函数只会自动调用一次.由于load函数是系统自动加载 ...

  8. linux 查看系统负载:uptime

    uptime命令用于查看系统负载,跟 w 命令的输出内容一致 [root@mysql ~]# uptime :: up days, :, user, load average: 1.12, 0.97, ...

  9. JS页面跳转代码怎么写?总结了5种方法

    我们在建站时有些链接是固定的,比如客服咨询链接,一般是第三方url,如果直接加上去不太专业,那么就想着用站内的页面做跳转,跳转用js比较多,那么JS页面跳转代码怎么写呢?ytkah在网上搜索了一下,大 ...

  10. jenkins的pipeline的使用

    1.安装Pipeline Maven Integration Plugin 2.新建任务 3.编写pipeline代码 node { stage('get clone') { checkout([$c ...