Project1

标题: 脚本出了点问题 [打印本页]

作者: 风若·飘絮    时间: 2013-5-19 20:25
标题: 脚本出了点问题
本帖最后由 风若·飘絮 于 2013-5-20 21:26 编辑
  1. class Xiulian < Window_Base
  2.   
  3.   def initialize
  4.     super(0, 0, 640, 480)
  5.     self.contents = Bitmap.new(width - 32, height - 32)
  6.     s1 = "提高气血"
  7.     s2 = "提高魔法"
  8.     s3 = "退出修炼"
  9.     @command_window = Window_Command.new(180, [s1, s2, s3])
  10.     @command_window.back_opacity = 100
  11.     @command_window.x = 360 - @command_window.width / 2
  12.     @command_window.y = 240
  13.     @command_window.visible = true
  14.    
  15.    
  16.       for i in 0...$game_party.actors.size
  17.       x = 64
  18.       y = i * 120
  19.       actor = $game_party.actors[i]
  20.       draw_actor_graphic(actor, 25, 120)
  21.       draw_actor_name(actor, 100, y)
  22.       #draw_actor_class(actor, x + 144, y)
  23.       draw_actor_level(actor, 100, y+50)
  24.       #draw_actor_state(actor, x + 90, y + 32)
  25.       #draw_actor_exp(actor, x, y + 64)
  26.       draw_actor_hp(actor,100, y+100)
  27.       draw_actor_sp(actor,100, y+150)
  28.       
  29.     end
  30.    
  31.     cx = contents.text_size($data_system.words.gold).width
  32.     self.contents.font.color = normal_color
  33.     self.contents.draw_text(4, 0, 240, 32, $game_party.gold.to_s, 2)
  34.     self.contents.font.color = system_color
  35.     self.contents.draw_text(124-cx, 0, 260, 32,$data_system.words.gold, 2)
  36.    
  37.     # 执行过渡
  38.     Graphics.transition
  39.     loop do
  40.       # 刷新游戏画面
  41.       Graphics.update
  42.       # 刷新输入信息
  43.       Input.update
  44.       # 刷新画面
  45.       refresh
  46.       # 如果画面被切换就中断循环
  47.       if Input.trigger?(Input::L)
  48.        break
  49.        end
  50.     end
  51.     # 装备过渡
  52.     #Graphics.freeze
  53.     # 释放
  54.     @command_window.dispose
  55.   end
  56.   
  57.   
  58.   def refresh
  59.     #self.contents.clear
  60.     #self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
  61.     @command_window.update
  62.    
  63.      # 按下 C 键的情况下
  64.     if Input.trigger?(Input::C)
  65.       # 命令窗口的光标位置的分支
  66.       case @command_window.index
  67.       when 0  
  68.         #command_new_game
  69.         $game_party.actors[0].hp += 10
  70.         self.contents.clear
  71.         wenzishuaxin
  72.       when 1  
  73.         #command_continue
  74.       when 2  
  75.         #command_shutdown
  76.       end
  77.     end
  78.   end
  79.   
  80.   
  81.   def wenzishuaxin
  82.       for i in 0...$game_party.actors.size
  83.       x = 64
  84.       y = i * 120
  85.       actor = $game_party.actors[i]
  86.       draw_actor_graphic(actor, 25, 120)
  87.       draw_actor_name(actor, 100, y)
  88.       #draw_actor_class(actor, x + 144, y)
  89.       draw_actor_level(actor, 100, y+50)
  90.       #draw_actor_state(actor, x + 90, y + 32)
  91.       #draw_actor_exp(actor, x, y + 64)
  92.       draw_actor_hp(actor,100, y+100)
  93.       draw_actor_sp(actor,100, y+150)
  94.     end
  95.     cx = contents.text_size($data_system.words.gold).width
  96.     self.contents.font.color = normal_color
  97.     self.contents.draw_text(4, 0, 240, 32, $game_party.gold.to_s, 2)
  98.     self.contents.font.color = system_color
  99.     self.contents.draw_text(124-cx, 0, 260, 32,$data_system.words.gold, 2)
  100.    
  101.   end
  102.   
  103. end
复制代码
写的很不规范,我想要的效果是,点击“提高气血”,HP就会提高10,并且会立刻刷新显示新的值
可是点击“提高气血”之后,刷新是刷新了,但是HP好像没提高
作者: 芯☆淡茹水    时间: 2013-5-19 20:33
请问,这是完整的脚本么?
作者: 风若·飘絮    时间: 2013-5-20 12:06
芯☆淡茹水 发表于 2013-5-19 20:33
请问,这是完整的脚本么?

嗯,是的,还没写完 写到一半测试,就出现了这个问题,全局变量HP不增长
作者: 美丽晨露    时间: 2013-5-20 16:32
我想说没有执行HP+10的语句,想怎么刷新都不会提高吧
作者: 芯☆淡茹水    时间: 2013-5-20 21:07
这个~~~,到底是场景还是窗口?
看到这个脚本觉得一个头两个大。
LZ要实现什么样的功能?可找人定做。
作者: 美丽晨露    时间: 2013-5-20 21:14
芯☆淡茹水 发表于 2013-5-20 21:07
这个~~~,到底是场景还是窗口?
看到这个脚本觉得一个头两个大。
LZ要实现什么样的功能?可找人定做。 ...

感觉是把MAXHP跟HP弄混了
所以才没有效果




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