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

Project1

 找回密码
 注册会员
搜索

请问怎么设置收集系统?

查看数: 2083 | 评论数: 6 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-7-22 12:52

正文摘要:

嗯,正在制作一款恐怖解谜类的游戏,游戏要求主角去收集不同的日记页码 所以就想整一个收集系统,如果找到日记的页码就能打开看内容,没有找到就显示??? 嗯,就像狂父游戏里这个一样 {:2_248:} ...

回复

kuerlulu 发表于 2014-7-22 14:57:50
本帖最后由 RyanBern 于 2014-7-22 15:01 编辑


RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_Collect
  3. #------------------------------------------------------------------------------
  4. #  处理收集(CG)画面的类。
  5. #------------------------------------------------------------------------------
  6. #   请先在{COLLECT}处设置可被收集的图像名, 注意格式。
  7. #   不是bug: 实际运行时菜单顺序是打乱的, 但是对应关系没错。
  8. #   游戏中[收集到"一张图"]用事件脚本: 收集("一张图") 【括号可省略-> 收集 "一张图"
  9. #   召唤此界面方法(脚本): $scene = Scene_Collect.new($scene) ;用在事件还是脚本中都一样
  10. #   必要说明: 占用了一个变量1, 游戏中请不要对1号变量做任何操作。
  11. #             如果想更改被占用的变量请手动修改脚本。
  12. #==============================================================================
  13.  
  14. class Scene_Collect
  15.   COLLECT = {
  16.     "第一张图" => "Graphics/Pictures/0.jpg",# 仅供示范, 右边是图像路径
  17.     "第二张图" => "Graphics/Pictures/1.jpg" # 不要逗号
  18.   }
  19.   def initialize(scene)
  20.     @scene= scene
  21.     @last = 233333
  22.     @command = COLLECT.keys.map{|key|$game_variables[1].include?(key) ? key : "???"}
  23.   end
  24.   def main
  25.     @sprite = Sprite.new
  26.     @command_window = Window_Command.new 160, @command
  27.     @command_window.opacity = 160
  28.     Graphics.transition
  29.     loop do
  30.       Graphics.update
  31.       Input.update
  32.       update
  33.       break unless $scene == self
  34.     end
  35.     Graphics.freeze
  36.     @command_window.dispose
  37.     @sprite.bitmap.dispose
  38.     @sprite.dispose
  39.   end
  40.   def update
  41.     @command_window.update
  42.     if @last != @command_window.index
  43.       if @command[@command_window.index] == "???"
  44.         @sprite.bitmap = Bitmap.new 640, 480
  45.         @sprite.bitmap.fill_rect(@sprite.bitmap.rect, Color.new(100,100,100))
  46.         @sprite.bitmap.draw_text(300, 0, 320, 480, "未取得")
  47.       else
  48.         @sprite.bitmap = Bitmap.new COLLECT[@command[@command_window.index]]
  49.       end
  50.       @last = @command_window.index
  51.     end
  52.     if Input.trigger?(Input::B)
  53.       $game_system.se_play($data_system.cancel_se)
  54.       $scene = @scene
  55.     end
  56.   end
  57. end
  58. class Interpreter
  59.   def 收集(key)
  60.     $game_variables[1].push(key)
  61.   end
  62. end
  63. class Game_Variables
  64.   def initialize
  65.     @data = []
  66.     @data[1] = []
  67.   end
  68. end
  

点评

因为太简单了所以没想着留下by hyrious或者[来自rm.66rpg.com]字样真是抱歉  发表于 2014-7-22 15:11

评分

参与人数 2星屑 +300 收起 理由
︶ㄣ牛排ぶ + 100 认可答案
RyanBern + 200 精品文章

查看全部评分

youkarin 发表于 2014-7-22 15:24:43
kuerlulu 发表于 2014-7-22 14:57
#==============================================================================
# ■ Scene_Collect
...

{:2_275:}多谢了,试了试还不错
天使喝可乐 发表于 2014-7-22 14:11:04
任务系统就可以吧 直接把任务变成各种图片 接到任务就可以看了
youkarin 发表于 2014-7-22 13:45:42
cfjgityhohtg 发表于 2014-7-22 13:42
狂父是wolf制作的,和xp的系统没有可比性。

因为我只记得狂父有我想要的样式,并没有说什么什么制作
cfjgityhohtg 发表于 2014-7-22 13:42:54
狂父是wolf制作的,和xp的系统没有可比性。

点评

所以快来用wolf吧【死  发表于 2014-7-22 18:11
wolf跟xp的事件系统也不一样啊。。。  发表于 2014-7-22 18:09
这个场景在疯爹里面可是纯事件制作哟  发表于 2014-7-22 14:12
越前リョーマ 发表于 2014-7-22 13:29:49
如果是现成的话,我记得线索仓库、任务系统可以达到类似效果,或者也可以使用事件来制作
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-9-21 23:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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