查看: 2651|回复: 3

[原创发布] 任意添加场景说明

[复制链接]
梦石
2
星屑
6767
在线时间
501 小时
注册时间
2018-3-23
回帖
487

R考场第七期银奖

发表于 2019-1-16 11:52:01 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 MCCF 于 2019-1-16 12:04 编辑

最近由于要自制仿《精灵宝可梦》的整套系统用于自己的同人游戏,所以会分享大量的脚本上来~

介绍可以在任意的场景(Scene)设定,按下指定键时显示出一个说明窗口。这个脚本主要是方便懂得脚本的人,能在自己或他人的脚本中的场景,快捷的显示帮助。
另外,由于实在不知道说明窗口放在哪里所以范例直接居中显示了……如果有什么有关建议欢迎提出。


截图

Scene_Skiil

Scene_Skiil

Scene_Save

Scene_Save

Scene_Item

Scene_Item

Scene_Shop

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 初版发布

评分

参与人数 2星屑 +100 赞 +2 收起 理由
VIPArcher + 100 + 1 原创发布
张咚咚 + 1 可以当信息框使用

查看全部评分

祝好。
梦石
0
星屑
1000
在线时间
88 小时
注册时间
2018-7-16
回帖
22
发表于 2019-1-16 21:07:32 | 显示全部楼层
哇。。。我也在准备做精灵宝可梦同人来着。。
有大佬先动手了吗。。。
大佬大佬大佬。。。
画不出好看画子的苦逼画师~
回复

使用道具 举报

梦石
2
星屑
6767
在线时间
501 小时
注册时间
2018-3-23
回帖
487

R考场第七期银奖

 楼主| 发表于 2019-1-16 21:40:16 | 显示全部楼层
西卡小飞 发表于 2019-1-16 21:07
哇。。。我也在准备做精灵宝可梦同人来着。。
有大佬先动手了吗。。。
大佬大佬大佬。。。 ...

沙耶冰大佬现在做了30%了,而我还在搓系统……
最近很多同人作者呢

不过建议不要在这里谈论哦

点评

哈哈哈 我明白了  发表于 2019-1-16 22:20
祝好。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部