设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2477|回复: 3
打印 上一主题 下一主题

[已经解决] 4人制45度战斗脚本 修改问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
350
在线时间
2 小时
注册时间
2010-10-4
帖子
4
跳转到指定楼层
1
发表于 2010-10-4 00:54:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 苏幕遮。 于 2010-10-10 22:04 编辑
  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载请保留此信息
  3. # ————————————————————————————————————

  4. #==============================================================================
  5. # ■ Game_Actor
  6. #------------------------------------------------------------------------------
  7. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  8. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  9. #==============================================================================

  10. class Game_Actor < Game_Battler
  11.   #--------------------------------------------------------------------------
  12.   # ● 取得战斗画面的 X 坐标
  13.   #--------------------------------------------------------------------------
  14.   def screen_x
  15.   case self.index
  16.   when 0
  17.     return 350
  18.   when 1
  19.     return 430
  20.   when 2
  21.     return 510
  22.   when 3
  23.     return 580
  24.   else
  25.     return 600

  26.    end
  27. end
  28.   #--------------------------------------------------------------------------
  29.   # ● 取得战斗画面的 Y 坐标
  30.   #--------------------------------------------------------------------------
  31.   def screen_y
  32.   case self.index
  33.   when 0
  34.     return 430
  35.   when 1
  36.     return 395
  37.   when 2
  38.     return 360
  39.   when 3
  40.     return 325
  41.   else
  42.     return 1000
  43.    end
  44. end
  45.   #--------------------------------------------------------------------------
  46.   # ● 取得战斗画面的 Z 坐标
  47.   #--------------------------------------------------------------------------
  48.   def screen_z
  49.   case self.index
  50.   when 0
  51.     return 10
  52.   when 1
  53.     return 9
  54.   when 2
  55.     return 8
  56.   when 3
  57.     return 7
  58.   else
  59.     return 0
  60.     end
  61.   end
  62. end

  63.   
  64. #==============================================================================
  65. # ■ Window_Base
  66. #------------------------------------------------------------------------------
  67. #  游戏中全部窗口的超级类。
  68. #==============================================================================

  69. class Window_Base < Window
  70.   #--------------------------------------------------------------------------
  71.   # ● 描绘 HP
  72.   #     actor : 角色
  73.   #     x     : 描画目标 X 坐标
  74.   #     y     : 描画目标 Y 坐标
  75.   #     width : 描画目标的宽
  76.   #--------------------------------------------------------------------------
  77.   def draw_actor_hp1(actor, x, y, width = 100)
  78.     # 描绘字符串 "HP"
  79.     self.contents.font.color = system_color
  80.     self.contents.draw_text(x, y, 24, 24, $data_system.words.hp)
  81.     # 计算描绘 MaxHP 所需的空间
  82.     if width - 24 >= 32
  83.       hp_x = x + 32# + width - 24
  84.     end
  85.     # 描绘 HP
  86.     self.contents.font.color = actor.hp == 0 ? knockout_color :
  87.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  88.     self.contents.draw_text(hp_x, y, 32, 24, actor.hp.to_s, 2)
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 描绘 SP
  92.   #     actor : 角色
  93.   #     x     : 描画目标 X 坐标
  94.   #     y     : 描画目标 Y 坐标
  95.   #     width : 描画目标的宽
  96.   #--------------------------------------------------------------------------
  97.   def draw_actor_sp1(actor, x, y, width = 100)
  98.     # 描绘字符串 "SP"
  99.     self.contents.font.color = system_color
  100.     self.contents.draw_text(x, y, 24, 24, $data_system.words.sp)
  101.     # 计算描绘 MaxSP 所需的空间
  102.     if width - 24 >= 32
  103.       sp_x = x + 32# + width - 24
  104.     end
  105.     # 描绘 SP
  106.     self.contents.font.color = actor.sp == 0 ? knockout_color :
  107.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  108.     self.contents.draw_text(sp_x, y, 32, 24, actor.sp.to_s, 2)
  109.   end
  110. end
  111.   




  112. #==============================================================================
  113. # ■ Window_BattleStatus
  114. #------------------------------------------------------------------------------
  115. #  显示战斗画面同伴状态的窗口。
  116. #==============================================================================

  117. class Window_BattleStatus < Window_Base
  118.   #--------------------------------------------------------------------------
  119.   # ● 初始化对像
  120.   #--------------------------------------------------------------------------
  121. #$data_system_level_up_me = "Audio/ME/升级音乐"
  122.   def initialize
  123.     super(0, 0, 640, 480)
  124.     self.contents = Bitmap.new(width - 10, height - 32)
  125.     self.opacity = 0
  126.     @level_up_flags = [false, false, false, false]
  127.     refresh
  128.   end
  129.   #--------------------------------------------------------------------------
  130.   # ● 释放
  131.   #--------------------------------------------------------------------------
  132.   def dispose
  133.     super
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ● 设置升级标志
  137.   #     actor_index : 角色索引
  138.   #--------------------------------------------------------------------------
  139.   def level_up(actor_index)
  140.     @level_up_flags[actor_index] = true
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● 刷新
  144.   #--------------------------------------------------------------------------
  145.   def refresh
  146.     self.contents.clear
  147.     @item_max = $game_party.actors.size
  148.      for i in 0...$game_party.actors.size
  149.       actor = $game_party.actors[i]
  150.       case i
  151.         when 0
  152.          x = 310
  153.          y = 390
  154.         when 1
  155.          x = 390
  156.          y = 340
  157.         when 2
  158.          x = 480
  159.          y = 300
  160.         when 3
  161.          x = 550
  162.          y = 270
  163.        end
  164.       if @level_up_flags[i]
  165.         self.contents.font.color = normal_color
  166.         self.contents.draw_text(x, y, 80, 24, "LEVEL UP!")
  167.         Audio.me_stop
  168. #        Audio.me_play($data_system_level_up_me)
  169.       else
  170.       draw_actor_hp1(actor, x-15, y-15, 80)
  171.       draw_actor_sp1(actor, x-15, y+5, 80)
  172.      end
  173.     end
  174.   end

  175.   #--------------------------------------------------------------------------
  176.   # ● 刷新画面
  177.   #--------------------------------------------------------------------------
  178.   def update
  179.     super
  180.     # 主界面的不透明度下降
  181.     if $game_temp.battle_main_phase
  182.       self.contents_opacity -= 50 if self.contents_opacity > 1
  183.     else
  184.       self.contents_opacity += 50 if self.contents_opacity < 255
  185.     end
  186.   end
  187. end





  188. #==============================================================================
  189. # ■ Window_BattleStatus
  190. #==============================================================================
  191. class Window_BattleStatus < Window_Base
  192.   #--------------------------------------------------------------------------
  193.   # ● 初始化
  194.   #--------------------------------------------------------------------------
  195.   alias xrxs_bp2_refresh refresh
  196.   def refresh
  197.     xrxs_bp2_refresh
  198.     @item_max = $game_party.actors.size
  199.      for i in 0...$game_party.actors.size
  200.       actor = $game_party.actors[i]
  201.       case i
  202.         when 0
  203.          x = 310
  204.          y = 390
  205.         when 1
  206.          x = 390
  207.          y = 340
  208.         when 2
  209.          x = 480
  210.          y = 300
  211.         when 3
  212.          x = 550
  213.          y = 270
  214.        end
  215.       draw_actor_hp_meter(actor, x, y, 50)
  216.       draw_actor_sp_meter(actor, x, y + 8, 50)
  217.     end
  218.   end
  219. end
  220. #==============================================================================
  221. # ■ Window_Base
  222. #==============================================================================
  223. class Window_Base < Window
  224.   #--------------------------------------------------------------------------
  225.   # ● HP描画
  226.   #--------------------------------------------------------------------------
  227.   def draw_actor_hp_meter(actor, x, y, width = 156, type = 0)
  228.     if type == 1 and actor.hp == 0
  229.       return
  230.     end
  231.     self.contents.font.color = system_color
  232.     self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 25))
  233.     w = width * actor.hp / actor.maxhp
  234.     self.contents.fill_rect(x, y+28, w,1, Color.new(255, 96, 96, 255))
  235.     self.contents.fill_rect(x, y+29, w,1, Color.new(255, 0, 0, 255))
  236.     self.contents.fill_rect(x, y+30, w,1, Color.new(128, 0, 0, 255))
  237.     self.contents.fill_rect(x, y+31, w,1, Color.new(0, 0, 0, 255))
  238.    
  239.     end
  240.   #--------------------------------------------------------------------------
  241.   # ● SP描画
  242.   #--------------------------------------------------------------------------
  243.   def draw_actor_sp_meter(actor, x, y, width = 156, type = 0)
  244.     if type == 1 and actor.hp == 0
  245.       return
  246.     end
  247.     self.contents.font.color = system_color
  248.     self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
  249.     w = width * actor.sp / actor.maxsp
  250.     self.contents.fill_rect(x, y+28, w,1, Color.new(128, 255, 255, 255))
  251.     self.contents.fill_rect(x, y+29, w,1, Color.new(0, 255, 255, 255))
  252.     self.contents.fill_rect(x, y+30, w,1, Color.new(0, 192, 192, 255))
  253.     self.contents.fill_rect(x, y+31, w,1, Color.new(0, 128, 128, 255))
  254.   end
  255. end
复制代码
此脚本在哪里能够修改文字大小或者直接删除文字?
详见附件。

1.jpg (18.6 KB, 下载次数: 18)

具体样式

具体样式
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
93 小时
注册时间
2009-10-16
帖子
235
2
发表于 2010-10-4 07:26:20 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
350
在线时间
2 小时
注册时间
2010-10-4
帖子
4
3
 楼主| 发表于 2010-10-10 22:06:03 | 只看该作者
谢谢楼上
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
63 小时
注册时间
2012-1-27
帖子
19
4
发表于 2012-3-8 19:24:15 | 只看该作者
用了,可是下面变黑了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-18 06:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表