大家一起来讨论一下UnityEngine.UI中关于Text组建用法

1 篇文章 0 订阅
1 篇文章 0 订阅

在某篇博客下找到了GameObject 、gameObject 、 Transform 、transform的用法,关于transform的用法上篇博客是这么写的

using UnityEngine.UI;
   
2. void Update () {
3. transform.Find("Text").GetComponent<Text>().text = "射击数:"+sdshu;transform.Find("Text").GetComponent<Text>().text =    "射击数:" + sdshu;
   
4.     gameObject.GetComponent<Text>().text = "射弹数:" + sdshu;
5. }

后来上面的语句根本行不通,自己想了想,原因可能是我把脚本绑定在了Maincamera上了,这就造成了我在使用gameObject的时候其实是对相机本身这个实例化对象进行操作,Main camera的组件里面根本没有Text这个名字的组建,因此该脚本虽然能运行但是在Unity中会出错。

另外在这之前本人试了一下较早版本的uniyUI引用方式,代码如下:

 1. using UnityEngine.UI;
    
     void Update () { 
    gameObject.Find("Text").GetComponent<Text>().text="射击数:"+sdshu;
    }

同样行不通,在gameObject后面的点,点不出来Find,而且因为虽然我用了using UnityEngine.UI,但GetComponent<UI.Text> 中的UI和UI后面的点点不出来Text,本人甚为疑惑,因为GUI可以直接用,我都不用使用头文件生命。瞬间感觉UNITY的版本改的乱七八糟的。
最后正确引用代码应该是:

 2. GameObject.Find("jishu").GetComponent<Text>().text = "射弹数:" + sdshu;

以上都是一个刚刚接触Unity的小白自己认为的观点,不喜勿喷,另外期待C#脚本的大神们能出来指点指点,现在是只知其所以但不知其所以然,我将非常感谢,期待大牛!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值