查看: 1091|回复: 2

[有事请教] 有什么办法防止角色/事件跳跃出屏幕吗?

[复制链接]
梦石
0
星屑
503
在线时间
128 小时
注册时间
2020-7-17
回帖
18
发表于 2025-9-2 23:20:18 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
做了一个被击中时会随机方向跳三格的敌人,在地图边缘很容易跳出屏幕,尝试用四个变量记录跳跃前后的坐标,跳跃后超出地图范围会跳回前一个记录的坐标,不过可能是因为跳出屏幕后就无法获取坐标了?总之并没有生效

因为这是远程射击(bullet插件),所以限制敌人的活动范围也并没有用

能想到的其他办法就是条件判断在地图边缘不再乱跳,而是只会跳向地图里侧

还有什么其他的插件之类的好办法吗?
捕获.PNG
梦石
0
星屑
29896
在线时间
5733 小时
注册时间
2016-3-8
回帖
1653
发表于 2025-9-3 01:23:13 | 显示全部楼层
本帖最后由 alexncf125 于 2025-9-3 01:25 编辑
  1. const _Game_CharacterBase_jump_viparcher = Game_CharacterBase.prototype.jump;
  2. Game_CharacterBase.prototype.jump = function (xPlus, yPlus) {
  3.     const x = this.x; const y = this.y;
  4.     if (this.isCollidedWithCharacters(x + xPlus, y + yPlus)) return;
  5.     if ([2, 4, 6, 8].some((d) => !this.isMapPassable(x + xPlus, y + yPlus, d))) return;
  6.     _Game_CharacterBase_jump_viparcher.call(this, xPlus, yPlus);
  7. }
复制代码


修改自VIPArcher的跳跃不会跳到不能移动的位置
回复 1 0

使用道具 举报

梦石
0
星屑
503
在线时间
128 小时
注册时间
2020-7-17
回帖
18
 楼主| 发表于 2025-9-3 19:40:30 | 显示全部楼层
alexncf125 发表于 2025-9-3 01:23
修改自VIPArcher的跳跃不会跳到不能移动的位置

厉害,这样地图做大一圈围一堆空事件大于跳跃距离就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部