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

Project1

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

独立变量[每个事件都有无限个变量]制作方法

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2007-12-22
帖子
102
跳转到指定楼层
1
发表于 2008-8-10 23:50:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我是新手说的不好,请多多见谅。
首先打个框架:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
end
然后我们模仿变量的脚本做一下:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
  def [](variable_id)
    if variable_id <= 5000 and @data[variable_id] != nil
      return @data[variable_id]
    else
      return 0
    end
  end
  def []=(variable_id, value)
    if variable_id <= 5000
      @data[variable_id] = value
    end
  end
end
继续改良:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
  def [](variable_id, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    if @dlbl[variable_id] != nil
      @blz = @dlbl[sjbh]
      return @blz[variable_id]
    else
      return 0
    end
  end
  def []=(variable_id, value)
    if variable_id <= 5000
      @data[variable_id] = value
    end
  end
end
再改良:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
  def [](variable_id, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    if @dlbl[variable_id] != nil
      @blz = @dlbl[sjbh]
      return @blz[variable_id]
    else
      return 0
    end
  end
  def []=(variable_id, value, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    @blz = @dlbl[sjbh]
    @blz[variable_id] = value
    @dlbl[sjbh] = @blz
  end
end
加上注释:
#==============================================================================
# ■ Game_Dlbl
#------------------------------------------------------------------------------
#  处理独立变量的类。
#==============================================================================

class Game_Dlbl
  #--------------------------------------------------------------------------
  # ● 初始化
  #--------------------------------------------------------------------------
  def initialize
    @dlbl = []
  end
  #--------------------------------------------------------------------------
  # ● 获取变量
  #     variable_id : 变量 ID
  #--------------------------------------------------------------------------
  def [](variable_id, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    if @dlbl[variable_id] != nil
      @blz = @dlbl[sjbh]
      return @blz[variable_id]
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置变量
  #     variable_id : 变量 ID
  #     value       : 变量的值
  #--------------------------------------------------------------------------
  def []=(variable_id, value, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    @blz = @dlbl[sjbh]
    @blz[variable_id] = value
    @dlbl[sjbh] = @blz
  end
end
换到标题画面继续改:
新游戏的生成各种游戏对像下面加一条
#修改#
$game_dlbl        = Game_Dlbl
换到存档画面继续改:
写入存档数据的写入各种游戏对像下面加一条
#修改#
Marshal.dump($game_dlbl, file)
换到读档画面继续改:
读取存档数据的读取各种游戏对像下面加一条
#修改#
$game_dlbl        = Marshal.load(file)
脚本搞定了…………
获得:
$game_dlbl[变量编号, 事件编号]
设置:
$game_dlbl[变量编号, 事件编号]后面的跟通用变量的设置方法一样。
搞定了拜拜…………
a.a~

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2007-12-16
帖子
3454
2
发表于 2008-8-10 23:59:28 | 只看该作者
哇。。喜欢这样靠自己摸索的新手
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3268
在线时间
3617 小时
注册时间
2006-9-6
帖子
37399

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

3
发表于 2009-6-12 08:00:00 | 只看该作者
虽然站上也有一个,
不过那个似乎不能用,修复了问题后也不大能用……不知道是不是我不会用…… - -

这个的设置似乎简单点。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
115
在线时间
3 小时
注册时间
2008-1-12
帖子
380
4
发表于 2008-8-11 21:09:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-17 19:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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