设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: jiushiainilip19
打印 上一主题 下一主题

[已经解决] 新手求教:如何新建一个框架 请大神门指点

[复制链接]

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

11
 楼主| 发表于 2015-6-28 13:40:34 | 只看该作者
无忧谷主幻 发表于 2015-6-28 13:35
算了,还是给你好了,是否用得上自己看着办

谢谢你给的范例!!
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

12
发表于 2015-6-28 13:45:17 | 只看该作者
本帖最后由 RyanBern 于 2015-6-28 13:46 编辑

RUBY 代码复制
  1. module RB
  2. end
  3. module RB::Description
  4.   # 游戏说明背景图片
  5.   Background_Img = "Help"
  6.   # 翻页过渡图形,如果设置为空则是普通的淡入淡出
  7.   Transition = "Graphics/Transitions/015-Diamond01"
  8.   # 文字设置区域,左边的数字代表页码(不能设置为0或者负数),右侧的是文字
  9.   # 每行文字用引号分割
  10.   Texts = {
  11.     1 => ["说明文字Line1",
  12.           "说明文字Line2"
  13.           ],
  14.     2 => ["第二页说明文字Line1",
  15.           "第二页说明文字Line2"
  16.           ],
  17.     3 => ["RyanBern",
  18.           "脚本编写"
  19.           ]
  20.   }
  21. end
  22.  
  23. class Window_Description < Window_Base
  24.   def initialize
  25.     super(0, 0, 640, 480)
  26.     self.contents = Bitmap.new(width - 32, height - 32)
  27.     self.visible = true
  28.     self.opacity = 0
  29.     @page = 0
  30.     refresh
  31.   end
  32.   def refresh
  33.     self.contents.clear
  34.     texts = RB::Description::Texts[@page]
  35.     return if texts.nil?
  36.     texts.each_with_index do |text, i|
  37.       self.contents.draw_text(4, i * 32, width - 32, 32, text)
  38.     end
  39.   end
  40.   def page=(page)
  41.     if @page != page
  42.       @page = page
  43.       refresh
  44.     end
  45.   end
  46. end
  47.  
  48. class Scene_Help
  49.   def main
  50.     @page = 1
  51.     @sprite = Sprite.new
  52.     @sprite.bitmap = RPG::Cache.picture(RB::Description::Background_Img)
  53.     @description_window = Window_Description.new
  54.     @description_window.page = @page
  55.     Graphics.transition
  56.     loop do
  57.       Graphics.update
  58.       Input.update
  59.       update
  60.       if $scene != self
  61.         break
  62.       end
  63.     end
  64.     Graphics.freeze
  65.     @sprite.bitmap.dispose
  66.     @sprite.dispose
  67.     @description_window.dispose
  68.   end
  69.   def update
  70.     if Input.trigger?(Input::B)
  71.       $game_system.se_play($data_system.cancel_se)
  72.       $scene = Scene_Menu.new
  73.       return
  74.     end
  75.     if Input.trigger?(Input::LEFT)
  76.       if @page > 1
  77.         $game_system.se_play($data_system.cursor_se)
  78.         @page -= 1
  79.         Graphics.freeze
  80.         @description_window.page = @page
  81.         Graphics.transition(20, RB::Description::Transition)
  82.       else
  83.         $game_system.se_play($data_system.buzzer_se)
  84.       end
  85.       return
  86.     end
  87.     if Input.trigger?(Input::RIGHT)
  88.       if @page < RB::Description::Texts.keys.max
  89.         $game_system.se_play($data_system.cursor_se)
  90.         @page += 1
  91.         Graphics.freeze
  92.         @description_window.page = @page
  93.         Graphics.transition(20, RB::Description::Transition)
  94.       else
  95.         $game_system.se_play($data_system.buzzer_se)
  96.       end
  97.       return
  98.     end  
  99.   end
  100. end

插入到main前,不过没有整合到菜单里面。
使用的时候输入事件脚本
RUBY 代码复制
  1. $scene = Scene_Help.new

附效果图:

评分

参与人数 1星屑 +60 收起 理由
明特·布兰马修 + 60 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

13
 楼主| 发表于 2015-6-28 14:18:09 | 只看该作者
RyanBern 发表于 2015-6-28 13:45
module RB
end
module RB::Description

3Q3Q3Q!太强大了
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

14
 楼主| 发表于 2015-6-28 14:38:32 | 只看该作者
本帖最后由 jiushiainilip19 于 2015-6-28 14:51 编辑

我试着自己去按照Meun上的方法去些 但是出现了一种情况  就是在选项的上面 光标在上面 但没有按确定键 居然会自动执行确定键 其他的都还正常  一般这种自动会案件的情况是些什么问题

  1. #==============================================================================
  2. # ■ Scene_MenuSort
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================

  6. class Scene_MenuSort
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9. #     menu_index : 命令光标的初期位置
  10. #--------------------------------------------------------------------------
  11.   def initialize(menu_index = 0)
  12.     @menu_index = menu_index
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 主处理
  16.   #--------------------------------------------------------------------------
  17.   def main
  18.     # 生成命令窗口
  19.     s1 = "内功篇"#$data_system.words.item
  20.     s2 = "身法篇"#$data_system.words.skill
  21.     s3 = "特技篇"#$data_system.words.equip
  22.     s4 = "状态篇"
  23.     s5 = "阵法篇"
  24.    # s6 = "预留"
  25.     @command_window = Window_Command.new(160, [s1, s2, s3, s4,s5 ,])
  26.     @command_window.index = @menu_index
  27.       # 执行过渡
  28.     Graphics.transition
  29.     # 主循环
  30.     loop do
  31.       # 刷新游戏画面
  32.       Graphics.update
  33.       # 刷新输入信息
  34.       Input.update
  35.       # 刷新画面
  36.     update
  37.       # 如果切换画面就中断循环
  38.       if $scene != self
  39.         break
  40.       end
  41.     end
  42.     # 准备过渡
  43.     Graphics.freeze
  44.     # 释放窗口
  45.     @command_window.dispose
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 刷新画面
  49.   #--------------------------------------------------------------------------
  50.   def update
  51.     # 刷新窗口
  52.     @command_window.update
  53.     # 命令窗口被激活的情况下: 调用 update_command
  54.     if @command_window.active
  55.       update_command
  56.      # return
  57.     end
  58.    end
  59.     #--------------------------------------------------------------------------
  60.   # ● 刷新画面 (命令窗口被激活的情况下)
  61.   #--------------------------------------------------------------------------
  62.   def update_command
  63.     # 按下 B 键的情况下
  64.     if Input.trigger?(Input::B)
  65.       # 演奏取消 SE
  66.       $game_system.se_play($data_system.cancel_se)
  67.       # 切换的地图画面
  68.       $scene = Scene_Map.new
  69.       return
  70.     end
  71.     # 按下 C 键的情况下
  72.     if Input.trigger?(Input::C)
  73.         # 演奏冻结 SE
  74.             $game_system.se_play($data_system.buzzer_se)
  75.        end
  76.       # 命令窗口的光标位置分支
  77.       case @command_window.index
  78.       when 0  # 内功篇
  79.         # 演奏确定 SE
  80.         $game_system.se_play($data_system.decision_se)
  81.         # 切换到物品画面
  82.         $scene = Scene_ItemSort.new
  83.        return
  84.     end
  85.   end
  86.   #--------------------------------------------------------------------------
  87.   # ● 刷新画面 (状态窗口被激活的情况下)
  88.   #--------------------------------------------------------------------------
  89.   def update_status
  90.     # 按下 B 键的情况下
  91.    
  92.     # 按下 C 键的情况下
  93.    
  94.   end
  95. end
复制代码
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

15
 楼主| 发表于 2015-6-28 15:43:14 | 只看该作者
问题意境解决,本人再次非常感谢各位大神的指导!谢谢
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-22 09:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表