soulsaga 发表于 2019-10-18 10:04 大佬,如果我是做捉宠脚本,把第4号角色直接调用敌方的内容,怎么在game atctor里调用game enemy里的def name @name = $data_enemies[$game_variables[590]].name 这句老是说name是nilclass,特别是在战斗中用道具时,590号变量是捉的怪的id,就是要把4号id角色的名字替换成这个id的怪的名字 |
soulsaga 发表于 2019-10-18 22:29 大神你看这句: if @active_battler.id == 229 or @active_battler.id == 231 or @active_battler.id == 985 end 咱要是用"include"可不可以这么写: if [229,231,985].include?(@active_battler.id) end 这么写语法对嘛? |
soulsaga 发表于 2019-10-18 10:04 大神请问下这两句话: if ($game_variables[100]+$game_variables[101]) >= 9999 end 和 if $game_variables[100]+$game_variables[101] >= 9999 end 是不是一样的?加不加括号无所谓? |
本帖最后由 寒凌天 于 2019-10-18 16:27 编辑 taeckle 发表于 2019-10-18 07:11 在@xyz被赋值时,下面加一行代码$game_variables[9527]=@xyz 然后在Class B里,调用$game_variables[9527]的值就行了 这个9527,其实就是代表着变量9527,这个数字你也可以换成未使用的变量,由于这变量本身是全局性的,所以你在哪里调用都可以。 编辑补充说明一下,我的方法和5楼的方法,是两种截然不同的代码,针对的情况也是截然不同的。 5楼的代码意思是重新声明一个类,并按照方法返回值。 而我的代码也是是,读取上次执行Class A的abc命令时,所产生的值。 不过像你这种获取某个值的方法,Class A的abc多数情况是有参数的,参数不同,返回结果一般也不同。是用我的代码“读取上次结果”,还是用5楼说的那种在Class B中重新执行一次Class A的abc方法,你看着选吧。 两种代码没有谁对谁错之分,也没有哪个更好一说,因为应对的是完全两种不同的情况。因为你之前没说清楚你具体想用在哪种情况,所以你看着选吧 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-22 15:02
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.