Project1

标题: 关于横版战斗的两个问题。 [打印本页]

作者: 576437081    时间: 2013-6-20 20:23
标题: 关于横版战斗的两个问题。
本帖最后由 576437081 于 2013-6-29 13:13 编辑

第一个问题:

上图中的人物信息栏是怎么弄的?
我的是这个样子:

好吧还有一个问题:

上图那个框是怎么弄的?
我的是普通窗口啊。


用什么脚本?
作者: 长奁    时间: 2013-6-21 22:10
  1. #==============================================================================
  2. # ★RGSS2
  3. # STR11b_XP風バトル#バトルメッセージ v1.2 08/01/26
  4. # サポート:htt#p:/#/ot#su.cool.ne.jp/strcatyou/ ←6R提示我没法发链接。请把链接中#符去掉以打开。
  5. # ・バトルメッセージを透明化して、左上に移動します。
  6. #
  7. #------------------------------------------------------------------------------
  8. #
  9. # 更新履歴
  10. # ◇1.2→1.3
  11. # 通常のウィンドウ表示に対応 (ウィンドウを透明化しないオプション)
  12. # ◇1.1→1.2
  13. # STR11fへの対応に伴い仕様変更
  14. # 設定箇所追加(メッセージ幅)
  15. # ◇1.0→1.1
  16. # 選択肢がおかしいバグ修正
  17. #
  18. #==============================================================================
  19. # ■ Window_BattleMessage
  20. #==============================================================================
  21. class Window_BattleMessage < Window_Message
  22.   # Color de Fondo (degradado) [izquierda, derecha]
  23.   TEXT_B_COLOR = [Color.new(0,0,0,0), Color.new(0,0,0,0)]
  24.   INFO      = "Battle Message" # Mensagem do quadro de mensagens
  25.   BTWIDTH   = 360       # Altura
  26.   MOVE      = true      
  27.   SPEED     = 2         
  28.   W_OPACITY = 96         
  29.   N_WINDOW  = false  #--------------------------------------------------------------------------
  30.   # ★ エイリアス
  31.   #--------------------------------------------------------------------------
  32.   alias initialize_str11b initialize
  33.   def initialize
  34.     initialize_str11b
  35.     self.x = 0
  36.     self.y = 0
  37.     self.back_opacity = 0
  38.     self.opacity = 0
  39.     unless N_WINDOW
  40.       @b_sprite = Sprite.new(self.viewport)
  41.       bitmap = Bitmap.new(BTWIDTH, 96 + 16)
  42.       bitmap.gradient_fill_rect(0, 16, BTWIDTH, 96, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  43.       bitmap.font.shadow = false
  44.       bitmap.font.size = 16
  45.       bitmap.draw_text(2, 2, BTWIDTH, 16, INFO)
  46.       @b_sprite.bitmap = bitmap
  47.       @b_sprite.x = self.x
  48.       @b_sprite.y = self.y
  49.       @b_sprite.src_rect.height = 16
  50.       @b_sprite.opacity = 0
  51.       @str11f = false
  52.     end
  53.   end
  54.   alias dispose_str11b dispose
  55.   def dispose
  56.     dispose_str11b
  57.     unless N_WINDOW
  58.       @b_sprite.bitmap.dispose
  59.       @b_sprite.dispose
  60.     end
  61.   end
  62.   alias update_str11b update
  63.   def update
  64.     update_str11b
  65.    
  66.     unless N_WINDOW
  67.       if self.visible and (@lines.size > 0 and not @str11f) or
  68.          (@text != nil or self.pause or @index > -1)
  69.         @b_sprite.opacity += W_OPACITY
  70.         h = @b_sprite.src_rect.height
  71.         if @text != nil
  72.           @l = 4
  73.         else
  74.           unless self.pause or @index > -1
  75.             @l = @lines.size
  76.           else
  77.             @l = 4
  78.           end
  79.         end
  80.         if MOVE
  81.           if SPEED == 1
  82.             @b_sprite.src_rect.height = 16 + (@l * 24)
  83.           else
  84.             s = (SPEED - 1)
  85.             @b_sprite.src_rect.height = (h + ((16 + (@l * 24)) * s)) / SPEED
  86.           end
  87.         else
  88.           @b_sprite.src_rect.height = 96 + 16
  89.         end
  90.       else
  91.         @b_sprite.opacity -= W_OPACITY
  92.       end
  93.     else
  94.       if self.visible
  95.         self.back_opacity += W_OPACITY
  96.         self.opacity += W_OPACITY
  97.         self.back_opacity = 200 if self.back_opacity > 200
  98.       else
  99.         self.back_opacity -= W_OPACITY
  100.         self.opacity -= W_OPACITY
  101.       end
  102.     end
  103.   end
  104. end
复制代码
用这个试试。
作者: 576437081    时间: 2013-6-24 19:18
本帖最后由 576437081 于 2013-6-24 21:21 编辑

难道这个问题很难吗?
作者: 长奁    时间: 2013-6-24 21:16
不需要图片。可以提供工程吗?我想看一下是不是冲突了。
或者你在脚本库里搜索"class window_battlemessage"把搜索结果截图给我看看。
作者: 576437081    时间: 2013-6-24 21:28
长奁 发表于 2013-6-24 21:16
不需要图片。可以提供工程吗?我想看一下是不是冲突了。
或者你在脚本库里搜索"class window_battlemessage ...

工程在此。为了防止剧透,只有DATA文件。
(啊好像不对,有了data文件好像就能看数据库和事件了吧?)

复件 Data.zip

291.72 KB, 下载次数: 45


作者: 长奁    时间: 2013-6-24 21:41
你妹……
那么多图片,我测试时耐心的一张张找了差不多的替代进文件夹去还改了名……Orz
能顺便把素材文件夹一起发来么……?
我这样要到猴年马月去…………Orz
看了下你的脚本应该没冲突…?
你把我给的那个放在最下面,但是在main之上。试试
作者: I爱幻想    时间: 2013-6-25 00:48
http://rpg.blue/thread-313694-1-1.html
看看我的工程吧、
作者: I爱幻想    时间: 2013-6-25 13:41
I爱幻想 发表于 2013-6-25 00:48
http://rpg.blue/thread-313694-1-1.html
看看我的工程吧、

论坛上脚本比较少,只能从游戏里提取,实在不行就一条条复制。
作者: I爱幻想    时间: 2013-6-25 22:33
I爱幻想 发表于 2013-6-25 13:41
论坛上脚本比较少,只能从游戏里提取,实在不行就一条条复制。

没有用太多,大多数都是整合起来的,东凑凑西凑凑。
或者你把脚本发来我看看。
作者: I爱幻想    时间: 2013-6-25 22:44
Data.zip (292.89 KB, 下载次数: 57)
解决了你的第二个问题。第一个没素材不好弄。
作者: 576437081    时间: 2013-6-26 11:56
非常感谢两位的帮助!看来我要好好学学脚本了。
话所楼上那位三连帖啦!
作者: 576437081    时间: 2013-6-26 17:48
I爱幻想 发表于 2013-6-25 22:44
解决了你的第二个问题。第一个没素材不好弄。

额······能不能帮我把坐标调回去?

作者: yangjunyin2002    时间: 2013-6-26 17:55
这截图 肿么用我的 = =
作者: yangjunyin2002    时间: 2013-6-26 18:06
OK,还是我来回答吧。

战斗信息我用了脚本(直接插入脚本编辑器里,你懂的,另外此乃外站脚本不敢乱贴):
  1. #==============================================================================
  2. # ★RGSS2
  3. # *STR11b_XP Battle Style #Battle Message v1.2 08/01/26
  4. # Created by star: http://otsu.cool.ne.jp/strcatyou/
  5. # Translated by Mr. Bubble
  6. #
  7. # ・Battle message appears with transparent background at
  8. #  the upper left of the screen.
  9. #
  10. #------------------------------------------------------------------------------

  11. #==============================================================================
  12. # ■ Window_BattleMessage
  13. #==============================================================================
  14. class Window_BattleMessage < Window_Message
  15.   # Gradient Background [Left, Right]
  16.   TEXT_B_COLOR = [Color.new(0,0,0,160), Color.new(0,0,0,0)]
  17.   INFO      = "Battle Message" # String that shows at the upper left of message window
  18.   BTWIDTH   = 360       # Message Width
  19.   MOVE      = true      # Smooth resize of lines
  20.   SPEED     = 1         # Resize Speed
  21.   W_OPACITY = 96        # Transparency 1~255
  22.   #
  23.   N_WINDOW  = false     # Window is not converted transparent
  24.   #--------------------------------------------------------------------------
  25.   # ★ エイリアス
  26.   #--------------------------------------------------------------------------
  27.   alias initialize_str11b initialize
  28.   def initialize
  29.     initialize_str11b
  30.     self.x = 0
  31.     self.y = 0
  32.     self.back_opacity = 0
  33.     self.opacity = 0
  34.     unless N_WINDOW
  35.       @b_sprite = Sprite.new(self.viewport)
  36.       bitmap = Bitmap.new(BTWIDTH, 96 + 16)
  37.       bitmap.gradient_fill_rect(0, 16, BTWIDTH, 96, TEXT_B_COLOR[0], TEXT_B_COLOR[1])
  38.       bitmap.font.shadow = false
  39.       bitmap.font.size = 16
  40.       bitmap.draw_text(2, 2, BTWIDTH, 16, INFO)
  41.       @b_sprite.bitmap = bitmap
  42.       @b_sprite.x = self.x
  43.       @b_sprite.y = self.y
  44.       @b_sprite.src_rect.height = 16
  45.       @b_sprite.opacity = 0
  46.       @str11f = false
  47.     end
  48.   end
  49.   alias dispose_str11b dispose
  50.   def dispose
  51.     dispose_str11b
  52.     unless N_WINDOW
  53.       @b_sprite.bitmap.dispose
  54.       @b_sprite.dispose
  55.     end
  56.   end
  57.   alias update_str11b update
  58.   def update
  59.     update_str11b
  60.    
  61.     unless N_WINDOW
  62.       if self.visible and (@lines.size > 0 and not @str11f) or
  63.          (@text != nil or self.pause or @index > -1)
  64.         @b_sprite.opacity += W_OPACITY
  65.         h = @b_sprite.src_rect.height
  66.         if @text != nil
  67.           @l = 4
  68.         else
  69.           unless self.pause or @index > -1
  70.             @l = @lines.size
  71.           else
  72.             @l = 4
  73.           end
  74.         end
  75.         if MOVE
  76.           if SPEED == 1
  77.             @b_sprite.src_rect.height = 16 + (@l * 24)
  78.           else
  79.             s = (SPEED - 1)
  80.             @b_sprite.src_rect.height = (h + ((16 + (@l * 24)) * s)) / SPEED
  81.           end
  82.         else
  83.           @b_sprite.src_rect.height = 96 + 16
  84.         end
  85.       else
  86.         @b_sprite.opacity -= W_OPACITY
  87.       end
  88.     else
  89.       if self.visible
  90.         self.back_opacity += W_OPACITY
  91.         self.opacity += W_OPACITY
  92.         self.back_opacity = 200 if self.back_opacity > 200
  93.       else
  94.         self.back_opacity -= W_OPACITY
  95.         self.opacity -= W_OPACITY
  96.       end
  97.     end
  98.   end
  99. end
复制代码
人物信息框,我用的脚本(按顺序放进脚本编辑器,此外,坐标在第二个脚本里改,素材- -你自己看脚本里):
战斗血条对应脚本.zip (6.32 KB, 下载次数: 3)
作者: yangjunyin2002    时间: 2013-6-30 18:40
@576437081 汗!这不是战斗血条(虽然名字叫战斗血条脚本)。。。你需要素材!血槽魔槽+人物名+人物头像+行动条外框!懂?




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