0

提前抱歉,这是一个非常noobie的问题(但我刚刚使用unityscript进入NGUI并且找不到很多答案/教程/文档)..我的untiyscript技能也低于标准。我有一个 TCG/扑克牌游戏对象,其中包含一些基本的 RPG 统计数据(强度、灵巧度),这些数据当前显示在 GUIlabel 中的卡上,并试图将其转换为 NGUI。我正在将 UILabel 作为孩子添加到卡片中(其中包含统计脚本)

寻找一些关于这方面的建议,我什至远程得到正确显示的唯一方法是,不幸的是,我也必须将 stats 脚本附加到标签上:

var strLbl : UILabel;

function Start() {
    var strLbl = GetComponent(UILabel);
}

function OnGUI() {
    strLbl.text = strength.ToString();
}
  1. 这是抛出大量的'nullreferenceexception:对象引用未设置为对象的实例(用于统计脚本)
  2. 我是否需要为每个统计数据制作一个单独的标签,或者有​​没有办法将它聚合到一个标签中?(似乎当我尝试增加力量时,它会覆盖它的灵巧)
  3. OnGUI 是 NGUI 的正确课程还是有更有效的功能?
4

1 回答 1

0
  1. 此脚本是否附加到 UILabel 所在的对象上?你应该检查一下 if(strLbl != null) strLbl.text = strength.ToString();
  2. 您可以将它们聚合到一个标签中(尽管如果个别统计信息更新我建议不要这样做),假设您希望每个统计信息都放在换行符上,那么您的下一个将是:strLbl.text += "\n" + dexterity.ToString()
  3. 无需将 OnGUI 与 NGUI 一起使用。尤其是不用于设置东西。您可能希望在 Start() 中完成整个阶段,并调用另一个方法来更新标签。
于 2015-02-16T10:17:40.793 回答