查看: 5733|回复: 6

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

[复制链接]
梦石
0
星屑
67
在线时间
140 小时
注册时间
2012-2-6
回帖
351
发表于 2012-2-23 16:23:57 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 杂兵天下 于 2012-2-23 20:52 编辑

VA的战斗无法显示脸图,我想要脸图效果,又不想用YEABattleEngine,怎么办?
签名是什么?可以吃么?
梦石
0
星屑
194
在线时间
667 小时
注册时间
2011-9-25
回帖
216
发表于 2012-2-23 16:35:51 | 显示全部楼层

点评

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

使用道具 举报

梦石
0
星屑
67
在线时间
140 小时
注册时间
2012-2-6
回帖
351
 楼主| 发表于 2012-2-23 17:11:26 | 显示全部楼层
本帖最后由 杂兵天下 于 2012-2-23 21:11 编辑

恩,按照这样的思路[pre lang="ruby" line="1"]class Scene_Battle < Scene_Base
        alias start_actor_command_selection_old start_actor_command_selection
        def start_actor_command_selection
    start_actor_command_selection_old
                @actorface = Window_Base.new(0,168,128,128)
    @actorface.draw_face(BattleManager.actor.face_name,BattleManager.actor.face_index,0,0,true)
    @disposit=false
        end
        alias prior_command_old prior_command
        def prior_command
                @actorface.close if @actorface != nil && @disposit==false
    @disposit=true
                prior_command_old
        end
        alias next_command_old next_command
        def next_command
                @actorface.close if @actorface != nil && @disposit==false
    @disposit=true
                next_command_old
        end
end[/pre]
签名是什么?可以吃么?
回复

使用道具 举报

醉啸 长风万里

梦石
0
星屑
6512
在线时间
6616 小时
注册时间
2007-12-16
回帖
4301

贵宾

发表于 2012-2-23 17:33:01 | 显示全部楼层
未命名.jpg
这样吧
修改方法: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

还在龟速填坑中
回复

使用道具 举报

梦石
0
星屑
67
在线时间
140 小时
注册时间
2012-2-6
回帖
351
 楼主| 发表于 2012-2-23 17:47:08 | 显示全部楼层
本帖最后由 杂兵天下 于 2012-2-24 01:15 编辑

啊
我从YEA中成功提取除了界面
版主把分还我,关闭帖子吧!
[pre lang="ruby" line="1"]$imported = {} if $imported.nil?
module YEA
  module BATTLE
    BATTLESTATUS_NAME_FONT_SIZE = 20
    BATTLESTATUS_TEXT_FONT_SIZE = 16
    BATTLESTATUS_HPGAUGE_Y_PLUS = 11
    BATTLESTATUS_CENTER_FACES   = false
  end
end
class Window_BattleStatus < Window_Selectable
  def initialize
    super(0, 0, window_width, window_height)
    self.openness = 0
    @party = $game_party.battle_members.clone
  end
  def col_max; return $game_party.max_battle_members; end
  def battle_members; return $game_party.battle_members; end
  def actor; return battle_members[@index]; end
  def update
    super
    return if @party == $game_party.battle_members
    @party = $game_party.battle_members.clone
    refresh
  end
  def draw_item(index)
    return if index.nil?
    clear_item(index)
    actor = battle_members[index]
    rect = item_rect(index)
    return if actor.nil?
    draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
    draw_actor_name(actor, rect.x, rect.y, rect.width-8)
    draw_actor_icons(actor, rect.x, line_height*1, rect.width)
    gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
    contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
    draw_actor_hp(actor, rect.x+2, line_height*2+gx, rect.width-4)
    dw = rect.width/2-2
    dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
    draw_actor_tp(actor, rect.x+2, line_height*3, dw)
    dw = rect.width - rect.width/2 - 2
    draw_actor_mp(actor, rect.x+rect.width/2, line_height*3, dw)
  end
  def item_rect(index)
    rect = Rect.new
    rect.width = contents.width / $game_party.max_battle_members
    rect.height = contents.height
    rect.x = index * rect.width
    if YEA::BATTLE::BATTLESTATUS_CENTER_FACES
      rect.x += (contents.width - $game_party.members.size * rect.width) / 2
    end
    rect.y = 0
    return rect
  end
  def draw_face(face_name, face_index, dx, dy, enabled = true)
    bitmap = Cache.face(face_name)
    fx = [(96 - item_rect(0).width + 1) / 2, 0].max
    fy = face_index / 4 * 96 + 2
    fw = [item_rect(0).width - 4, 92].min
    rect = Rect.new(fx, fy, fw, 92)
    rect = Rect.new(face_index % 4 * 96 + fx, fy, fw, 92)
    contents.blt(dx, dy, bitmap, rect, enabled ? 255 : translucent_alpha)
    bitmap.dispose
  end
  def draw_actor_name(actor, dx, dy, dw = 112)
    reset_font_settings
    contents.font.size = YEA::BATTLE::BATTLESTATUS_NAME_FONT_SIZE
    change_color(hp_color(actor))
    draw_text(dx+24, dy, dw-24, line_height, actor.name)
  end
  def draw_current_and_max_values(dx, dy, dw, current, max, color1, color2)
    change_color(color1)
    draw_text(dx, dy, dw, line_height, current.group, 2)
  end
  def draw_actor_hp(actor, dx, dy, width = 124)
    draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
      hp_color(actor), normal_color)
    end
  def draw_actor_mp(actor, dx, dy, width = 124)
    draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
    draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
      mp_color(actor), normal_color)
    end
  def draw_actor_tp(actor, dx, dy, width = 124)
    draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
    change_color(system_color)
    cy = (Font.default_size - contents.font.size) / 2 + 1
    draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
    change_color(tp_color(actor))
    draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
  end
end
[/pre]
恩,以上是究极精简版。保留了所有我所求的功能,去掉了其他无用的程序
@仲秋启明@zhixin1997@各种压力的猫君@亿万星辰@fux2@灼眼的夏娜
我知道很多人其实是挂名版主,但是还是召唤下。
谢谢。���������

点评

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

使用道具 举报

虚空人形

梦石
0
星屑
4866
在线时间
2037 小时
注册时间
2011-8-11
回帖
3260

贵宾

发表于 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
回复

使用道具 举报

梦石
0
星屑
67
在线时间
140 小时
注册时间
2012-2-6
回帖
351
 楼主| 发表于 2012-3-2 10:55:12 | 显示全部楼层
本帖最后由 杂兵天下 于 2012-3-2 17:15 编辑

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

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部