Project1

标题: 全局变量在事件转换后就默认0 1 2 3 4 [打印本页]

作者: 金芒芒    时间: 2023-10-26 14:46
标题: 全局变量在事件转换后就默认0 1 2 3 4
脚本中enermy_selected_troops =[[17],[18],[19],[21],[16]]
$e = Marshal::load(Marshal.dump(enermy_selected_troops))
然后在事件中脚本
       b=$e.flatten
     
       for i in 0...b.size
结果是b=[0,1,2,3,4] 不知道是那里出错了
作者: soulsaga    时间: 2023-10-26 15:51
本帖最后由 soulsaga 于 2023-10-27 12:32 编辑

我似乎搞错了什么
作者: 金芒芒    时间: 2023-10-26 16:42
本帖最后由 金芒芒 于 2023-10-26 16:47 编辑
soulsaga 发表于 2023-10-26 15:51
for i in b

你因为循环了SIZE所以才会这样


   那直接脚本不在事件里 引用$e
enermy_selected_troops =[[17],[18],[19],[21],[16]]  
$e = Marshal::load(Marshal.dump(enermy_selected_troops))
       b=$e.flatten
    for i in 0...b.size
   结果是b=[17,18,19,21,16]
是不是$e这个全局变量无效了
作者: soulsaga    时间: 2023-10-27 12:57
金芒芒 发表于 2023-10-26 16:42
那直接脚本不在事件里 引用$e
enermy_selected_troops =[[17],[18],[19],[21],[16]]  
$e = Marshal: ...

你可以在事件中看一下$e是什么就知道
作者: 金芒芒    时间: 2023-10-28 09:11
本帖最后由 金芒芒 于 2023-10-28 09:25 编辑
soulsaga 发表于 2023-10-27 12:57
你可以在事件中看一下$e是什么就知道


原来$e是个全局变量加个[编号]  $e[敌军军队]
enermy_selected_troops =[[17],[18],[19],[21],[16]]  
敌军军队 = 35
$e[敌军军队]= Marshal::load(Marshal.dump(enermy_selected_troops))



然后在事件脚本中输入
  b=$e[敌军军队].flatten
    for i in 0...b.size
   结果是b=[17,18,19,21,16]
这样是不是一个成功的全局变量
如何让敌军军队 = 游戏变量【35】呢?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1