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

Project1

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

[已经解决] VA战斗时显示文章是否可以达到以下效果

[复制链接]

Lv3.寻梦者

虚空人形

梦石
0
星屑
4557
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

跳转到指定楼层
1
发表于 2012-12-20 13:49:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 hcm 于 2012-12-20 23:50 编辑

如图,显示文章和信息(在上方)时,我方的状态栏没有消失。
原本VA只有战斗时的行动信息才会在上方显示。

未命名.jpg (129.71 KB, 下载次数: 23)

未命名.jpg

未命名2.jpg (117.99 KB, 下载次数: 22)

未命名2.jpg

未命名3.jpg (120.63 KB, 下载次数: 21)

未命名3.jpg

Lv1.梦旅人

梦石
0
星屑
74
在线时间
154 小时
注册时间
2012-10-7
帖子
45
2
发表于 2012-12-20 20:59:44 | 只看该作者
在Scene_Battle脚本中135那行修改,把136行和138行的status_window.close修改成status_window.open就行了。
  1. Scene_Battle < Scene_Base
  2. def update_message_open
  3.     if $game_message.busy? && !@status_window.open?#close
  4.       @message_window.openness = 0
  5.       @status_window.open#close
  6.       @party_command_window.close
  7.       @actor_command_window.close
  8.     end
  9.   end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

虚空人形

梦石
0
星屑
4557
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

3
 楼主| 发表于 2012-12-20 21:50:15 | 只看该作者
uuiio797 发表于 2012-12-20 20:59
在Scene_Battle脚本中135那行修改,把136行和138行的status_window.close修改成status_window.open就行了。 ...

如果说是这样改的话没反应哦:
  1.   def update_message_open
  2.     if $game_message.busy? && !@status_window.close?
  3.       @message_window.openness = 0
  4.       @status_window.open
  5.       @party_command_window.close
  6.       @actor_command_window.open
  7.     end
  8.   end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
74
在线时间
154 小时
注册时间
2012-10-7
帖子
45
4
发表于 2012-12-20 21:56:56 | 只看该作者
136那行最后的!@status_window.close?改成!@status_window.open?就行了

点评

hcm
把战斗画面的显示信息的全部效果截图了,可以再帮看一下吗?  发表于 2012-12-20 23:42
回复 支持 反对

使用道具 举报

Lv3.寻梦者

虚空人形

梦石
0
星屑
4557
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

5
 楼主| 发表于 2012-12-20 23:08:49 | 只看该作者
uuiio797 发表于 2012-12-20 21:56
136那行最后的!@status_window.close?改成!@status_window.open?就行了

这样是可以,但是在战斗开始的信息和战斗结束的信息显示状态栏也不消失,
是否可以改变这些信息提示的坐标?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
74
在线时间
154 小时
注册时间
2012-10-7
帖子
45
6
发表于 2012-12-21 14:36:39 | 只看该作者
本帖最后由 uuiio797 于 2012-12-21 14:47 编辑
hcm 发表于 2012-12-20 23:08
这样是可以,但是在战斗开始的信息和战斗结束的信息显示状态栏也不消失,
是否可以改变这些信息提示的坐 ...


复制该脚本到外挂脚本那就行了。
修改战斗显示文章信息的脚本:
RUBY 代码复制
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ BattleManager
  4. #------------------------------------------------------------------------------
  5. #  战斗信息文章位置修改。
  6. #==============================================================================
  7.  
  8. module BattleManager
  9.  
  10.   #--------------------------------------------------------------------------
  11.   # ● 戰鬥開始 【再定义】
  12.   #--------------------------------------------------------------------------
  13.   def self.battle_start
  14.     $game_system.battle_count += 1
  15.     $game_party.on_battle_start
  16.     $game_troop.on_battle_start
  17.     $game_troop.enemy_names.each do |name|
  18.       $game_message.add(sprintf(Vocab::Emerge, name))# 战斗开始显示的文章(普通遇敌)
  19.       $game_message.position = 0 # 显示文章的位置:0上1中2下
  20.     end
  21.     if @preemptive
  22.       $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))# 战斗开始显示的文章(先发制人)
  23.       $game_message.position = 0
  24.     elsif @surprise
  25.       $game_message.add(sprintf(Vocab::Surprise, $game_party.name))# 战斗开始显示的文章(被敌人偷袭)
  26.       $game_message.position = 0
  27.     end
  28.     wait_for_message
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 勝利時的處理【再定义】
  32.   #--------------------------------------------------------------------------
  33.   def self.process_victory
  34.     play_battle_end_me
  35.     replay_bgm_and_bgs
  36.     $game_message.add(sprintf(Vocab::Victory, $game_party.name))# 胜利显示的文章
  37.     $game_message.position = 0
  38.     display_exp
  39.     gain_gold
  40.     gain_drop_items
  41.     gain_exp
  42.     SceneManager.return
  43.     battle_end(0)
  44.     return true
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 撤退時的處理【再定义】
  48.   #--------------------------------------------------------------------------
  49.   def self.process_escape
  50.     $game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))# 撤退成功的文章
  51.     $game_message.position = 0
  52.     success = @preemptive ? true : (rand < @escape_ratio)
  53.     Sound.play_escape
  54.     if success
  55.       process_abort
  56.     else
  57.       @escape_ratio += 0.1
  58.       $game_message.add('\.' + Vocab::EscapeFailure)# 撤退失败的文章
  59.       $game_message.position = 0
  60.       $game_party.clear_actions
  61.     end
  62.     wait_for_message
  63.     return success
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 全滅時的處理
  67.   #--------------------------------------------------------------------------
  68.   def self.process_defeat
  69.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  70.     $game_message.position = 0
  71.     wait_for_message
  72.     if @can_lose
  73.       revive_battle_members
  74.       replay_bgm_and_bgs
  75.       SceneManager.return
  76.     else
  77.       SceneManager.goto(Scene_Gameover)
  78.     end
  79.     battle_end(2)
  80.     return true
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 顯示獲得的經驗值【再定义】
  84.   #--------------------------------------------------------------------------
  85.   def self.display_exp
  86.     if $game_troop.exp_total > 0
  87.       text = sprintf(Vocab::ObtainExp, $game_troop.exp_total)
  88.       $game_message.add('\.' + text)# 获得经验的文章
  89.       $game_message.position = 0
  90.     end
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 顯示獲得的金錢【再定义】
  94.   #--------------------------------------------------------------------------
  95.   def self.gain_gold
  96.     if $game_troop.gold_total > 0
  97.       text = sprintf(Vocab::ObtainGold, $game_troop.gold_total)
  98.       $game_message.add('\.' + text)# 获得金钱的文章
  99.       $game_message.position = 0
  100.       $game_party.gain_gold($game_troop.gold_total)
  101.     end
  102.     wait_for_message
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 顯示獲得的物品【再定义】
  106.   #--------------------------------------------------------------------------
  107.   def self.gain_drop_items
  108.     $game_troop.make_drop_items.each do |item|
  109.       $game_party.gain_item(item, 1)
  110.       $game_message.add(sprintf(Vocab::ObtainItem, item.name))# 获得物品的文章
  111.       $game_message.position = 0
  112.     end
  113.     wait_for_message
  114.   end
  115. end
回复 支持 反对

使用道具 举报

Lv3.寻梦者

虚空人形

梦石
0
星屑
4557
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

7
 楼主| 发表于 2012-12-21 16:01:02 | 只看该作者
uuiio797 发表于 2012-12-21 14:36
复制该脚本到外挂脚本那就行了。
修改战斗显示文章信息的脚本:
#encoding:utf-8


位置问题解决了,
本想继续按图上那样,先把窗口本身去掉或改为暗化,
按通常去掉窗口的方法是在初始化 end 前面加 self.opacity = 0后插入一段def draw_background...什么的
不过该脚本好像没有适合插入的地方。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
74
在线时间
154 小时
注册时间
2012-10-7
帖子
45
8
发表于 2012-12-21 16:46:06 | 只看该作者
插入外挂脚本下面就行了。

2012-12-21_164652.png (25.55 KB, 下载次数: 21)

2012-12-21_164652.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

虚空人形

梦石
0
星屑
4557
在线时间
2037 小时
注册时间
2011-8-11
帖子
3398

贵宾

9
 楼主| 发表于 2012-12-21 17:24:53 | 只看该作者
uuiio797 发表于 2012-12-21 16:46
插入外挂脚本下面就行了。

显然不可以直接插入啊
  1.   def initialize
  2.     super(0, 0, window_width, window_height)
  3.     self.z = 200
  4.     self.opacity = 0
  5.     @lines = []
  6.     @num_wait = 0
  7.     create_back_bitmap
  8.     create_back_sprite
  9.     refresh
  10.   end
  11. #————————————————————————————————
  12.   def create_back_sprite
  13.     @back_sprite = Sprite.new
  14.     @back_sprite.bitmap = @back_bitmap
  15.     @back_sprite.y = y
  16.     @back_sprite.z = z - 1
  17.   end
  18.   def dispose_back_bitmap
  19.     @back_bitmap.dispose
  20.   end
  21.   def dispose_back_sprite
  22.     @back_sprite.dispose
  23.   end
  24.   def clear
  25.     @num_wait = 0
  26.     @lines.clear
  27.     refresh
  28.   end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
74
在线时间
154 小时
注册时间
2012-10-7
帖子
45
10
发表于 2012-12-21 19:05:30 | 只看该作者
hcm 发表于 2012-12-21 17:24
显然不可以直接插入啊

该脚本主要做什么?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-16 09:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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