Project1

标题: 关于战斗可视化脚本(求修改) [打印本页]

作者: yy461530593    时间: 2010-8-13 16:42
标题: 关于战斗可视化脚本(求修改)
下面为原代码,要怎么修改可视化的圆形大小呢?
  1. #==============================================================================
  2. # ■ 本脚本来自 [url]www.66rpg.com[/url] 使用或转载时请保留此信息.谢谢!
  3. #==============================================================================

  4. #==============================================================================
  5. # ■ 可视化战斗选择框
  6. #      原作者:柳柳   (VX平台)
  7. #      移植  :后知后觉(HZHJ)
  8. #      版本  :v1.1
  9. #     使用说明:整段脚本插入到 Main 前
  10. #               Graphics/pictures 目录下有一张图片 一起拷贝到自己工程去
  11. #               切记这张图片不要改名 原来名字为 enemy_select_back.png
  12. #        这图为圆形.可以根据你的喜好改成五角星.方框.桃心等诡异形状
  13. #    本脚本还使用到 猫哥哥 的 RGSS2_bitmap_xp
  14. #    用到了里面的 clear_rect,blur,blur_r
  15. #    这个脚本的其他功能因为本脚本未使用.所以用 =begin~=end 进行了块注释
  16. #==============================================================================

  17. #==============================================================================
  18. # ■ Scene_Battle (分割定义 1)
  19. #==============================================================================
  20. class Scene_Battle
  21.   #--------------------------------------------------------------------------
  22.   # ● 刷新画面画面 (角色命令回合 : 选择敌人)
  23.   #--------------------------------------------------------------------------
  24.   alias hzhj_update_select_enemy update_phase3_enemy_select
  25.   def update_phase3_enemy_select
  26.     hzhj_update_select_enemy
  27.     if @enemy_arrow != nil and @hzhj_select_enemy != @enemy_arrow.index
  28.       @hzhj_select_enemy = @enemy_arrow.index
  29.       update_target_select_sprite($game_troop.enemies[@enemy_arrow.index])
  30.     end
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 画面更新 (角色指令回合 : 选择角色)
  34.   #--------------------------------------------------------------------------
  35.   alias hzhj_update_select_actor update_phase3_actor_select
  36.   def update_phase3_actor_select
  37.     hzhj_update_select_actor
  38.     if @actor_arrow != nil and @hzhj_select_actor != @actor_arrow.index
  39.       @hzhj_select_actor = @actor_arrow.index
  40.       update_target_select_sprite($game_party.actors[@actor_arrow.index])
  41.     end
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 开始选择敌人
  45.   #--------------------------------------------------------------------------
  46.   alias hzhj_start_enemy_select start_enemy_select
  47.   def start_enemy_select
  48.     hzhj_start_enemy_select
  49.     @enemy_arrow.visible = false
  50.     @target_select_sprite = Sprite.new
  51.     @target_select_sprite.z = 9999
  52.     @target_select_sprite.bitmap = Bitmap.new(640, 480)
  53.     @target_select_sprite.opacity = 160
  54.     @hzhj_select_enemy = 9999
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● 结束选择敌人
  58.   #--------------------------------------------------------------------------
  59.   alias hzhj_end_enemy_select end_enemy_select
  60.   def end_enemy_select
  61.     hzhj_end_enemy_select
  62.     @target_select_sprite.bitmap.dispose
  63.     @target_select_sprite.dispose
  64.     @target_select_sprite = nil
  65.     @hzhj_select_enemy = 9999
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 开始选择角色
  69.   #--------------------------------------------------------------------------
  70.   alias hzhj_start_actor_select start_actor_select
  71.   def start_actor_select
  72.     hzhj_start_actor_select
  73.     @actor_arrow.visible = false
  74.     @target_select_sprite = Sprite.new
  75.     @target_select_sprite.z = 9999
  76.     @target_select_sprite.bitmap = Bitmap.new(640, 480)
  77.     @target_select_sprite.opacity = 160
  78.     @hzhj_select_actor = 9999
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 结束选择角色
  82.   #--------------------------------------------------------------------------
  83.   alias hzhj_end_actor_select end_actor_select
  84.   def end_actor_select
  85.     hzhj_end_actor_select
  86.     @target_select_sprite.bitmap.dispose
  87.     @target_select_sprite.dispose
  88.     @target_select_sprite = nil
  89.     @hzhj_select_actor = 9999
  90.   end
  91. #★★★★★★★★★★★★★★★★★★★★★★★★★
  92.   #--------------------------------------------------------------------------
  93.   # ● 刷新画面 战斗可视化选择框
  94.   #--------------------------------------------------------------------------
  95.   def update_target_select_sprite(enemy)
  96.     @target_select_sprite.bitmap.clear
  97.     @target_select_sprite.bitmap.fill_rect(0, 0, 640, 480, Color.new(0, 0, 0, 255))
  98.     enemy_bmp = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
  99.     enemy_x = enemy.screen_x
  100.     enemy_y = enemy.screen_y
  101.     hzhj_x = enemy_x - enemy_bmp.width / 2
  102.     hzhj_y = enemy_y - enemy_bmp.height
  103.     if enemy_bmp.width < enemy_bmp.height
  104.       hzhj_wh = enemy_bmp.height
  105.       hzhj_x = hzhj_x - (enemy_bmp.height - enemy_bmp.width) / 2
  106.     elsif enemy_bmp.width > enemy_bmp.height
  107.       hzhj_wh = enemy_bmp.width
  108.       hzhj_y = hzhj_y - (enemy_bmp.width - enemy_bmp.height) / 2
  109.     else
  110.       hzhj_wh = enemy_bmp.width
  111.     end
  112.     dest_rect = Rect.new(hzhj_x,hzhj_y,hzhj_wh,hzhj_wh)
  113.     src_bitmap = RPG::Cache.picture("enemy_select_back")
  114.     src_rect = src_bitmap.rect
  115.     @target_select_sprite.bitmap.clear_rect(dest_rect)
  116.     @target_select_sprite.bitmap.stretch_blt(dest_rect, src_bitmap, src_rect)
  117.     @target_select_sprite.bitmap.blur
  118.     @target_select_sprite.bitmap.blur
  119.   end
  120. #▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
  121. end
  122. #==============================================================================
  123. # ■ 本脚本来自 [url]www.66rpg.com[/url] 使用或转载时请保留此信息.谢谢!
  124. #==============================================================================
复制代码

作者: yy461530593    时间: 2010-8-13 17:07
已经过了25分钟。求助,我的心正在一步一步的煎熬
作者: [N.K]    时间: 2010-8-13 17:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: yy461530593    时间: 2010-8-13 18:07
如下图所示:我想那个圆形框框大一点


作者: yy461530593    时间: 2010-8-13 18:21
求解释= =就当看在我的个性签名上回答一下
作者: 后知后觉    时间: 2010-8-13 18:22
本帖最后由 后知后觉 于 2010-8-13 18:24 编辑

我不是有说过这一点的嘛= =...
选择框的大小是根据战斗图的尺寸来计算的
如果想要选择框的大小固定的话需要自己改数据
如果想加大选择框的大小又不会脚本的话.可以用图片处理工具.比如Photoshop
把战斗图的画布向4方位扩展.让可见区域和图片边缘留出透明区域多一点即可

作者: yy461530593    时间: 2010-8-13 19:02
回复 后知后觉 的帖子

就算把图改成全白,还是差那么一点。

   
作者: 后知后觉    时间: 2010-8-13 20:57
回复 yy461530593 的帖子

我是说 扩展画布  
你看这是默认的幽灵图片大小所弄出来的选择框

我把幽灵图片的高度扩展了32像素.上面多了16.下面多了16
看看扩展后的选择框大小吧

作者: yy461530593    时间: 2010-8-13 22:01
意思就是扩展我的那个小乌龟的图片吧,我试试




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