有哪位大神可以帮帮我
scratch吧
全部回复
仅看楼主
level 4
这是一个scratch大地图移动的代码,能帮帮我在这个代码的基础上建立一个如果碰到墙壁就回弹,就是不会穿墙的代码,求求了,要过年了,新年快乐!🌹🌹🌹
2023年01月20日 03点01分 1
level 4
求求了
2023年01月20日 03点01分 2
level 7
首先,这个大地图方法妙啊,之前一直都卡在这里,原来是这样写
然后,根据提出的问题,应该是要把X和Y限定在一个范围里面,方法应该和你限制相机xy的一样
这里X的取值范围是-1020-240到1020+240
Y的范围是-768-180到768+180
2023年01月20日 12点01分 3
不知道有没有解决你的问题
2023年01月20日 12点01分
level 6
如果你说的墙体是自由创建的而且你不介意用“碰到”判定的话,一种方法是:
如果按下w
将(y)增加(移动速度)
移到x:y:「即你做后一行写的移动,用于探测移动后碰没碰到墙」
如果碰到墙
将(y)减少(移动速度)「即原路退回去」
移到x:y:
有点繁琐,有没有大神帮我简化下
2023年01月20日 13点01分 4
@xxx◆◎◆ 提醒到我了,这两天逛贴吧才知道有不刷新屏幕的自定义这个功能……有这个应该可以实现更方便的操作了(还没实践过):也许可以在自定义里面重复移速次,一个个单位地移动,碰到了墙再回退一个单位。这样既不会搞太复杂,也不至于卡墙卡得太离谱,一石二鸟👏
2023年01月20日 14点01分
@北泽-咲⁹ 我总是卡到墙里呀
2023年01月21日 02点01分
啊,用碰到的判定确实更简单,我也用这种。但是这样的话如果移动速度较大,角色很可能在离墙体有一定距离的时候(这个距离小于移动速度,所以加一步就判定碰到了)被卡住。所以建议记下角色刚好碰到墙体时候的坐标。再把坐标减少移动距离这一操作改为将坐标设为刚好碰到时的坐标
2023年01月20日 13点01分
@生存🌍 好这个好!应该需要用到不刷新屏幕的自定义,以及为了防止移动过快穿越薄墙可以画几个在特定方向上伸缩的碰撞箱
2023年01月20日 13点01分
level 7
那么,经过和上面那位吧友的讨论,请允许我隆重推荐:移到x,y升级版🙌
这款自定义的功能是移到目标位置,但是在路上碰到障碍物会停下来
下面是演示
在原来的代码中,把移到改成这个,再将对变量X和Y的调整合并进去应该就ok了
2023年01月20日 15点01分 5
level 7
如果你要的是图像上的“墙”就很简单,角色绕着实际坐标逐步远离转圈直到不碰到墙,再记录坐标就好了
2023年01月20日 17点01分 6
如果是要求角色以极快速度移动仍能拦截住(连续而不是离散)就麻烦了,要考虑两条线段是否相交之类的
2023年01月20日 17点01分
等到10点的话,我把代码修改给你们,那些空缺处希望你们能帮我补一补
2023年01月21日 00点01分
1