这几天用Unity3D做个射击小游戏,想做个人形的血条,百思不得其解,后来问了网上的牛牛们,解决了,其实挺简单的,GUI里面有个函数DrawTextureWithTexCoords就可以实现图片的裁剪,很方便,裁剪之后,相信大家就都会操作了,话不多说,贴上代码与截图效果。
using UnityEngine;
using System.Collections;
using UnityEditor;
public class drawTexture : MonoBehaviour {
public Texture back;//背景图
public Texture fore;//前景图
private float scale_height = 0.99f;
private float position_left=500f;
private float position_top=300f;
// Use this for initialization
void Start () {
}
void OnGUI()
{
GUI.DrawTexture (new Rect (position_left, position_top, back.width, back.height), back);
//GUI.DrawTexture (new Rect (500, 300, fore.width, fore.height), fore);
if (Input.GetKeyUp(KeyCode.Space)) {
scale_height=scale_height- 0.01f;
if(scale_height<0)
scale_height=0;
}
GUI.Label (new Rect(0,0,100,100),"scale_height"+scale_height);
GUI.DrawTextureWithTexCoords (new Rect (position_left, position_top+back.height*(1-scale_height), fore.width, fore.height*scale_height), fore,
new Rect(0,0,1, scale_height),true);
}
// Update is called once per frame
void Update () {
}
}
效果图:
效果还不错吧,哈哈。
Unity3D 人形血条制作小知识