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

Project1

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

[已经解决] 请问如何取消战斗状态栏里的文字

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
73
在线时间
24 小时
注册时间
2008-8-4
帖子
113
跳转到指定楼层
1
发表于 2009-9-30 14:43:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 zoeylau 于 2009-9-30 17:12 编辑

就是 战斗时   角色名字  HP  SP   【正常】  这些文字


我打算直接用显示图片 来替换这些 ,  现在图片我已经插入了   默认的框也弄透明化了
  请问如何把默认的那些字删掉(屏蔽)?

Lv2.观梦者

梦石
0
星屑
579
在线时间
169 小时
注册时间
2008-10-29
帖子
431
2
发表于 2009-9-30 15:40:23 | 只看该作者
脚本 给出来看看
这个还是满简单的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
73
在线时间
24 小时
注册时间
2008-8-4
帖子
113
3
 楼主| 发表于 2009-9-30 15:52:56 | 只看该作者
就是默认脚本  没用别的  大概是这个吧?


#==============================================================================
# ■ Spriteset_Battle
#------------------------------------------------------------------------------
#  处理战斗画面的活动块的类。本类在 Scene_Battle 类
# 的内部使用。
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● 定义实例变量
  #--------------------------------------------------------------------------
  attr_reader   :viewport1                # 敌人方的显示端口
  attr_reader   :viewport2                # 角色方的显示端口
  #--------------------------------------------------------------------------
  # ● 初始化变量
  #--------------------------------------------------------------------------
  def initialize
    # 生成显示端口
    @viewport1 = Viewport.new(0, 0, 640, 480)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport4 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 101
    @viewport3.z = 200
    @viewport4.z = 5000
    # 生成战斗背景活动块
    @battleback_sprite = Sprite.new(@viewport1)
    # 生成敌人活动块
    @enemy_sprites = []
    for enemy in $game_troop.enemies.reverse
      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
    end
    # 生成敌人活动块
    @actor_sprites = []
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    @actor_sprites.push(Sprite_Battler.new(@viewport2))
    # 生成天候
    @weather = RPG::Weather.new(@viewport1)
    # 生成图片活动块
    @picture_sprites = []
    for i in 51..100
      @picture_sprites.push(Sprite_Picture.new(@viewport3,
        $game_screen.pictures[i]))
    end
    # 生成计时器块
    @timer_sprite = Sprite_Timer.new
    # 刷新画面
    update
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  def dispose
    # 如果战斗背景位图存在的情况下就释放
    if @battleback_sprite.bitmap != nil
      @battleback_sprite.bitmap.dispose
    end
    # 释放战斗背景活动块
    @battleback_sprite.dispose
    # 释放敌人活动块、角色活动块
    for sprite in @enemy_sprites + @actor_sprites
      sprite.dispose
    end
    # 释放天候
    @weather.dispose
    # 释放图片活动块
    for sprite in @picture_sprites
      sprite.dispose
    end
    # 释放计时器活动块
    @timer_sprite.dispose
    # 释放显示端口
    @viewport1.dispose
    @viewport2.dispose
    @viewport3.dispose
    @viewport4.dispose
  end
  #--------------------------------------------------------------------------
  # ● 显示效果中判定
  #--------------------------------------------------------------------------
  def effect?
    # 如果是在显示效果中的话就返回 true
    for sprite in @enemy_sprites + @actor_sprites
      return true if sprite.effect?
    end
    return false
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新角色的活动块 (对应角色的替换)
    @actor_sprites[0].battler = $game_party.actors[0]
    @actor_sprites[1].battler = $game_party.actors[1]
    @actor_sprites[2].battler = $game_party.actors[2]
    @actor_sprites[3].battler = $game_party.actors[3]
    # 战斗背景的文件名与现在情况有差异的情况下
    if @battleback_name != $game_temp.battleback_name
      @battleback_name = $game_temp.battleback_name
      if @battleback_sprite.bitmap != nil
        @battleback_sprite.bitmap.dispose
      end
      @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
      @battleback_sprite.src_rect.set(0, 0, 640, 480)
    end
    # 刷新战斗者的活动块
    for sprite in @enemy_sprites + @actor_sprites
      sprite.update
    end
    # 刷新天气图形
    @weather.type = $game_screen.weather_type
    @weather.max = $game_screen.weather_max
    @weather.update
    # 刷新图片活动块
    for sprite in @picture_sprites
      sprite.update
    end
    # 刷新计时器活动块
    @timer_sprite.update
    # 设置画面的色调与震动位置
    @viewport1.tone = $game_screen.tone
    @viewport1.ox = $game_screen.shake
    # 设置画面的闪烁色
    @viewport4.color = $game_screen.flash_color
    # 刷新显示端口
    @viewport1.update
    @viewport2.update
    @viewport4.update
  end
end
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
579
在线时间
169 小时
注册时间
2008-10-29
帖子
431
4
发表于 2009-9-30 16:08:33 | 只看该作者
不在这里面 你是想直接去掉吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
579
在线时间
169 小时
注册时间
2008-10-29
帖子
431
5
发表于 2009-9-30 16:14:47 | 只看该作者
在Window_Base下面
有如下内容

def draw_actor_hp(actor, `x, y, width = 144)
    # 描绘字符串 "HP"
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    # 计算描绘 MaxHP 所需的空间
    if width - 32 >= 108
      hp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      hp_x = x + width - 48
      flag = false
    end
    # 描绘 HP
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
    self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
    # 描绘 MaxHP
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
    end
  
end
  #--------------------------------------------------------------------------
  # ● 描绘 SP
  #     actor : 角色
  #     x     : 描画目标 X 坐标
  #     y     : 描画目标 Y 坐标
  #     width : 描画目标的宽
  #--------------------------------------------------------------------------
  def draw_actor_sp(actor, x, y, width = 144)
    # 描绘字符串 "SP"
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
    # 计算描绘 MaxSP 所需的空间
    if width - 32 >= 108
      sp_x = x + width - 108
      flag = true
    elsif width - 32 >= 48
      sp_x = x + width - 48
      flag = false
    end
    # 描绘 SP
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
    self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
    # 描绘 MaxSP
    if flag
      self.contents.font.color = normal_color
      self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
      self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
    end
  
end

def draw_actor_state(actor, x, y, width = 120)
    text = make_battler_state_text(actor, width, true)
    self.contents.font.color = actor.hp == 0 ? knockout_color : normal_color
    self.contents.draw_text(x, y, width, 32, text)

  end

把红的都删掉就好了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
73
在线时间
24 小时
注册时间
2008-8-4
帖子
113
6
 楼主| 发表于 2009-9-30 16:21:04 | 只看该作者
本帖最后由 zoeylau 于 2009-9-30 16:34 编辑



是的  我是想直接去掉 HPSP  名字 状态  血条数字也去掉
因为字我在图片里已经做了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
579
在线时间
169 小时
注册时间
2008-10-29
帖子
431
7
发表于 2009-9-30 16:22:55 | 只看该作者
不对不对 上面虽然可以达到效果 但是改得太深了 容易出问题
应该改
Window_Battlestatus 下面的
有如下内容
class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    super(0, 320, 640, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    @level_up_flags = [false, false, false, false]
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  def dispose
    super
  end
  #--------------------------------------------------------------------------
  # ● 设置升级标志
  #     actor_index : 角色索引
  #--------------------------------------------------------------------------
  def level_up(actor_index)
    @level_up_flags[actor_index] = true
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      actor_x = i * 160 + 4
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)

     if @level_up_flags
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
       draw_actor_state(actor, actor_x, 96)
      end
    end
  end

把红色的删掉
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
73
在线时间
24 小时
注册时间
2008-8-4
帖子
113
8
 楼主| 发表于 2009-9-30 16:26:31 | 只看该作者
谢谢···成功了·~
不过角色的名字还没有去掉   那个我也想去掉可以吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
579
在线时间
169 小时
注册时间
2008-10-29
帖子
431
9
发表于 2009-9-30 16:40:52 | 只看该作者
draw_actor_name(actor, actor_x, 0)
那把这句也去掉
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
579
在线时间
169 小时
注册时间
2008-10-29
帖子
431
10
发表于 2009-9-30 16:44:40 | 只看该作者
if @level_up_flags
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
      else
       draw_actor_state(actor, actor_x, 96)
      end
这句是说 平时的时候显示人物状态 比如 正常 什么的
升级的时候显示LEVEL UP!
这是个隐患 升级的时候 会蹦出个 LEVEL UP! 出来
如果LZ这个也不想要 最好 把这整个IF 语句都删了干净
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-6 22:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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