Project1
标题: 关于内嵌表达式的运用。 [打印本页]
作者: 眠 时间: 2018-7-23 11:30
标题: 关于内嵌表达式的运用。
我在修改半生的灯光脚本。
关于里面的烛光设定:LIGHTS = [
["引用的图片名字", 1, 1.5, 0, 0],
]
LIGHTS = [
["引用的图片名字", 1, 1.5, 0, 0],
]
是这样的,我想让这个图片的名字可以随着变量变化。
于是我先用这种方法定义一个变量。
$light_name = "light_type_" + $game_variables[1].to_s
这样应该就把我想要引用的图片名字记录下来了吧?
通过p "#{$light_name}"
显示的也是我想要的字符串。
但是在半生里的脚本引用的时候怎么都是显示空值或者是错误。
我已经试过几种写法都不对,请问原因是什么呢?
比如引用
LIGHTS = [
[ "#{$light_name}", 1, 1.5, 0, 0],
]
LIGHTS = [
[ "#{$light_name}", 1, 1.5, 0, 0],
]
就会是空值
作者: 喵呜喵5 时间: 2018-7-23 14:02
作者: 眠 时间: 2018-7-23 14:34
谢谢你的回答,不过我可能有点短路,觉得这两种情况好像不太一样。
所以没有现在也没有理解到。。
我也没有重置$light_name和相关变量,应该不会变成空值的啊。。
所以到现在都是莫名其妙。
我现在通过硬编码完成了这个功能。
作者: fux2 时间: 2018-7-23 16:03
这个常量的初始化在$gameVariables之前就初始化了。
作者: fux2 时间: 2018-7-23 16:13
用eval吧,这个比较万能,这些既然叫常量肯定就不能存变量的(从原则上),作为静态字符串eval就行了。
作者: 灯笼菜刀王 时间: 2018-7-23 16:35
果然有人和咱的想法一样,想在游戏内部更改灯光类型。
咱之前的设想在这里https://rpg.blue/thread-408903-1-1.html 嘛,XP版是R叔移植的,结构上应该和VA是一样的。
之前失败的原因在于game event不停的刷新light_type, 导致后面更改light_type没用。 最后咱加了句 当light_type 不等于0的时候return。顺利实现改变灯光类型效果, 目前使用上没发现异常, 可以参考下咱的方法~
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |