Unity怎么用代码改变gameobject的tag和贴图?

我试用了以下代码,貌似不行if(col.gameObject.tag=="UnitCube1"){col.gameObject.tag="UnitCube";col.ga... 我试用了以下代码,貌似不行
if (col.gameObject.tag == "UnitCube1") {
col.gameObject.tag = "UnitCube";
col.gameObject.renderer.material.mainTexture = textures;
}
展开
 我来答
彭咿呀
高粉答主

2018-04-09 · 醉心答题,欢迎关注
知道大有可为答主
回答量:227
采纳率:100%
帮助的人:36.1万
展开全部

不知道你的col是什么类型,如果是GameObject类型的,试试这样写
if (col.tag == "UnitCube1")

{
col.tag = "UnitCube";
col.renderer.material.mainTexture = textures;
}
用Debug.Log或者print,看一下你if里面的代码是否执行了。如果没执行就要找一下错误了。

【Unity3D中gameObject和GameObject的区别】

这两个相比,gameObject好理解一点,就是你脚本挂着的那个物体。这个实例化过程是Unity帮你实现的,不用在写代码实例化。this.gameObject默认函数,脚本一创建直接就get到了。

例如,有一个A物体。你给它挂载一个脚本里写this.gameObject。那就等于是直接获取(实例化)A这个物体了,你直接可以引用它下面挂载的属性。

GameObject不是对象,通常需要获取一个对象,就像你定义一个public GameObject A;
那么属性里就会出现一个可托选的框,那就是Unity告诉你,你定义的这个物体是哪个物体要你选择,无论你拖拽也好,脚本里获取也好,都是要给A赋予对象的。

百度网友000dd69
2015-01-29 · TA获得超过1351个赞
知道小有建树答主
回答量:435
采纳率:100%
帮助的人:608万
展开全部
不知道你的col是什么类型,如果是GameObject类型的,试试这样写
if (col.tag == "UnitCube1") {
col.tag = "UnitCube";
col.renderer.material.mainTexture = textures;
}
还有你这这里面打印一下,用Debug.Log或者print,看一下你if里面的代码是否执行了。如果没执行就要找一下错误了。有问题再追问
更多追问追答
追问
col是Collider2D类型,现在那个tag的改变执行了,但是第二句的贴图没有换,是因为对图片有要求吗?
追答
截图看看你要换图片物体的属性(inspector)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山水有相逢8501
2018-12-02
知道答主
回答量:2
采纳率:0%
帮助的人:1198
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式