小编L. *_*tal的帖子

GUITexture已被弃用,那么我应该使用什么而不是它呢?

我目前遇到了C#中更新编码的问题.我正在制作一本教科书"3.x Game Development Essentials",目前正在尝试制作一个阵列,该阵列将分配纹理,这将显示电池充电的进度.教科书要我创建一个GUITexture,但是这在之前的Unity更新中已经过时了,所以我创建了一个创建Canvas和子游戏对象的UI Image.虽然这解决了屏幕上的问题,但编码时情况更糟.这本书要我创建一个由五个纹理组成的数组(四种状态,加上原始的空纹理).目标是每当角色拿起一个电池时,它会在UI Canvas中反映出来.现在,这是我得到goobery的地方:

这是本书指定在我的Inventory脚本上实现的原始编码:

public Texture2D [] hudCharge;
public GUITexture charge HudGUI;
Run Code Online (Sandbox Code Playgroud)

我最终不得不松鼠去处理旧代码,并尝试了这个:

using UnityEngine.UI;

public class Inventory : MonoBehaviour{
public static int charge = 0
public UnityEngine.AudioClip collectSound;
public UnityEngine.Texture2D[] hudCharge;
public Image chargeHudGUI;
Run Code Online (Sandbox Code Playgroud)

现在我们变得更奇怪了.因为本书使用的是过时的代码,所以它要我使用电荷值从数组中选择一个纹理.因此,它要我输入:

chargeHudGUI.texture = hudCharge[charge];
Run Code Online (Sandbox Code Playgroud)

目标是我们正在解决分配给chargeHudGUI变量的GUITexture对象,特别是它的纹理属性.嗯,这很时髦但是再也没有GUITexture了,那么它离我而去的地方呢?它让我这样:

chargeHudGUI.Image = hudCharge[charge].
Run Code Online (Sandbox Code Playgroud)

我一直在浏览每个线程,我可以尝试找出该做什么,但似乎没有解决这个特殊问题.有没有人有任何指导导航这个废话?我已经在这个游戏上工作了一段时间,我决心完成它.我想学习如何使用Visual Studio和Unity3D.我感谢任何帮助!

c# user-interface unity-game-engine visual-studio guitexture

6
推荐指数
1
解决办法
1297
查看次数