#==============================================================================
# ** Window_Map
#------------------------------------------------------------------------------
class Window_MapMenu < Window_Base
MAP_TABLE =
[
"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17",
"18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34",
"35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51",
"52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68",
"69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85",
"86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102",
"103","104","105","106","107","108","109","110","111","112","113","114","115","116","117","118","119",
"120","121","122","123","124","125","126","127","128","129","130","131","132","133","134","135","136",
"137","138","139","140","141","142","143","144","145","146","147","148","149","150","151","152","153",
"154","155","156","157","158","159","160","161","162","163","164","165","166","167","168","189","170",
"171","172","173","174","175","176","177","178","179","180","181","182","183","184","185","186","187",
"188","189","190","191","192","193","194","195","196","197","198","199","200","201","202","203","204",
"205","206","207","208","209","210","211","212","213","214","215","216","217","218","219","220","221",
"222","223","224","225","226","227","228","229","230","231","232","233","234","235","236","237","238",
]
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
@index = 0
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# * Text Character Acquisition
#--------------------------------------------------------------------------
def grid
return MAP_TABLE[@index]
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0..237
x = 32 + i % 17 * 32
y = 0 + i / 17 % 14 * 32
self.contents.draw_text(x, y, 32, 32, MAP_TABLE[i], 1)
end
@bitmap = RPG::Cache.picture("kantomap.png")
self.contents.blt(32, 0, @bitmap, Rect.new(0, 0, @bitmap.width, @bitmap.height), 160)
end
#--------------------------------------------------------------------------
# * Cursor Rectangle Update
#--------------------------------------------------------------------------
def update_cursor_rect
x = 32 + @index % 17 * 32
y = 0 + @index / 17 % 14 * 32
self.cursor_rect.set(x, y, 32, 32)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
# if enter is being pressed
if Input.trigger?(Input::C)
if @index == 0
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to item screen
$scene = Scene_Item.new
end
if @index == 1
# Play decision SE
$game_system.se_play($data_system.decision_se)
# Switch to item screen
$scene = Scene_Skill.new
end
end
# If right directional button is pushed
if Input.repeat?(Input::RIGHT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the right edge
if Input.trigger?(Input::RIGHT) or
@index % 17 < 16
# Move cursor to right
$game_system.se_play($data_system.cursor_se)
if @index % 17 < 16
@index += 1
end
end
end
# If left directional button is pushed
if Input.repeat?(Input::LEFT)
# If directional button pressed down is not a repeat, or
# cursor is not positioned on the left edge
if Input.trigger?(Input::LEFT) or
@index % 17 > 0
# Move cursor to left
$game_system.se_play($data_system.cursor_se)
if @index % 17 > 0
@index -= 1
end
end
end
# If down directional button is pushed
if Input.repeat?(Input::DOWN)
# Move cursor down
if @index / 17 < 13
@index += 17
$game_system.se_play($data_system.cursor_se)
end
end
# If up directional button is pushed
if Input.repeat?(Input::UP)
# Move cursor up
if @index / 17 > 0
@index -= 17
$game_system.se_play($data_system.cursor_se)
end
end
update_cursor_rect
end
end