Project1
标题:
怎么然45度战斗显示角色的名字
[打印本页]
作者:
没有马甲
时间:
2011-2-19 10:59
提示:
作者被禁止或删除 内容自动屏蔽
作者:
忧雪の伤
时间:
2011-2-19 14:33
读取角色坐标。
显示名字。
作者:
冰舞蝶恋
时间:
2011-2-19 14:46
难道是actor.name?好吧,脚本无力,XP脚本更无力的菜鸟撸过...
作者:
没有马甲
时间:
2011-2-19 15:19
提示:
作者被禁止或删除 内容自动屏蔽
作者:
忧雪の伤
时间:
2011-2-19 15:22
没有马甲 发表于 2011-2-19 15:19
回复 忧雪の伤 的帖子
您说的是啥意思啊,说清楚点可以么?
新建一个显示名称的窗口,在战斗画面生成,
读取角色坐标名称以及生成。
作者:
忧雪の伤
时间:
2011-2-19 19:56
本帖最后由 忧雪の伤 于 2011-2-20 15:31 编辑
#==============================================================================
# ■ 【ISA】敌人名字显示 - Monster Name Display
#------------------------------------------------------------------------------
# initialize(1) => date(2011.2.19) => by(忧雪の伤)
# update(2) => date(2011.2.20) => by(忧雪の伤)
# _____________________________________________________________________________
# ● 追加敌人战斗中名字的显示。
#==============================================================================
#==============================================================================
# ★ 设定部分 ★
#==============================================================================
module ISA
# 功能开关
MND = true
# 字体名称
MND_FONT_NAME = ["黑体"]
# 字体大小
MND_FONT_SIZE = 22
# 字体颜色
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 = -80
# 透明度设定
MND_WINDOW_OPACITY = 0
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
# 注册【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.opacity = 0 if ISA::MND
# 坐标修正
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
# 消失判定
text = "" if @enemy.hp0?
self.opacity = 0 if @enemy.hp0?
# 读取字体设定
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
end
end
#==============================================================================
# ■ 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)
end
# 调用其他
old_main
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias old_update update
def update
# 声明别名
for i in 0...$game_troop.enemies.size
# 获取敌人
@enemy = $game_troop.enemies[i]
# 判断关闭
@ISA_Enemy_Name_window[i].visible = false if @enemy.hp0?
end
# 调用其他
old_update
end
#--------------------------------------------------------------------------
# ● 开始结束战斗回合
#--------------------------------------------------------------------------
alias old_start_phase5 start_phase5
def start_phase5
# 声明别名
# 释放窗口
for i in @ISA_Enemy_Name_window
i.dispose
end
# 调用其他
old_start_phase5
end
end
复制代码
作者:
没有马甲
时间:
2011-2-20 16:08
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1