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

Project1

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

[已经过期] 【1645超高经验悬赏】VA战斗显示脸图

[复制链接]

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
跳转到指定楼层
1
发表于 2012-2-23 16:23:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 杂兵天下 于 2012-2-23 20:52 编辑

VA的战斗无法显示脸图,我想要脸图效果,又不想用YEABattleEngine,怎么办?
签名是什么?可以吃么?

Lv1.梦旅人

梦石
0
星屑
149
在线时间
664 小时
注册时间
2011-9-25
帖子
241
2
发表于 2012-2-23 16:35:51 | 只看该作者

点评

你见过YEA么?我要就和那个一样效果的。 不过大侠横版和YEA不兼容,所以。。。  发表于 2012-2-23 16:37
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
3
 楼主| 发表于 2012-2-23 17:11:26 | 只看该作者
本帖最后由 杂兵天下 于 2012-2-23 21:11 编辑

恩,按照这样的思路
RUBY 代码复制
  1. class Scene_Battle < Scene_Base
  2.         alias start_actor_command_selection_old start_actor_command_selection
  3.         def start_actor_command_selection
  4.     start_actor_command_selection_old
  5.                 @actorface = Window_Base.new(0,168,128,128)
  6.     @actorface.draw_face(BattleManager.actor.face_name,BattleManager.actor.face_index,0,0,true)
  7.     @disposit=false
  8.         end
  9.         alias prior_command_old prior_command
  10.         def prior_command
  11.                 @actorface.close if @actorface != nil && @disposit==false
  12.     @disposit=true
  13.                 prior_command_old
  14.         end
  15.         alias next_command_old next_command
  16.         def next_command
  17.                 @actorface.close if @actorface != nil && @disposit==false
  18.     @disposit=true
  19.                 next_command_old
  20.         end
  21. end
签名是什么?可以吃么?
回复

使用道具 举报

Lv4.逐梦者

醉啸 长风万里

梦石
0
星屑
6057
在线时间
6586 小时
注册时间
2007-12-16
帖子
4501

贵宾

4
发表于 2012-2-23 17:33:01 | 只看该作者

这样吧
修改方法:Window_BattleStatus里def draw_item(index)定义下插入
  1. draw_actor_face(actor, index*96, 0)
复制代码
这么简单的东西不需要悬赏那么高啊

点评

如果直接改坐标的话会导致显示不全而不是缩放显示  发表于 2012-2-23 18:01
这个模式太混乱了 要YEA的模式 血条魔条显示在头像下面  发表于 2012-2-23 17:42

还在龟速填坑中
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
5
 楼主| 发表于 2012-2-23 17:47:08 | 只看该作者
本帖最后由 杂兵天下 于 2012-2-24 01:15 编辑


我从YEA中成功提取除了界面
版主把分还我,关闭帖子吧!
RUBY 代码复制
  1. $imported = {} if $imported.nil?
  2. module YEA
  3.   module BATTLE
  4.     BATTLESTATUS_NAME_FONT_SIZE = 20
  5.     BATTLESTATUS_TEXT_FONT_SIZE = 16
  6.     BATTLESTATUS_HPGAUGE_Y_PLUS = 11
  7.     BATTLESTATUS_CENTER_FACES   = false
  8.   end
  9. end
  10. class Window_BattleStatus < Window_Selectable
  11.   def initialize
  12.     super(0, 0, window_width, window_height)
  13.     self.openness = 0
  14.     @party = $game_party.battle_members.clone
  15.   end
  16.   def col_max; return $game_party.max_battle_members; end
  17.   def battle_members; return $game_party.battle_members; end
  18.   def actor; return battle_members[@index]; end
  19.   def update
  20.     super
  21.     return if @party == $game_party.battle_members
  22.     @party = $game_party.battle_members.clone
  23.     refresh
  24.   end
  25.   def draw_item(index)
  26.     return if index.nil?
  27.     clear_item(index)
  28.     actor = battle_members[index]
  29.     rect = item_rect(index)
  30.     return if actor.nil?
  31.     draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
  32.     draw_actor_name(actor, rect.x, rect.y, rect.width-8)
  33.     draw_actor_icons(actor, rect.x, line_height*1, rect.width)
  34.     gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
  35.     contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
  36.     draw_actor_hp(actor, rect.x+2, line_height*2+gx, rect.width-4)
  37.     dw = rect.width/2-2
  38.     dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
  39.     draw_actor_tp(actor, rect.x+2, line_height*3, dw)
  40.     dw = rect.width - rect.width/2 - 2
  41.     draw_actor_mp(actor, rect.x+rect.width/2, line_height*3, dw)
  42.   end
  43.   def item_rect(index)
  44.     rect = Rect.new
  45.     rect.width = contents.width / $game_party.max_battle_members
  46.     rect.height = contents.height
  47.     rect.x = index * rect.width
  48.     if YEA::BATTLE::BATTLESTATUS_CENTER_FACES
  49.       rect.x += (contents.width - $game_party.members.size * rect.width) / 2
  50.     end
  51.     rect.y = 0
  52.     return rect
  53.   end
  54.   def draw_face(face_name, face_index, dx, dy, enabled = true)
  55.     bitmap = Cache.face(face_name)
  56.     fx = [(96 - item_rect(0).width + 1) / 2, 0].max
  57.     fy = face_index / 4 * 96 + 2
  58.     fw = [item_rect(0).width - 4, 92].min
  59.     rect = Rect.new(fx, fy, fw, 92)
  60.     rect = Rect.new(face_index % 4 * 96 + fx, fy, fw, 92)
  61.     contents.blt(dx, dy, bitmap, rect, enabled ? 255 : translucent_alpha)
  62.     bitmap.dispose
  63.   end
  64.   def draw_actor_name(actor, dx, dy, dw = 112)
  65.     reset_font_settings
  66.     contents.font.size = YEA::BATTLE::BATTLESTATUS_NAME_FONT_SIZE
  67.     change_color(hp_color(actor))
  68.     draw_text(dx+24, dy, dw-24, line_height, actor.name)
  69.   end
  70.   def draw_current_and_max_values(dx, dy, dw, current, max, color1, color2)
  71.     change_color(color1)
  72.     draw_text(dx, dy, dw, line_height, current.group, 2)
  73.   end
  74.   def draw_actor_hp(actor, dx, dy, width = 124)
  75.     draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  76.     change_color(system_color)
  77.     cy = (Font.default_size - contents.font.size) / 2 + 1
  78.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
  79.     draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
  80.       hp_color(actor), normal_color)
  81.     end
  82.   def draw_actor_mp(actor, dx, dy, width = 124)
  83.     draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
  84.     change_color(system_color)
  85.     cy = (Font.default_size - contents.font.size) / 2 + 1
  86.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
  87.     draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
  88.       mp_color(actor), normal_color)
  89.     end
  90.   def draw_actor_tp(actor, dx, dy, width = 124)
  91.     draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
  92.     change_color(system_color)
  93.     cy = (Font.default_size - contents.font.size) / 2 + 1
  94.     draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
  95.     change_color(tp_color(actor))
  96.     draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  97.   end
  98. end

恩,以上是究极精简版。保留了所有我所求的功能,去掉了其他无用的程序
@仲秋启明@zhixin1997@各种压力的猫君@亿万星辰@fux2@灼眼的夏娜
我知道很多人其实是挂名版主,但是还是召唤下。
谢谢。���������

点评

囧  发表于 2012-2-23 17:59
改下坐标不就行了  发表于 2012-2-23 17:56
签名是什么?可以吃么?
回复

使用道具 举报

Lv3.寻梦者

虚空人形

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

贵宾

6
发表于 2012-2-24 23:21:47 | 只看该作者
等一下,我测试时72行报错,我把70-72行删掉后才用得了。

点评

但如果安装了补丁,则不能安装YEA| Core Engine 切记!  发表于 2012-2-25 11:09
你可以试着安装YEA| Debug Extension。 如果你在墙内看不到yanflychannel,可以用以下补丁: class Numeric;def group; return self.to_s; end;end  发表于 2012-2-25 11:08
为何我测试不报错呢。。。  发表于 2012-2-25 11:04
发表于 2012-2-25 11:02
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
66
在线时间
140 小时
注册时间
2012-2-6
帖子
384
7
 楼主| 发表于 2012-3-2 10:55:12 | 只看该作者
本帖最后由 杂兵天下 于 2012-3-2 17:15 编辑

版主把分还给我啊!!!
@仲秋启明随便PM某个版主。。。
还我分来。。。。。。
签名是什么?可以吃么?
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 21:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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