Project1
标题: 关于VX脚本里的Cache问题 [打印本页]
作者: qw6412018 时间: 2011-9-25 21:53
标题: 关于VX脚本里的Cache问题
本帖最后由 Kimu 于 2011-9-25 22:26 编辑
插入了一些脚本,就出现这个了,不能进入游戏,求请教啊....:'(- #==============================================================================
- # ■ Cache
- #------------------------------------------------------------------------------
- # 读取各种图象、生成保存位图对象的模块。为了获得更快的读取速度与节约内存的需要,
- #已经生成的位图对象将被保存至内部缓存中,在再次请求同一位图时直接返回缓存中已经有
- #的对象。
- #==============================================================================
- module Cache
- #--------------------------------------------------------------------------
- # ● 获取动画图片
- # filename : 文件名
- # hue : 色相变化值
- #--------------------------------------------------------------------------
- def self.animation(filename, hue)
- load_bitmap("Graphics/Animations/", filename, hue)
- end
- #--------------------------------------------------------------------------
- # ● 获取战斗图片
- # filename : 文件名
- # hue : 色相变化值
- #--------------------------------------------------------------------------
- def self.battler(filename, hue)
- load_bitmap("Graphics/Battlers/", filename, hue)
- end
- #--------------------------------------------------------------------------
- # ● 获取步行图片
- # filename : 文件名
- #--------------------------------------------------------------------------
- def self.character(filename)
- load_bitmap("Graphics/Characters/", filename)
- end
- #--------------------------------------------------------------------------
- # ● 获取脸谱
- # filename : 文件名
- #--------------------------------------------------------------------------
- def self.face(filename)
- load_bitmap("Graphics/Faces/", filename)
- end
- #--------------------------------------------------------------------------
- # ● 获取远景图片
- # filename : 文件名
- #--------------------------------------------------------------------------
- def self.parallax(filename)
- load_bitmap("Graphics/Parallaxes/", filename)
- end
- #--------------------------------------------------------------------------
- # ● 获取图片
- # filename : 文件名
- #--------------------------------------------------------------------------
- def self.picture(filename)
- load_bitmap("Graphics/Pictures/", filename)
- end
- #--------------------------------------------------------------------------
- # ● 获取系统图片
- # filename : 文件名
- #--------------------------------------------------------------------------
- def self.system(filename)
- load_bitmap("Graphics/System/", filename)
- end
- #--------------------------------------------------------------------------
- # ● 清除缓存
- #--------------------------------------------------------------------------
- def self.clear
- @cache = {} if @cache == nil
- @cache.clear
- GC.start
- end
- #--------------------------------------------------------------------------
- # ● 读取位图
- #--------------------------------------------------------------------------
- def self.load_bitmap(folder_name, filename, hue = 0)
- @cache = {} if @cache == nil
- path = folder_name + filename
- if not @cache.include?(path) or @cache[path].disposed?
- if filename.empty?
- @cache[path] = Bitmap.new(32, 32)
- else
- @cache[path] = Bitmap.new(path)
- end
- end
- if hue == 0
- return @cache[path]
- else
- key = [path, hue]
- if not @cache.include?(key) or @cache[key].disposed?
- @cache[key] = @cache[path].clone
- @cache[key].hue_change(hue)
- end
- return @cache[key]
- end
- end
- end
复制代码