触发器,获取声音组件,Canvas,Text,Panel,Image,Button
触发器
void onTriggerEnter(Collider other)//瞬间触碰
{
//if (other.name.Equals("Cube"))
if (other.CompareTag("Player"))
{
print("enter......");
}
}
void onTriggerStay(Collider other)//停留
{
if (other.CompareTag("Player"))
{
print("stay......");
}
}
void onTriggerExit(Collider other)//退出
{
if (other.CompareTag("Player"))
{
print("exit......");
}
}
获取声音组件
float speed = 3f;
public GameObject baozha;
AudioSource audios;//声音对象
public GameObject[] go1;
int i = 0;
void Start()
{
audios = GetComponent();//获取声音组件
}
void Update () {
if (Input.GetKeyDown(KeyCode.F)&& i {
Destroy(go1[i]);
i++;
}
//用键盘控制物体移动
float x = Input.GetAxis("Horizontal");//GetAxis:轴
float y = Input.GetAxis("Vertical");
Vector3 pos = new Vector3(x, 0, y);
transform.Translate(pos * Time.deltaTime * speed);
}
void onTriggerEnter(Collider other)
{
if (other.CompareTag("Enemy"))
{
Destroy(other.gameObject);
GameObject go = Instantiate(baozha, other.gameObject.transform.position, Quaternion.identity); //克隆特效
audios.Play();//播放声音
Destroy(go, 1f);
}
}
1、Canvas
1. Screen Space - Overlay
这种渲染模式表示
Canvas
下的所有的
UI
控件永远位于屏幕的前面
,
不管有没有相机
,
UI
元素永远在屏幕最前面 ,主要是
2D
效果。类似手机膜贴在手机屏幕的最上面,若是屏
幕尺寸或屏幕分辨率发生变化,
Canvas
也会自动和当前屏幕尺寸相适应,这也就很好的解
决了屏幕自适应问题。
2. Screen Space - Camera
这种渲染模式
Canvas
和 摄像机之间有一定的距离
,
可以在摄像机和
Canvas
之间播放一
些粒子特效,主要是
3D
效果。利用这种渲染模式时需要设定一个摄像机并将其绑定到
Canvas
组件下的
Rander Camera
处,改变
Camera
则
UI
元素的渲染效果也会发生变化。
3. World Space
这种模式下
Canvas
就和普通的
3D
物体一样了
,
可以控制它的大小
,
旋转
,
缩放等 。这种
渲染模式使得
UI
元素和
3D
世界中的物体产生遮挡效果。 一般用来做血条。
plus
:
勾选
"Pixel Perfect"
,在
Canvas
中的模糊效果消失,变得相对清晰。
屏幕分辨率问题:
横屏
竖屏
2、Text
color
:颜色
size
:大小
b
:加粗
i
:倾斜
锚点:
3、Panel
Panel
控件又叫面板,该面板实际上就是一个容器,在其上可放置其他
UI
控件。
当移动该面板时,放在其中的
UI
控件就会跟随移动,这样可以更加合理与方便地移动与处
理一组控件。
当面板被创建时,会默认包含一个
Image
(
script 组件)。
Source Image
用来设置面板的图像。
Color
用来改变面板的颜色。
4、Image
Source Image(图像源):纹理格式为 Sprite(
2D and UI)的
图片资源(导入图片后选择
Texture Type 为 Sprite(
2D and UI))。
Color(颜色):图片叠加的颜色。
Material(材质):图片叠加的材质。
Raycast Target(射线投射目标):是否作为射线投射目标,关闭之后忽略 UGUI 的射线检
测
Image Type(图片显示类型):
Simple(基本的):图片整张全显示,不裁切,不叠加,根据边框大小会有
拉伸。
Preserve Aspect(锁定比例):针对 Simple 模式,勾选之后,无论图片的外形放大还是缩
小,都会一直保持初始的长宽比例。
Image Type(图片显示类型):
Sliced(切片的):图片切片显示,在 Project 页面选中图片,切换为 Sprite(
2D and UI)
模式后,点击 Sprite Editor 进入图片裁切模式,将图片裁切为上图的形状,使用 Sliced
模式后,根据图片边框拉伸,图片的四个角会保持原状,而 1 和 4 部分会随着图片的横向拉
伸而拉伸,2 和 3 部分会随着图片的纵向拉伸而拉伸,图片的中间部分会拉伸 5 进行
填充。
Fill Center(填充中心):勾选后,5 显示,反之,5 不可见。
Image Type(图片显示类型):
Tiled(平铺的):若图片已经过裁切,则使用 Tiled 模式后,根据图片边框拉伸,图片的
四个角会保持原状,而 1 和 4 部分会随着图片的横向拉伸而拉伸,2 和 3 部分会随着图片的
纵向拉伸而拉伸,图片的中间部分会用 5 进行平铺填充。若图片未裁切,则使用 Tiled 模式
后,根据图片边框拉伸,图片保持原大小不做变化,只是用自身平铺填充。
Fill Center(填充中心):(已裁切的图像源才有此选项)勾选后,5 显示,反之,5 不可
见。
Image Type(图片显示类型):
Filled(填充的):根据填充方式、填充起点、填充比例决定图片显示哪一部分。
Fill Method(填充方式):分为水平、垂直、90 度圆、180 度圆、360 度圆。
Fill Origin(填充起点):根据填充方式不同有所变化。
Fill Amount(填充比例):0 是完全不显示,1 是完全显示。
案例:进度条
Image img;
Text txt;
float timer = 0f;
void Start()
{
img = GetComponent
();
txt = img.GetComponentInChildren();
img.fillAmount = 0;
}
void Update()
{
timer += Time.deltaTime;
float per = timer / 10;
per=per>=1f?1f:per;
img.fillAmount = per ;
txt.text = (int)(per * 100) + "%";
}
5.Button按钮事件 *** 作:
1
、为注册按钮添加脚本
using
UnityEngine.UI;
//引用命名空间
public class
Reg
:
MonoBehaviour
{
public void
RegBtn()
{
print(
"注册成功"
);
}
}
2
、为注册按钮添加注册方法
3
、获取输入框的值
public
InputField
name;
//声明组件(对象)
public
InputField
pwd;
public void
RegBtn()
{
string
name2 = name.text;
//获取大输入框的值
string
pwd2 = pwd.text;
print(name2 +
"t"
+ pwd2);
print(
"注册成功"
);
}
4
、提示此姓名已经注册
评论列表(0条)