Project1
标题:
请问装备刷新在哪里= =
[打印本页]
作者:
一醉倾城
时间:
2009-2-1 21:41
标题:
请问装备刷新在哪里= =
问一下。当选择装备的时候,有光标让你选择人物的这一个地方的刷新在哪里?比如物品刷新 是有 def update_item 这样。。。。但是我没找到装备的刷新= = 而且,装备好像直接从选择了人物之后才开始刷新的!!!
装备刷新是def update_right这样= =。。。。。。。。我想在这个刷新里用case循环掩盖之都没地方找= = [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
IamI
时间:
2009-2-1 21:46
听不懂= =点击装备以后焦点移动到Window_MenuStatus,然后才进入Scene_Equip
还有很多Selectable要分清楚Update和Refresh哦~
在讲清楚一点= =
作者:
一醉倾城
时间:
2009-2-1 21:52
比如说仙术的刷新是这样,我用了一个CASE图片循环掩盖光标进行选择,注意被#包起来的部分,其他的这样循环都可以了,问题是装备的循环我找不到的样子,他好像直接从def update_right这个开始循环,而没有如技能的def update_skill这样的主菜单的刷新。。。。。。。。。。
def update_skill
#####################################
case @status_window.index
when 0
@arrow_status.x = 28
@arrow_status.y = 47
when 1
@arrow_status.x = 28+124
@arrow_status.y = 47
when 2
@arrow_status.x = 28+124+124
@arrow_status.y = 47
when 3
@arrow_status.x = 28+124+124+124
@arrow_status.y = 47
end
###################################
# 按下 B 键的情况下
if Input.trigger?(Input::B)
@arrow_status.visible = true
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 切换到菜单画面
@skill_help_window.dispose
@skill_window.dispose
@skill_window_icon.dispose
@skill_update = false
@status_window.active = true
@status_window.index = @window_index
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
@arrow_status.visible = false
# 获取特技窗口现在选择的特技的数据
@skill = @skill_window.skill
# 不能使用的情况下
if @skill == nil or not @actor.skill_can_use?(@skill.id)
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 效果范围是我方的情况下
if @skill.scope >= 3
# 激活目标窗口
@skill_window.active = false
@status_window.active = true
# 设置效果范围 (单体/全体) 的对应光标位置
if @skill.scope == 4 || @skill.scope == 6
@status_window.index = -1
elsif @skill.scope == 7
@status_window.index = @actor_index - 10
else
@status_window.index = 0
end
# 效果在我方以外的情况下
else
# 公共事件 ID 有效的情况下
if @skill.common_event_id > 0
# 预约调用公共事件
$game_temp.common_event_id = @skill.common_event_id
# 演奏特技使用时的 SE
$game_system.se_play(@skill.menu_se)
# 消耗 SP
@actor.sp -= @skill.sp_cost
# 再生成各窗口的内容
@skill_window.refresh
@status_window.refresh
@skill_help_window.dispose
@skill_window.dispose
@skill_window_icon.dispose
@back_skill.dispose
# 切换到地图画面
$scene = Scene_Map.new
return
end
end
return
end
end
复制代码
作者:
一醉倾城
时间:
2009-2-1 22:58
没人知道吗?
作者:
Quarcy
时间:
2009-2-1 23:18
我也看不明白你在說甚麼--
道理上是這樣的:
{ when 0 物品 -> Scene_Item
Scene_Menu -> 循環 update_command { when 1 特技 } {
{ when 2 装备 }-> 循環 update_status -> {
{ when 3 状态 } {
{ when 4 存档 -> Scene_Save
{ when 5 游戏结束 -> Scene_End
[LINE]1,#dddddd[/LINE]
{Scene_Skill -> 循環 update_skill B -> Scene_Menu
C -> 循環 update_target -> 返回update_skill
{Scene_Equip -> 循環 update_right B -> Scene_Menu
C -> 循環 update_item -> 返回update_right
{Scene_Status B -> Scene_Menu
「update_status」是選擇人物的部分 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
ONEWateR
时间:
2009-2-2 00:01
以下引用
一醉倾城于2009-2-1 13:41:34
的发言:
本贴悬赏额度如下:VIP:0 积分:100
有光标让你选择人物的这一个地方的刷新在哪里?
Window_MenuStatus
其他看不懂 {/fd}
作者:
★_茄孓
时间:
2009-2-2 00:23
RMXP,$scene的update方法才刷新,如果没有放在这里面窗口里的刷新方法没调用也不行
所以都是把窗口里的刷新放在Scene_Equip的update刷新,你自己看看吧`
作者:
一醉倾城
时间:
2009-2-2 02:05
我终于找到了,多谢Quarcy前辈,还有虽然看不懂其他前辈的答案依然谢谢了,我看了Quarcy前辈的列表突然茅舍顿开{/cy}
真是的,只是差了一个字符而已。。= =
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1