1.创建2个场景,放入File.Build Settings中
2.创建一个GameObject,挂上一个Script具体如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class UI_1 : MonoBehaviour {
public void OnStartGame(string sceneName)
{
SceneManager.LoadScene(sceneName);
}
}
3.创建一个Button,在On Click()中加入刚才创建的GameObject与相应的Script,并写入你要切换的场景名
1.创建cube,以及控制cube转动的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Player : MonoBehaviour {
public float rotateSpeed = 3;
// Update is called once per frame
void Update () {
transform.Rotate(Vector3.up * Time.deltaTime * rotateSpeed);
}
public void ChangeSpeed(float speedNew)
{
this.rotateSpeed = speedNew;
}
}
1.创建图标
包括一个背景框,技能图片,以及一个半透明黑色的填充图片。将填充图片的属性设置为filled,设置如下
2.添加控制脚本,定义一个按键触发时的方法
3.添加Button组件,将方法添加到button中的On click中
4.完成脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AttackBG : MonoBehaviour {
public float ColdTime = 2;
private float timer = 0;
private bool isStartTimer = false;
private Image filledImage;//需要using UnityEngine.UI;
// Use this for initialization
void Start () {
filledImage = transform.Find("Fill").GetComponent<Image>();//获得图片中的Image组件
}
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.F))
{
isStartTimer = true;
}
if (isStartTimer)
{
timer += Time.deltaTime;
filledImage.fillAmount = (ColdTime - timer) / ColdTime;//控制fillImage的大小
if (timer >= ColdTime)
{
filledImage.fillAmount = 0;
isStartTimer = false;
timer = 0;
}
}
}
public void OnClick()
{
isStartTimer = true;
}
}
1.穿件背包Image,在几号背包选项上加入toggle组件,背包选项由2张同样大小但是不同颜色的图片组成,将点击后的图片放入toggle组件中的Graphic中
2.在Bag上加入一个Toggle Group组件,然后将Bag拖入三个背包选项的Group中,就可以完成每次只能点击启动一个背包的供能
3.创建三个Panel图片,用背包选项中Toggle中的On Value Changed控制显示哪一个panel图片
4.在Panel下添加网格排列的道具,Component.Layout.Grid Layout Group,然后就可以将道具像网格那样排列了,再把道具添加进去
1.创建一张Image,改名为ScrollPanel,给其添加Mask组件和scroll rect组件,将Mask组件的Show取消勾选如图,给其添加Script,控制定位在那一页
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Scroll : MonoBehaviour, IBeginDragHandler,IEndDragHandler{
//UnityEngine.EventSystems
private ScrollRect scrollRect;//UnityEngine.UI
private float posX;
// Use this for initialization
void Start () {
scrollRect = GetComponent<ScrollRect>();
}
// Update is called once per frame
void Update () {
}
public void OnBeginDrag(PointerEventData eventData)
{
}
public void OnEndDrag(PointerEventData eventData)
{
//Vector2 temp = scrollRect.normalizedPosition;//如果你用Vector就可以获得水平和垂直方向的值0-1
posX = scrollRect.horizontalNormalizedPosition;//获得水平轴的坐标
Debug.Log(posX);
if (posX <= 0.5)
{
scrollRect.horizontalNormalizedPosition = 0f;
}
else if (posX > 0.5)
{
scrollRect.horizontalNormalizedPosition = 1f;
}
}
}
2.创建你的内容,将内容对象拖入scroll rect组件中的Content
3.创建一个Image取名toggle,Source Image为未点击时的图片,添加toggle组件,在空物体下面创建一个image,Source Image是当你按钮按下时显示的图片,将selected拖入Toggle组件中的Graphic中,创建一个空物体,将两个按钮放入其中,给空物体添加ToggleGroup组件,然后将其拖到Toggle中的Group中。