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

扫一扫,访问微社区

问答求助

关注:483

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

_____________________________________________________________________________________________________________
问答求助版块规则:

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

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

[复制链接]  [移动端链接]
排名
53168
昨日变化
21

8

主题

34

帖子

99

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

9以坛为家
17777/50000
排名
1077
昨日变化

130

主题

1万

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

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

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

回复

使用道具 举报

9以坛为家
17777/50000
排名
1077
昨日变化

130

主题

1万

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

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

回复

使用道具 举报

排名
53168
昨日变化
21

8

主题

34

帖子

99

积分

Rank: 2Rank: 2

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

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

回复

使用道具 举报

排名
4512
昨日变化
2

4

主题

142

帖子

569

积分

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

UID
151974
好友
0
蛮牛币
3315
威望
0
注册时间
2016-6-14
在线时间
155 小时
最后登录
2017-10-7

蛮牛译员

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

回复

使用道具 举报

7日久生情
2001/5000
排名
755
昨日变化
3

7

主题

199

帖子

2001

积分

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

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

回复

使用道具 举报

排名
32921
昨日变化
10

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蛮牛粉丝
1437/1500
排名
2272
昨日变化
2

17

主题

441

帖子

1437

积分

Rank: 6Rank: 6Rank: 6

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

回复

使用道具 举报

排名
53168
昨日变化
21

0

主题

83

帖子

96

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

排名
16066
昨日变化
14

9

主题

30

帖子

96

积分

Rank: 2Rank: 2

UID
202813
好友
0
蛮牛币
80
威望
0
注册时间
2017-1-17
在线时间
27 小时
最后登录
2017-11-11
发表于 2017-4-20 10:07:56 | 显示全部楼层
你可以在射线的代码中先Debug出来,里面的代码先注释掉吧。先不要实现功能,先测试碰撞的都是什么东西吧。

回复

使用道具 举报

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

本版积分规则

关闭

站长推荐 上一条 /1 下一条

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