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

Project1

 找回密码
 注册会员
搜索
查看: 2825|回复: 14
打印 上一主题 下一主题

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

[复制链接]

Lv2.观梦者

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

开拓者

跳转到指定楼层
1
发表于 2015-6-28 06:57:21 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 jiushiainilip19 于 2015-6-28 07:10 编辑

在RMXP的新建工程中 只有 物品 状态 装备 等几个很少的功能,我想添加一个功能就是:

游戏的介绍 比如:物品
                 特技
                 装备
                 状态
                 存档
                 结束游戏
就是在后面在加个 游戏介绍  === 进去里面是一个干净的界面 大小是最大 我可以在脚本里面通过输写的方式进行描述一些游戏的内容等等 不需要其他的功能



还请大神能够教教我 最好是能做到按键翻页的功能


还想请问一个问题 就是地图显示名字的问题 比如  人物行走图 头上在事件中 我写了某某某名字  然后我击败他以后 人物没了 但是某某某名字还残留在地图上的问题

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

Lv2.观梦者

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

开拓者

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

使用道具 举报

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

开拓者

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

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

使用道具 举报

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

开拓者

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

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

使用道具 举报

Lv2.观梦者

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

开拓者

10
 楼主| 发表于 2015-6-28 13:40:00 | 只看该作者
星辰浩劫 发表于 2015-6-28 13:30
在Scene_Menu里面找到@window_command = Command_window.new(XXX)那一行,上面有几个s1 = XXX,s2=XXX…的 ...

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

使用道具 举报

Lv4.逐梦者

素材区好人

梦石
3
星屑
7517
在线时间
3542 小时
注册时间
2011-7-21
帖子
2284

极短24参与极短23参与极短22参与极短21参与

9
发表于 2015-6-28 13:35:56 | 只看该作者
算了,还是给你好了,是否用得上自己看着办
Project2.zip (200.84 KB, 下载次数: 50)

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
90 小时
注册时间
2015-3-2
帖子
46
8
发表于 2015-6-28 13:30:23 | 只看该作者
在Scene_Menu里面找到@window_command = Command_window.new(XXX)那一行,上面有几个s1 = XXX,s2=XXX…的东西,你在s6后面接着添加一个s7 = "游戏介绍"在@window_command后面的括号里的s6的后面加上, s7,然后再找到case @command_window.index后面,end的前面添加一个分歧,when X(具体是多少忘记了,如果最后一个是when 5,X就是6,要是when 6,X就是7)另起一行写$scene = Scene_游戏介绍.new,然后建立一个场景:Scene_游戏介绍,然后新建个窗口,用来写文章,然后在窗口上绘制好文字,然后在游戏介绍场景里调用该窗口,至于翻页功能,再场景的update里判断一下就行了。

点评

由于我上初二,电脑管的比较严,再加上最近临近期末考试,恕不能帮忙做个范例。只能通过手机说一下。  发表于 2015-6-28 13:35
人因为有难忘的记忆而变得坚强,这就是所谓的成长吧!
回复 支持 反对

使用道具 举报

Lv2.观梦者

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

开拓者

7
 楼主| 发表于 2015-6-28 13:29:38 | 只看该作者
无忧谷主幻 发表于 2015-6-28 13:26
简单来说就是给菜单加一个选项,该选项关联一个公共事件

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 15:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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