【发布时间】:2016-05-02 19:05:07
【问题描述】:
我有下面的脚本,它执行以下操作:
玩家一开始有 3 颗心 [0] 如果受到伤害会失去一颗心并将纹理更改为 2 颗心1,如果他赢得额外一颗心回到纹理 [0] .. 如果你有只有一颗心 [2] 受伤,比赛结束。
此代码完美运行,但我想将其转换为 UI 画布图像。我该怎么做?
using UnityEngine;
using System.Collections;
public class Hearts : MonoBehaviour {
public Texture2D[]initialHeart;
private int hearts;
private int currentHearts;
// Use this for initialization
void Start () {
GetComponent<GUITexture>().texture = initialHeart[0];
hearts = initialHeart.Length;
}
// Update is called once per frame
void Update () {
}
public bool TakeHeart()
{
if (hearts < 0) {
return false;
}
if (currentHearts < (hearts - 1)) {
currentHearts += 1;
GetComponent<GUITexture> ().texture = initialHeart [currentHearts];
return true;
} else {
return false;
}
}
public bool AddHeart() {
if (currentHearts > 0) {
currentHearts -= 1;
GetComponent<GUITexture> ().texture = initialHeart [currentHearts];
return true;
} else {
return false;
}
}
}
编辑:
看看发生了什么:
在对象检查器的 HealthBar 中,我将 3 颗心作为图像(附加第一个图像)。但是当我进入脚本并尝试根据用户的进度选择要更改的图像时,不允许使用图像,仅对象(附第二张图像)。
【问题讨论】:
标签: c# unity3d android-canvas unityscript unity5