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

扫一扫,访问微社区

问答求助

关注:409

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

_____________________________________________________________________________________________________________
问答求助版块规则:

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

[脚本] 关于用碰撞体触发事件?

[复制链接]  [移动端链接]
排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
发表于 2016-12-4 21:01:33 | 显示全部楼层 |阅读模式
5蛮牛币
2D游戏,主角移动时会用射线判断前方是否有障碍物,有则不移动,现在前方是一个床的sprite,要求碰撞到它时触发事件,
但现在因为射线检测后主角不移动,所以也就不能触发了,请问要怎么办才能在一些特殊的东西上能正常碰撞?


回复

使用道具 举报

3偶尔光临
188/300
排名
7313
昨日变化
87

0

主题

26

帖子

188

积分

Rank: 3Rank: 3Rank: 3

UID
179987
好友
0
蛮牛币
491
威望
0
注册时间
2016-11-1
在线时间
52 小时
最后登录
2017-4-24
QQ
发表于 2016-12-4 23:23:02 | 显示全部楼层
不一定用射线判断吧,直接用刚体的碰撞器或者触发器判断不好吗?

回复

使用道具 举报

6蛮牛粉丝
1455/1500
排名
1103
昨日变化
2

6

主题

170

帖子

1455

积分

Rank: 6Rank: 6Rank: 6

UID
114960
好友
0
蛮牛币
2363
威望
0
注册时间
2015-7-24
在线时间
529 小时
最后登录
2017-4-24
QQ
发表于 2016-12-5 09:10:32 | 显示全部楼层
如果只是触发器就不用射线啊,直接勾选Trigger,然后用触发器不就好了吗

回复

使用道具 举报

9以坛为家
10837/50000
排名
2106
昨日变化
6

5

主题

9655

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
4
蛮牛币
10254
威望
0
注册时间
2015-3-11
在线时间
689 小时
最后登录
2017-4-25
QQ
发表于 2016-12-5 09:12:43 来自Mobile--- | 显示全部楼层
挂了碰撞体是需要移动的,不然怎么知道发生了碰撞

回复

使用道具 举报

6蛮牛粉丝
1241/1500
排名
4638
昨日变化
7

2

主题

776

帖子

1241

积分

Rank: 6Rank: 6Rank: 6

UID
92518
好友
1
蛮牛币
2466
威望
0
注册时间
2015-4-15
在线时间
277 小时
最后登录
2017-4-6
发表于 2016-12-5 09:34:17 | 显示全部楼层
你可以给床加个触发器和tag(标签),射线检测到是床的标签时,则跳过不移动,让主角正常移动就行了,更高级的做法是给射线加层级判断,给床设个层,忽略这个层就行了(吐槽一句,既然有了碰撞检测,为什么又要用射线检测)

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 11:15:16 来自Mobile--- | 显示全部楼层
825 发表于 2016-12-5 09:34
你可以给床加个触发器和tag(标签),射线检测到是床的标签时,则跳过不移动,让主角正常移动就行了,更高 ...

我也想用碰撞检测,不用射线,但碰撞后主角会发生位移,这个要怎么解决呢?因为是2D rpg走格子的,所以想一直保持主角的坐标规整。

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 11:17:03 来自Mobile--- | 显示全部楼层
纳兰幽鬼 发表于 2016-12-5 09:10
如果只是触发器就不用射线啊,直接勾选Trigger,然后用触发器不就好了吗

触发器就直接穿过了,不想让主角穿过到床上。

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 11:18:06 来自Mobile--- | 显示全部楼层
Game_Hacker 发表于 2016-12-4 23:23
不一定用射线判断吧,直接用刚体的碰撞器或者触发器判断不好吗?


我也想用碰撞检测,不用射线,但碰撞后主角会发生位移,这个要怎么解决呢?因为是2D rpg走格子的,所以想一直保持主角的坐标规整。


回复

使用道具 举报

6蛮牛粉丝
1241/1500
排名
4638
昨日变化
7

2

主题

776

帖子

1241

积分

Rank: 6Rank: 6Rank: 6

UID
92518
好友
1
蛮牛币
2466
威望
0
注册时间
2015-4-15
在线时间
277 小时
最后登录
2017-4-6
发表于 2016-12-5 11:36:26 | 显示全部楼层
mn小天 发表于 2016-12-5 11:15
我也想用碰撞检测,不用射线,但碰撞后主角会发生位移,这个要怎么解决呢?因为是2D rpg走格子的,所以想 ...

为什么碰撞后主角会发生位移?反弹吗?如果是只要碰撞,可以勾上Is Kinematic,这样就可以忽略物理影响了

回复

使用道具 举报

2初来乍到
147/150
排名
11590
昨日变化
7

2

主题

48

帖子

147

积分

Rank: 2Rank: 2

UID
91780
好友
0
蛮牛币
923
威望
0
注册时间
2015-4-13
在线时间
51 小时
最后登录
2017-4-18
发表于 2016-12-5 11:54:19 | 显示全部楼层
应该对障碍物设置逻辑分层,你可以利用layer 来做这件事,射线检测忽略某一层
[发帖际遇]: ssssse 捡了钱没交公 蛮牛币 降了 2 . 幸运榜 / 衰神榜

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 12:13:56 来自Mobile--- | 显示全部楼层
825 发表于 2016-12-5 11:36
为什么碰撞后主角会发生位移?反弹吗?如果是只要碰撞,可以勾上Is Kinematic,这样就可以忽略物理影响了 ...

勾上kinematic后直接穿透碰撞体了,我不想让其穿过去。还有别的办法吗?

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 13:53:09 来自Mobile--- | 显示全部楼层
问题基本解决了,不用射线了,直接用碰撞。用一个变量存储移动前的坐标,当碰撞到东西后让他读取回原来的座标就行了,只是屏幕有个碰撞时的晃动一下,这个是不是没法避免呀?有点不符合2D rpg的感觉了。

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 13:54:22 来自Mobile--- | 显示全部楼层
ssssse 发表于 2016-12-5 11:54
应该对障碍物设置逻辑分层,你可以利用layer 来做这件事,射线检测忽略某一层 ...

问题基本解决了,不用射线了,直接用碰撞。用一个变量存储移动前的坐标,当碰撞到东西后让他读取回原来的座标就行了,只是屏幕有个碰撞时的晃动一下,这个是不是没法避免呀?有点不符合2D rpg的感觉了。

回复

使用道具 举报

排名
45696
昨日变化
74

8

主题

28

帖子

84

积分

Rank: 2Rank: 2

UID
182535
好友
0
蛮牛币
184
威望
0
注册时间
2016-11-10
在线时间
46 小时
最后登录
2017-4-24
 楼主| 发表于 2016-12-5 13:55:55 来自Mobile--- | 显示全部楼层
825 发表于 2016-12-5 11:36
为什么碰撞后主角会发生位移?反弹吗?如果是只要碰撞,可以勾上Is Kinematic,这样就可以忽略物理影响了 ...

问题基本解决了,不用射线了,直接用碰撞。用一个变量存储移动前的坐标,当碰撞到东西后让他读取回原来的座标就行了,只是屏幕有个碰撞时的晃动一下,这个是不是没法避免呀?有点不符合2D rpg的感觉了。

回复

使用道具 举报

排名
45696
昨日变化
74

0

主题

37

帖子

23

积分

Rank: 1

UID
190335
好友
0
蛮牛币
34
威望
0
注册时间
2016-12-7
在线时间
4 小时
最后登录
2016-12-23
发表于 2016-12-7 17:01:31 来自Mobile--- | 显示全部楼层
不一定用射线判断吧,直接用刚体的碰撞器或者触发器判断不好吗?

回复

使用道具 举报

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

本版积分规则

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