Project1
标题:
如何实现显示职业称号?
[打印本页]
作者:
美丽晨露
时间:
2012-12-21 19:11
标题:
如何实现显示职业称号?
本帖最后由 美丽晨露 于 2012-12-22 17:19 编辑
就是在每个职业后面显示一个称号
然后这些称号可以在游戏中更换
作者:
匈魔剑
时间:
2012-12-22 09:37
本帖最后由 匈魔剑 于 2012-12-22 09:40 编辑
我写了个,插到main前就可以。
你可以参考着改改
59行是改颜色。
31和43行是改坐标。
使用时,直接在事件脚本里写cheng(角色编号, 称号)就可以了。
如果写cheng(角色编号, “”)或者cheng(角色编号, nil),就是删除这个角色的称号
范例:
http://pan.baidu.com/share/link?shareid=168975&uk=738612603&third=0
# 存储称号的全局变量
$TitleName=[]
class Interpreter
# 变更称号方法
def cheng(num, name)
if name!=nil && name!=""
$TitleName[num]=name
else
$TitleName[num]=nil
end
end
end
#==============================================================================
# ■ Window_MenuStatus
#==============================================================================
class Window_MenuStatus < Window_Selectable
alias ori_refresh refresh
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
ori_refresh
for i in 0...$game_party.actors.size
x = 64
y = i * 116
actor = $game_party.actors[i]
draw_actor_titleName(actor, x + 236, y)
end
end
end
#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Base
alias ori_refresh refresh
def refresh
ori_refresh
draw_actor_titleName(@actor, 4 + 236, 0)
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● 称号的描绘
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
#--------------------------------------------------------------------------
def draw_actor_titleName(actor, x, y)
#self.contents.font.color = normal_color
self.contents.font.color = Color.new(255,155,155,255)
tname = $TitleName[actor.actor_id]
tname = "" if tname==nil
self.contents.draw_text(x, y, 236, 32, tname)
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
attr_reader :actor_id # id
end
#==============================================================================
# ■ Scene_Save
#==============================================================================
class Scene_Save < Scene_File
alias ori_sd write_save_data
def write_save_data(file)
ori_sd(file)
Marshal.dump($TitleName, file)
end
end
#==============================================================================
# ■ Scene_Load
#==============================================================================
class Scene_Load < Scene_File
alias ori_rd read_save_data
def read_save_data(file)
ori_rd(file)
$TitleName = Marshal.load(file)
end
end
复制代码
作者:
美丽晨露
时间:
2012-12-22 10:36
匈魔剑 发表于 2012-12-22 09:37
我写了个,插到main前就可以。
你可以参考着改改
59行是改颜色。
非常感谢
这样的效果还算不错。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1