黑暗圣剑传说技术连载(6) 引入灵魄
引入灵魄非常简单,只要设置一个变量,用来记录灵魄就可以了,想在游戏中用好才稍微有一点麻烦。在此简要介绍一些灵魄的功能和改进方法。下面为了教学方便,统一假设44号变量为“灵魄”。
1、显示在菜单界面中: 这个是脚本的基础,简要改进Window_Gold如下:
#============================================================================== # ■ Window_Gold #------------------------------------------------------------------------------ # 显示金钱的窗口。 #==============================================================================
class Window_Gold < Window_Base #-------------------------------------------------------------------------- # ● 初始化窗口 #-------------------------------------------------------------------------- def initialize #=========================================== # ★ 修改过的地方 #=========================================== super(0, 0, 160, 96) #=========================================== # ★ 修改过的地方完 #=========================================== self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # ● 刷新 #-------------------------------------------------------------------------- def refresh self.contents.clear cx = contents.text_size($data_system.words.gold).width self.contents.font.color = normal_color self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2) self.contents.font.color = system_color self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2) #=========================================== # ★ 修改过的地方 #=========================================== cx = contents.text_size("灵魄").width self.contents.font.color = normal_color self.contents.draw_text(4, 32, 120-cx-2, 32, $game_variables[44].to_s, 2) self.contents.font.color = system_color self.contents.draw_text(124-cx, 32, cx, 32, "灵魄" , 2) #=========================================== # ★ 修改过的地方完 #=========================================== end end
没有什么太多可说的。然后在Scene_Menu中,把@gold_window初始化时候的y减32
2、战斗结束获得灵魄。
2-1、首先要设置每场战斗要获得的灵魄,不需要的就设置=0即可(如和人类战斗就不会获得灵魄,但一定要设置等于0,否则变量中记录的是上一次战斗时候的设置)。在可以获得灵魄的战斗中设置事件:
条件:回合0;距离:战斗; 变量24号(会心一击的次数)=0 变量25号(战斗后会获得的灵魄)=需要的数值
获得很简单,只要在Window_BattleResult建立的时候增加灵魄并且描绘即可。
2-2、把super那行改为super(160, 0, 320, @treasures.size * 32 + 96),也就是把高度增大32
2-3、def initialize的初始化中,refresh之前,添加 $game_variables[25] *= $game_variables[24]+1 $game_variables[44] += $game_variables[25] 也就是44号变量(灵魄数量)+=设置的会获得的数量×会心一击的次数。黑暗圣剑中会心一击可以增加灵魄所得,是这么设置的。
2-4、在refresh的y=32下面添加: self.contents.font.color = normal_color self.contents.draw_text(0,0,128-64,32,$game_variables[25].to_s,2) self.contents.font.color = system_color self.contents.draw_text(0,0,128,32,"灵魄",2) y = 64 具体描绘时候的窗口文字位置不是本次教学重点,不多介绍。
OK了,现在已经可以灵魄获得和描绘灵魄。至于应用,那是后面教学的问题了——不过用在你自己的游戏的话,我推荐这个:http://bbs.66rpg.com/web/shownews.asp?id=175 或 http://bbs.66rpg.com/web/shownews.asp?id=173,这里可以应用变量做魔法学习的货币,咱们的灵魄这样就有用了。后面的教学中,也会用到魔法商店这个脚本 |