赞 | 0 |
VIP | 0 |
好人卡 | 6 |
积分 | 1 |
经验 | 4307 |
最后登录 | 2021-5-17 |
在线时间 | 160 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 160 小时
- 注册时间
- 2012-2-10
- 帖子
- 98
|
本帖最后由 狂歌天涯 于 2012-2-20 18:35 编辑
呵呵,俺也是一个菜鸟,刚开始接触,研究了一整天,继续14楼的话题,主要改掉的是绘制项目那一项
# ■ Window_MenuStatus
#------------------------------------------------------------------------------
# 菜单画面中,显示队伍成员状态的窗口
#==============================================================================
class Window_MenuStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_reader :pending_index # 保留位置(整队用)
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize(x, y)
super(0, 48, 640, 290)
@pending_index = -1
refresh
end
#--------------------------------------------------------------------------
# ● 获取窗口的宽度
#--------------------------------------------------------------------------
def window_width
Graphics.width - 160
end
#--------------------------------------------------------------------------
# ● 获取窗口的高度
#--------------------------------------------------------------------------
def window_height
Graphics.height
end
#--------------------------------------------------------------------------
# ● 获取项目数
#--------------------------------------------------------------------------
def item_max
$game_party.members.size
end
#--------------------------------------------------------------------------
# ● 获取项目的高度
#--------------------------------------------------------------------------
def item_height
(height - standard_padding * 2) / 4
end
#--------------------------------------------------------------------------
# ● 获取项目的kuan度
#--------------------------------------------------------------------------
def item_width
(width - standard_padding * 2) / 4
end
#----------------------------
#--------------------------------------------------------------------------
# ● 绘制项目
#--------------------------------------------------------------------------
def draw_item(index)
actor = $game_party.members[index]
enabled = $game_party.battle_members.include?(actor)
rect = item_rect(index)
draw_item_background(index)
draw_actor_face(actor, rect.x + 20, rect.y + 1, enabled)
draw_actor_name(actor, rect.x + 0, rect.y+110)
draw_actor_nickname(actor, rect.x + 0, rect.y+140)
draw_actor_level(actor, rect.x + 0, rect.y+170)
draw_actor_hp(actor, rect.x + 0, rect.y+200)
draw_actor_mp(actor, rect.x + 0, rect.y+230)
draw_actor_class(actor, rect.x + 75, rect.y+110)
end
#--------------------------------------------------------------------------
# ● 绘制项目的背景
#--------------------------------------------------------------------------
def draw_item_background(index)
if index == @pending_index
contents.fill_rect(item_rect(index), pending_color)
end
end
#--------------------------------------------------------------------------
# ● 按下确定键时的处理
#--------------------------------------------------------------------------
def process_ok
super
$game_party.menu_actor = $game_party.members[index]
end
#--------------------------------------------------------------------------
# ● 返回上一个选择的位置
#--------------------------------------------------------------------------
def select_last
select($game_party.menu_actor.index || 0)
end
#--------------------------------------------------------------------------
# ● 设置保留位置(整队用)
#--------------------------------------------------------------------------
def pending_index=(index)
last_pending_index = @pending_index
@pending_index = index
redraw_item(@pending_index)
redraw_item(last_pending_index)
end
end
Window_MenuStatus改成这样后,名字、称号、hp值等就都到了头像的下面,但是多角色的状态下还是显示的只是一个角色,怎样让角色横排显示呢?
下面更改Window_Selectable这个窗口
‘‘──狂歌天涯于2012-2-20 18:07补充以下内容
更改Window_Selectable就简单了,
# ● 获取列数
#--------------------------------------------------------------------------
def col_max
return 4
end
#--------------------------------------------------------------------------
# ● 获取行间距的宽度
#--------------------------------------------------------------------------
def spacing
return 5
end
只是更改了这个项目,这回看一看应该清楚了
这里看着是舒服了,可是开始画面里的开始游戏等选择变成横着的了,还有特技窗口、装备窗口等等都变成横着的了,这个也好办,在这些窗口脚本(Window_TitleCommand、Window_SkillCommand、Window_EquipSlot、Window_GameEnd 等等所有可能变成横向显示的窗口)里面的显示行数上面插上一句
# ● 获取列数
#--------------------------------------------------------------------------
def col_max
return 1
end
好了,这些窗口就又变成原样了。
嘿嘿,可能对于高手不算什么,但对于我们自己来说,很有成就感哈。 |
评分
-
查看全部评分
|