| 赞 | 59 |
| VIP | |
| 好人卡 | |
| 积分 | 88 |
| 经验 | |
| 最后登录 | 2024-2-2 |
| 在线时间 | 501 小时 |
- 梦石
- 2
- 星屑
- 6767
- 在线时间
- 501 小时
- 注册时间
- 2018-3-23
- 回帖
- 487

|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 MCCF 于 2019-1-16 12:04 编辑
最近由于要自制仿《精灵宝可梦》的整套系统用于自己的同人游戏,所以会分享大量的脚本上来~
介绍可以在任意的场景(Scene)设定,按下指定键时显示出一个说明窗口。这个脚本主要是方便懂得脚本的人,能在自己或他人的脚本中的场景,快捷的显示帮助。
另外,由于实在不知道说明窗口放在哪里所以范例直接居中显示了……如果有什么有关建议欢迎提出。
截图
Scene_Skiil
Scene_Save
Scene_Item
Scene_Shop
脚本[pre lang="ruby"]#encoding:utf-8
# ===========================================================================
# 任意添加场景说明 by MCCF
# ---------------------------------------------------------------------------
# 2019.1.16 初版发布
# ===========================================================================
=begin
----------------------------------------------------------------------------
介绍:
----------------------------------------------------------------------------
可以在任意的场景(Scene)设定,按下指定键时显示出一个说明窗口。
这个脚本主要是方便懂得脚本的人,能在自己或他人的脚本中的场景,快捷的显示帮助。
----------------------------------------------------------------------------
使用方法:
----------------------------------------------------------------------------
插入到插件脚本之下,Main之上
----------------------------------------------------------------------------
说明:
----------------------------------------------------------------------------
由于直接在类中添加,所以需要一定的脚本知识。不知道类的话,那么:
Scene_Title 标题画面
Scene_Map 地图画面
Scene_Menu 菜单画面
Scene_Item 物品画面
Scene_Skiil 技能画面
Scene_Equip 装备画面
Scene_Status 状态画面
Scene_Save 存档画面
Scene_Load 读档画面
Scene_End 菜单中选择“结束游戏”画面
Scene_Shop 商店画面
Scene_Name 改名画面
Scene_Debug 调试画面
Scene_Battle 战斗画面
Scene_Gameover 结束画面
=end
#==============================================================================
# 设定部分
#==============================================================================
module SceneHelp
SCENE_NAME = [Scene_Save,Scene_Item,Scene_Skill,Scene_Shop]
#在这里按照顺序配置场景名称
KEY = [:A,:A,:A,:A]
#在这里按照顺序配置显示对应说明的按键
HELP = [
"存储当前的记录",
"查看或使用携带的物品",
"查看或使用角色学会的技能",
"购买物品",
#继续添加
]
#在这里按照顺序配置显示的说明
H
OFFSET_X = 0
#以屏幕中点为原点的窗口中点坐标X
#常用设定:居中显示为0;
OFFSET_Y = 0
#以屏幕中点为原点的窗口中点坐标Y
#常用设定:居中显示为0;
end
#==============================================================================
# 设定结束
#==============================================================================
#==============================================================================
# ■ Window_SceneHelp
#------------------------------------------------------------------------------
# 显示场景说明的窗口
#==============================================================================
class Window_SceneHelp < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize(line_number,text)
super(0, 0, 24 * text.size + (standard_padding + 4) * 2, fitting_height(line_number))
draw_text_ex(4, 0, text)
end
end
#==============================================================================
# ■ Scene_Base
#------------------------------------------------------------------------------
# 游戏中所有 Scene 类(场景类)的父类
#==============================================================================
class Scene_Base
#--------------------------------------------------------------------------
# ● 开始处理
#--------------------------------------------------------------------------
alias scene_help_start start
def start
scene_help_start
@create_help = false
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
alias scene_help_update update
def update
scene_help_update
update_scene_help_window if scene_id
end
#--------------------------------------------------------------------------
# ● 更新所有窗口
#--------------------------------------------------------------------------
alias scene_help_update_all_windows update_all_windows
def update_all_windows
if @create_help == false && scene_id
create_scene_help_window
@create_help = true
end
scene_help_update_all_windows
end
#--------------------------------------------------------------------------
# ● 获取当前场景在设定中的下标位置
#--------------------------------------------------------------------------
def scene_id
for i in 0..SceneHelp::SCENE_NAME.length - 1
if SceneHelp::SCENE_NAME == SceneManager.scene.class
return i
end
end
return nil
end
#--------------------------------------------------------------------------
# ● 生成场景说明窗口
#--------------------------------------------------------------------------
def create_scene_help_window
text = SceneHelp::HELP[scene_id]
@scene_help_window = Window_SceneHelp.new(1, text)
@scene_help_window.x = Graphics.width / 2 + SceneHelp::OFFSET_X - @scene_help_window.width / 2
@scene_help_window.y = Graphics.height / 2 + SceneHelp::OFFSET_Y - @scene_help_window.height / 2
@scene_help_window.z = 5000
end
#--------------------------------------------------------------------------
# ● 场景说明窗口的显示刷新
#--------------------------------------------------------------------------
def update_scene_help_window
return unless @scene_help_window
if Input.trigger?(SceneHelp::KEY[scene_id]) && !@scene_help_window.visible
@scene_help_window.show
end
if !Input.press?(SceneHelp::KEY[scene_id]) && @scene_help_window.visible
@scene_help_window.hide
end
end
end[/pre]
范例工程
弹药消耗范例工程.zip
(1.43 MB, 下载次数: 19)
更新记录2019.1.16 初版发布 |
评分
-
查看全部评分
|