查看: 73|回复: 0

[转载发布] 【ISA】敌人名字显示 - Monster Name Display

[复制链接]
  • TA的每日心情
    开心
    2024-5-10 09:55
  • 签到天数: 37 天

    连续签到: 3 天

    [LV.5]常住居民I

    2028

    主题

    32

    回帖

    7260

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    0
    卡币
    5184
    OK点
    16
    积分
    7260
    发表于 同元一千年八月三日(秋) | 显示全部楼层 |阅读模式
    1. #==============================================================================# ■ 【ISA】敌人名字显示 - Monster Name Display#------------------------------------------------------------------------------# - 2011.2.19#   初始化 忧雪の伤# - 2011.2.20#   更新 忧雪の伤# - 2011.2.25#   更新 忧雪の伤# - 2011.2.26#   更新 忧雪の伤#______________________________________________________________________________# # 追加敌人战斗中名字的显示。##==============================================================================#==============================================================================# ★ 设定部分 ★#==============================================================================module ISA   # 功能开关  MND = true  # 字体名称  MND_FONT_NAME = ["黑体"]  # 字体大小  MND_FONT_SIZE = 16  # 字体颜色  MND_FONT_COLOR = Color.new(255, 255, 255, 255)  # 字体描边  MND_FONT_SHADOW = true  # 字体描边颜色  MND_FONT_SHADOW_COLOR = Color.new(-255, -255, -255, 255)  # 字体粗体  MND_FONT_BOLD = true  # 字体斜体  MND_FONT_ITALIC = false  # X坐标修正  MND_X_PLUS = -80  # Y坐标修正  MND_Y_PLUS = -60  # 透明度设定  MND_WINDOW_OPACITY = 0end#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★# 注册【ISA】$ISA = {} if $ISA == nil$ISA["MND"] = true#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★  #==============================================================================# ■ ISA_Window_Enemy_Name#------------------------------------------------------------------------------#  显示战斗画面敌人名字的窗口。#==============================================================================class ISA_Window_Enemy_Name < Window_Base  #--------------------------------------------------------------------------  # ● 初始化对像  #--------------------------------------------------------------------------  def initialize(x, y, id)    super(0, 0, 160, 64)    # 创建描绘区域    self.contents = Bitmap.new(width - 32, height - 32)    # 读取透明度    self.opacity = ISA::MND_WINDOW_OPACITY    # 坐标修正    self.x = x + ISA::MND_X_PLUS    self.y = y + ISA::MND_Y_PLUS    # 代入id    @id = id    refresh  end  #--------------------------------------------------------------------------  # ● 刷新  #--------------------------------------------------------------------------  def refresh    self.contents.clear    # 读取敌人    @enemy = $game_troop.enemies[@id]    # 读取名字    text = @enemy.name     # 读取字体设定    self.contents.font.name = ISA::MND_FONT_NAME    self.contents.font.size = ISA::MND_FONT_SIZE    self.contents.font.bold = ISA::MND_FONT_BOLD    self.contents.font.italic = ISA::MND_FONT_ITALIC    # 描边部分    if ISA::MND_FONT_SHADOW == true      # 读取描边色      self.contents.font.color = ISA::MND_FONT_SHADOW_COLOR      # 同时向八个方向扩展描绘      self.contents.draw_text(1, 0, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(0, 1, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(-1, 0, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(0, -1, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(1, 1, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(-1, -1, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(1, -1, self.width - 32, self.height - 32, text,1) if ISA::MND      self.contents.draw_text(-1, 1, self.width - 32, self.height - 32, text,1) if ISA::MND    end    # 主要部分    self.contents.font.color = ISA::MND_FONT_COLOR    self.contents.draw_text(0, 0, self.width - 32, self.height - 32, text,1) if ISA::MND  endend  #==============================================================================# ■ Scene_Battle #------------------------------------------------------------------------------#  处理战斗画面的类。#==============================================================================class Scene_Battle  #--------------------------------------------------------------------------  # ● 主处理  #--------------------------------------------------------------------------  alias old_main main  def main    # 声明别名    # 准备队伍    @troop_id = $game_temp.battle_troop_id    $game_troop.setup(@troop_id)    # 生成数组    @ISA_Enemy_Name_window = []    for i in 0...$game_troop.enemies.size      # 获取敌人      @enemy = $game_troop.enemies[i]      # 读取画面X、Y坐标      actor_x = @enemy.screen_x      actor_y = @enemy.screen_y      # 生成窗口      @ISA_Enemy_Name_window[i] = ISA_Window_Enemy_Name.new(actor_x, actor_y, @enemy.id)      @ISA_Enemy_Name_window[i].visible = true       @ISA_Enemy_Name_window[i].z -= 101      # => p @ISA_Enemy_Name_window[i].z    end    # 调用其他    old_main  end  #--------------------------------------------------------------------------  # ● 刷新画面  #--------------------------------------------------------------------------  alias old_update update  def update    # 全员死亡或者不存在队员的场合    if $game_party.all_dead? or $game_party.actors.size == 0       for i in 0...$game_troop.enemies.size        # 判断关闭        @ISA_Enemy_Name_window[i].visible = false       end    end    # 调用其他    old_update  end  #--------------------------------------------------------------------------  # ● 战斗结束  #     result : 結果 (0:胜利 1:失败 2:逃跑)  #--------------------------------------------------------------------------  alias old_battle_end battle_end  def battle_end(result)    # 声明别名    for i in 0...$game_troop.enemies.size      # 判断关闭      @ISA_Enemy_Name_window[i].visible = false     end    # 调用其他    old_battle_end(result)  end  #--------------------------------------------------------------------------  # ● 刷新画面 (主回合步骤 6 : 刷新)  #--------------------------------------------------------------------------  alias old_update_phase4_step6 update_phase4_step6  def update_phase4_step6    # 声明别名    for i in 0...$game_troop.enemies.size      # 获取敌人      @enemy = $game_troop.enemies[i]      if @enemy.hp0?         # 判断关闭        @ISA_Enemy_Name_window[i].visible = false       end    end    # 调用其他    old_update_phase4_step6  endend复制代码
    复制代码


    截图:

                 本帖来自P1论坛作者忧雪の伤,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=168073  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。

    本帖子中包含更多资源

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

    x
    天天去同能,天天有童年!
    回复 论坛版权

    使用道具 举报

    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2024-5-21 01:18 , Processed in 0.047125 second(s), 44 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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