开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:393

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 547|回复: 8

[脚本] 下面碰撞检测的写法有问题吗?

[复制链接]  [移动端链接]
排名
43652
昨日变化
191

7

主题

27

帖子

79

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
165
威望
0
注册时间
2016-11-10
在线时间
44 小时
最后登录
2017-1-29
发表于 2016-11-19 08:24:06 | 显示全部楼层 |阅读模式
5蛮牛币
我本来是用这个的 hit.collider.CompareTag("Slime"),这个是没问题的。但我不想用Tag检测。想直接用名字检测。所以我改成了下面的。
可是行不通,是写法有问题吗,请问正确的写法是什么?
hit.collider.transform.name == "Slime"

回复

使用道具 举报

7日久生情
3264/5000
排名
2496
昨日变化

3

主题

2436

帖子

3264

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
78862
好友
3
蛮牛币
9397
威望
0
注册时间
2015-3-11
在线时间
427 小时
最后登录
2017-1-31
QQ
发表于 2016-11-19 08:24:07 来自Mobile--- | 显示全部楼层
mn小天 发表于 2016-11-19 09:31
我是用射线得到了一个collider,现在这个hit.collider不就是一个gameobject吗?还是说我现解错了?请问这 ...

你写这个是应该效果是一样的,都能获得游戏对象的名字,hit.collider是碰撞的组件,如果不确定的话,你Debug.Log输出看看是否匹配。

回复

使用道具 举报

7日久生情
3264/5000
排名
2496
昨日变化

3

主题

2436

帖子

3264

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
78862
好友
3
蛮牛币
9397
威望
0
注册时间
2015-3-11
在线时间
427 小时
最后登录
2017-1-31
QQ
发表于 2016-11-19 09:19:25 来自Mobile--- | 显示全部楼层
一般是gameobject.name才是对象的名字

回复

使用道具 举报

排名
43652
昨日变化
191

7

主题

27

帖子

79

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
165
威望
0
注册时间
2016-11-10
在线时间
44 小时
最后登录
2017-1-29
 楼主| 发表于 2016-11-19 09:31:17 来自Mobile--- | 显示全部楼层
lilexy 发表于 2016-11-19 09:19
一般是gameobject.name才是对象的名字

我是用射线得到了一个collider,现在这个hit.collider不就是一个gameobject吗?还是说我现解错了?请问这里的正确写法要如何写?

回复

使用道具 举报

3偶尔光临
283/300
排名
6649
昨日变化
63

0

主题

87

帖子

283

积分

Rank: 3Rank: 3Rank: 3

UID
151974
好友
0
蛮牛币
716
威望
0
注册时间
2016-6-14
在线时间
74 小时
最后登录
2017-2-26

一贫如洗

发表于 2016-11-19 11:32:38 | 显示全部楼层
这个写法是没错的 ,但有个问题是,你游戏对象的name跟tag都是取得"Slime"吗,这虽然是看起来不会犯的错,但就你描述的问题来说很可能是这个原因= =

回复

使用道具 举报

6蛮牛粉丝
1250/1500
排名
1269
昨日变化
3

5

主题

142

帖子

1250

积分

Rank: 6Rank: 6Rank: 6

UID
114960
好友
0
蛮牛币
1116
威望
0
注册时间
2015-7-24
在线时间
439 小时
最后登录
2017-2-25
QQ
发表于 2016-11-19 11:58:21 | 显示全部楼层
直接hit.collider.name

回复

使用道具 举报

排名
27136
昨日变化
62

0

主题

8

帖子

18

积分

Rank: 1

UID
184799
好友
0
蛮牛币
51
威望
0
注册时间
2016-11-18
在线时间
4 小时
最后登录
2016-11-21
发表于 2016-11-19 17:34:00 | 显示全部楼层
双等号是求等号两侧值相同,值不同的情况下自然没效果,就是说”hit.collider.transform.name“的值不等于”Slime“

回复

使用道具 举报

6蛮牛粉丝
1382/1500
排名
2007
昨日变化
1

17

主题

436

帖子

1382

积分

Rank: 6Rank: 6Rank: 6

UID
62384
好友
1
蛮牛币
5031
威望
0
注册时间
2014-12-19
在线时间
455 小时
最后登录
2017-2-24
发表于 2016-11-21 10:30:52 | 显示全部楼层
你先Debug一下 看看 输出来的名字是不是你那个

回复

使用道具 举报

排名
43652
昨日变化
191

0

主题

85

帖子

94

积分

Rank: 2Rank: 2

UID
185621
好友
0
蛮牛币
2004
威望
0
注册时间
2016-11-21
在线时间
5 小时
最后登录
2016-11-22
发表于 2016-11-21 20:50:04 | 显示全部楼层
这个写法是没错的

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表