Project1
标题:
无用产物,省成本开关
[打印本页]
作者:
英顺的马甲
时间:
2015-4-12 13:12
标题:
无用产物,省成本开关
先说明,这脚本没什么实际作用,硬要说有的话就只是在开关的部分减少存档的大小。
因此,新人可以回去了
#encoding:utf-8
#==============================================================================
# ■ Game_Switches
#------------------------------------------------------------------------------
# 省成本的处理开关的类。
#==============================================================================
class Game_Switches
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
@data = []
end
#--------------------------------------------------------------------------
# ● 获取开关
#--------------------------------------------------------------------------
def [](switch_id)
return (@data[switch_id / 8].to_i & (1 << (switch_id % 8)) != 0)
end
#--------------------------------------------------------------------------
# ● 设置开关
#--------------------------------------------------------------------------
def []=(switch_id, value)
return if switch_id > 5000
c = @data[switch_id / 8].to_i
c |= (1 << (switch_id % 8))
c ^= (1 << (switch_id % 8)) unless value
@data[switch_id / 8] = c
end
#--------------------------------------------------------------------------
# ● 保存时
#--------------------------------------------------------------------------
def _dump(*args)
@data.map{|c|c.to_i}.pack('C*')
end
#--------------------------------------------------------------------------
# ● 读取时
#--------------------------------------------------------------------------
def self._load(bin, *args)
a = new
a.instance_eval{@data = bin.unpack('C*')}
return a
end
#--------------------------------------------------------------------------
# ● 兼容VA
#--------------------------------------------------------------------------
def on_change
$game_map.need_refresh = true
end
end
复制代码
@晴兰
你最喜欢的bit操作
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1