开启左侧

[bug汇报]train.getThisRoutePlatforms()返回空数组

[复制链接]
Hobbytimeblank 作者认证 2025-2-16 12:13:59

还没有账号?赶快去注册吧!

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

×
本帖最后由 Hobbytimeblank 于 2025-2-16 13:13 编辑 # O" ?3 v; b! I0 L1 j

* D2 Y- s: g4 S8 X- \/ r+ A( F我的LCD代码中有一部分是这样的。
% A: m: }9 ?# N
  1. + X- u; x6 K. z6 X
  2. function render(ctx, state, train) {7 a3 g  M) K$ U2 y+ y- W# a
  3.     let route_p = train.getThisRoutePlatforms();
    . T/ Y) W% j* v7 u* V* l( b: E
  4.     if (route_p[0] == undefined && state.outputDelay <= 0){
    * O2 S4 [+ {' z7 N
  5.         MinecraftClient.displayMessage("发生错误," + train.id() +","+ String(route_p),false);
    0 j% z# K' ~/ k# x, z
  6.         state.outputDelay = 2000;//这个state.outputDelay是个时间设置,是为了防止信息刷屏
    ! d8 {$ H7 H; ~1 J
  7.     } else if (…) {
    2 _8 p3 `' C4 S4 P; j5 t: u
  8.         //...省略约150行LCD绘制代码) n9 r3 n. o5 H0 [2 k4 {' }& ]9 t
  9.     }
    - _9 x8 x5 ~3 K: I
  10. }
    7 i; C0 ~  Q: n+ h' S% B; l
复制代码

! T/ Q1 p! x6 |. m7 x首先将train.getThisRoutePlatforms()的数据存入route_p中,然后判断。理论上该代码只会在列车回库,没有下一个站台的时候返回空数组。然而在实际测试中,即使在创建好的路线上,列车可能在刚刚加载出来的时候也返回空数组。有时候持续不到一秒,有时候还会持续很久都返回空数组。% w- W( y' h. _( ^
8 L3 Y/ Y' \# o1 _
根据我的代码,聊天框打出的信息一般是这样的:
% i* v9 p( @, [% ^, J8 n1 u) a7 u! T! j
4 u1 u) g' D& `+ e0 a' ]/ e0 ^, X发生错误,-8396668132046797000,[]! N3 `# L) n2 d% t
& |/ I  ?# s  s) r4 f% ]0 R' h9 m
使用的版本是ANTEbuild#968测试版本,如果有人在其他版本中发现了不一样的现象,欢迎讨论(在前几个测试版本我也遇到过)
你是更怀念那几台机器,怀念那两个多月的时间,还是怀念当时与你一起合作的人?
回复

使用道具 举报

596wjr 作者认证 2025-2-17 23:08:12
其实这种问题无伤大雅,反正也不到一秒,就当是在加载了(可能真的是在加载),就当是“面向结果”编程了,结果对了就行
596那些神奇的追加包(点击名字可跳转)
方速轨道包(适用于MTR3.*+NTE) 已完工
方速轨道包(适用于MTR4.*) 持续开发中
北京地铁闸机 已完工
[url=https://www.mtrbbs.top/thread-4800-1-1.htm
回复

使用道具 举报

楼主 Hobbytimeblank 作者认证 2025-2-18 20:57:00
596wjr 发表于 2025-2-17 23:088 p' b6 q, e* b! ?
其实这种问题无伤大雅,反正也不到一秒,就当是在加载了(可能真的是在加载),就当是“面向结果”编程了, ...
4 z' e6 n7 |' f2 }  L! w! D/ b
并不是不到一秒,实测有时候确实是一秒,但也可能会持续一两分钟,甚至有的列车直到开出渲染范围都一直在返回空数组
你是更怀念那几台机器,怀念那两个多月的时间,还是怀念当时与你一起合作的人?
回复

使用道具 举报

wxyt_cr200j 2025-2-20 17:59:45
大佬像这些获取信息的函数在哪找到,我找不到
连楼战神
qq3104797004,群1015711254
回复

使用道具 举报

ShentongMetro 作者认证 2025-2-20 20:55:20
更新一次列车信息的操作是每次执行完渲染后再更新的,如果渲染卡住了就不会及时更新
  @8 V0 m! X$ Z  ~0 [7 w我倒觉得是ANTE的问题,用异步不给同步信息上锁倒是蛮容易陷入更新数据死循环的(以我个人的理解,类似于出现类似mysql幻读脏写的问题)

评分

参与人数 1人气 +1 收起 理由
Hobbytimeblank + 1 可能有道理,我们再想想

查看全部评分

上海地铁追加包主力作者之一
你圈老锐评家,现已退化只会造低创,卷不动了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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