这几天用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 () {
}
}
效果图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhbzY5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
效果还不错吧。哈哈。