Project1

标题: 《一行脚本解决人品问题—游戏提速》bug [打印本页]

作者: 3535    时间: 2007-6-4 06:43
标题: 《一行脚本解决人品问题—游戏提速》bug
最近转用了在help window显示敌人血条的脚本,可是一测试,只有4-5fps,然后我用了
http://rpg.blue/web/htm/news581.htm的方法,但是是有bug的,按住或快速按键时,help_window
内的东西会错乱,如指着a敌人,help显示b敌人数据
于是我着手研究新方法,发现有一谜团,为什么在选己方人物时不会卡?同样是Arrow_Base的update
原来不卡的关键是window_help的这句:if actor != @actor
于是我在set_enemy也加了,另一问题再现:在开始选择敌人时help_window不见了,要按下上/下/左/右任一键才显示,之后我想应该是scene_battle问题,我在start_enemy_select加上
@help_window.visible = true,就完全解决了
  1. #--------------------------------------------------------------------------
  2.   # ● 設定敵人
  3.   #     enemy : 要顯示名字和狀態的敵人
  4.   #--------------------------------------------------------------------------
  5.   def set_enemy(actor)
  6.     if actor != @actor
  7.       self.contents.clear
  8.       draw_actor_name(actor, 4, 0)
  9.       draw_actor_state3(actor, 140, 0)
  10.       draw_actor_hp(actor, 284, 0)
  11.       draw_actor_sp(actor, 460, 0)
  12.       @actor = actor
  13.       @text = nil
  14.       self.visible = true
  15.     end
  16.   end
复制代码
  1. #--------------------------------------------------------------------------
  2.   # ● 開始選擇敵人
  3.   #--------------------------------------------------------------------------
  4.   def start_enemy_select
  5.     # 產生敵人箭頭
  6.     @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
  7.     # 關聯說明視窗
  8.     @enemy_arrow.help_window = @help_window
  9.     @help_window.visible = true
  10.     # 無效化角色指令視窗
  11.     @actor_command_window.active = false
  12.     @actor_command_window.visible = false
  13.   end
复制代码

作者: 3535    时间: 2007-6-4 06:43
标题: 《一行脚本解决人品问题—游戏提速》bug
最近转用了在help window显示敌人血条的脚本,可是一测试,只有4-5fps,然后我用了
http://rpg.blue/web/htm/news581.htm的方法,但是是有bug的,按住或快速按键时,help_window
内的东西会错乱,如指着a敌人,help显示b敌人数据
于是我着手研究新方法,发现有一谜团,为什么在选己方人物时不会卡?同样是Arrow_Base的update
原来不卡的关键是window_help的这句:if actor != @actor
于是我在set_enemy也加了,另一问题再现:在开始选择敌人时help_window不见了,要按下上/下/左/右任一键才显示,之后我想应该是scene_battle问题,我在start_enemy_select加上
@help_window.visible = true,就完全解决了
  1. #--------------------------------------------------------------------------
  2.   # ● 設定敵人
  3.   #     enemy : 要顯示名字和狀態的敵人
  4.   #--------------------------------------------------------------------------
  5.   def set_enemy(actor)
  6.     if actor != @actor
  7.       self.contents.clear
  8.       draw_actor_name(actor, 4, 0)
  9.       draw_actor_state3(actor, 140, 0)
  10.       draw_actor_hp(actor, 284, 0)
  11.       draw_actor_sp(actor, 460, 0)
  12.       @actor = actor
  13.       @text = nil
  14.       self.visible = true
  15.     end
  16.   end
复制代码
  1. #--------------------------------------------------------------------------
  2.   # ● 開始選擇敵人
  3.   #--------------------------------------------------------------------------
  4.   def start_enemy_select
  5.     # 產生敵人箭頭
  6.     @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
  7.     # 關聯說明視窗
  8.     @enemy_arrow.help_window = @help_window
  9.     @help_window.visible = true
  10.     # 無效化角色指令視窗
  11.     @actor_command_window.active = false
  12.     @actor_command_window.visible = false
  13.   end
复制代码

作者: 见光即死    时间: 2007-6-4 07:18
{/se} 不需要用事件咯 不过脚本有时都蛮麻烦 修改难 都收着先 到时

作者: 七夕小雨    时间: 2007-6-4 07:26
绘制血槽我不都出教程了么……{/gg}
作者: 星之云    时间: 2007-6-5 07:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 亿万星辰    时间: 2007-6-5 15:30
理论上那个方法是没有问题的,那个方法只是给大家提出一个更新的方法,并不是非得加上对按键的判断




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