Project1
标题:
关于一个日本的名字输入扩张脚本的问题
[打印本页]
作者:
qiji19980124
时间:
2010-11-21 20:05
标题:
关于一个日本的名字输入扩张脚本的问题
本帖最后由 qiji19980124 于 2010-11-21 20:07 编辑
=begin
●このスクリプトを導入するにあたって
この注釈内の項目を書き換える必要があります(行数は初期状態でのもの、VXは体験版での確認)
"name_actor_id" を、"id" に書き換えます。
(XP)・Game_Temp の 39行目、88行目。
・Interpreter 6 の108行目。
(VX)・Game_Temp の 20行目、39行目。
・Game_Interpreter の 1352行目。
Scene_Map の197行目(XP)、221行目(VX)を以下のように変更します。
$scene = Scene_Name_ex.new <= 変更
$scene.set($data_actors[$game_temp.id]) <= 追加
Scene_Save(VXの場合はScene_File)の最後(一連のMarshal.dumpの後)に以下の文を追加します。
Marshal.dump($data_actors, file)
Marshal.dump($data_classes, file)
Marshal.dump($data_skills, file)
Marshal.dump($data_items, file)
Marshal.dump($data_weapons, file)
Marshal.dump($data_armors, file)
Marshal.dump($data_enemies, file)
Scene_Load(VXの場合はScene_File)の最後(一連のMarshal.loadの後)に以下の文を追加します。
$data_actors = Marshal.load(file)
$data_classes = Marshal.load(file)
$data_skills = Marshal.load(file)
$data_items = Marshal.load(file)
$data_weapons = Marshal.load(file)
$data_armors = Marshal.load(file)
$data_enemies = Marshal.load(file)
●このスクリプトについてのバグ報告・質問・要望などはこちらへ
[email protected]
●以降、スクリプト
=end
#==============================================================================
# ■ Scene_Name_ex
#------------------------------------------------------------------------------
# 名前入力画面の処理を行うクラスです。
# デフォルトと比べて、以下の機能が追加されています。
# ☆ アルファベット、記号、漢字、半角文字の追加
# ☆ 「最初の名前に戻す」機能追加
#==============================================================================
class Scene_Name_ex
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
$half_flag = false
# ウィンドウを作成
@edit_window = Window_NameEdit_ex.new($game_variables[200],
$game_temp.name_max_char)
@input_window = Window_NameInput_ex.new
# トランジション実行
Graphics.transition
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# トランジション準備
Graphics.freeze
# ウィンドウを解放
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
# ● 名前を変えるオブジェクトのセット
#--------------------------------------------------------------------------
def set(obj)
@obj = obj
$game_variables[200] = obj.name
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# ウィンドウを更新
@edit_window.update
@input_window.update
# B ボタンが押された場合
if Input.repeat?(Input::B)
# カーソル位置が 0 の場合
if @edit_window.index == 0
return
end
# キャンセル SE を演奏
$game_system.se_play($data_system.cancel_se)
# 文字を削除
@edit_window.back
return
end
# C ボタンが押された場合
if Input.trigger?(Input::C)
case @input_window.getindex
when 0 .. 299
# カーソル位置が最大の場合
if byte_length(@edit_window.name) >= $game_temp.name_max_char * 2 -
($half_flag ? 0 : 1) and
@input_window.getindex < 300
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
#漢字入力モードの場合
if @input_window.getpage == 5
@input_window.setpage(@input_window.getindex + 6)
@input_window.refresh
else
# 文字を追加
@edit_window.add(@input_window.character)
end
when 300..305 # ひらがな~漢字
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
if @input_window.getindex == 304
$half_flag = true
@edit_window.refresh
else
$half_flag = false
@edit_window.refresh
end
# フラグ:300を引いた値をセット
@input_window.setpage(@input_window.getindex - 300)
@input_window.refresh
return
when 306 # 戻す
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
@edit_window.restore_default
when 307 # 決定
# 名前が空の場合
if @edit_window.name == ""
# デフォルトの名前に戻す
@edit_window.restore_default
# 名前が空の場合
if @edit_window.name == ""
# ブザー SE を演奏
$game_system.se_play($data_system.buzzer_se)
return
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
return
end
# 変数No.200に反映
$game_variables[200] = @edit_window.name
# セットされた箇所への名前の反映
# それ以外(パスワード入力とか?)で入力するのみの場合はスルー
if @obj.instance_of?(RPG::Actor)
$data_actors[$game_temp.id].name = $game_variables[200]
$game_actors[$game_temp.id].name = $data_actors[$game_temp.id].name
elsif @obj.instance_of?(RPG::Class)
$data_classes[$game_temp.id].name = $game_variables[200]
elsif @obj.instance_of?(RPG::Skill)
$data_skills[$game_temp.id].name = $game_variables[200]
elsif @obj.instance_of?(RPG::Item)
$data_items[$game_temp.id].name = $game_variables[200]
elsif @obj.instance_of?(RPG::Weapon)
$data_weapons[$game_temp.id].name = $game_variables[200]
elsif @obj.instance_of?(RPG::Armor)
$data_armors[$game_temp.id].name = $game_variables[200]
elsif @obj.instance_of?(RPG::Enemy)
$data_enemies[$game_temp.id].name = $game_variables[200]
end
# 決定 SE を演奏
$game_system.se_play($data_system.decision_se)
# マップ画面に切り替え
$scene = Scene_Map.new
return
end
end
end
end
#==============================================================================
# ■ Window_NameEdit_ex
#------------------------------------------------------------------------------
# 名前入力画面で、名前を編集するウィンドウです。
#==============================================================================
class Window_NameEdit_ex < Window_Base
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :name # 名前
attr_reader :index # カーソル位置
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# max_char : 最大文字数
#--------------------------------------------------------------------------
def initialize(name,max_char)
super(0, 0, 640, 128)
self.contents = Bitmap.new(width - 32, height - 32)
@max_char = max_char
@letters = @max_char * 2
name_array = (name.to_s).split(//)
@name = ""
for i in 0...name_array.size
@name += name_array
end
@default_name = @name
@index = name_array.size
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# ● デフォルトの名前に戻す
#--------------------------------------------------------------------------
def restore_default
@name = @default_name
@index = @name.split(//).size
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# ● 文字の追加
# character : 追加する文字
#--------------------------------------------------------------------------
def add(character)
if @index < @letters and character != ""
@name += character
@index += 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# ● 文字の削除
#--------------------------------------------------------------------------
def back
if @index > 0
# 一字削除
name_array = @name.split(//)
@name = ""
for i in 0...name_array.size-1
@name += name_array
end
@index -= 1
refresh
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# 名前を描画
name_array = @name.split(//)
x = 180
i = 0
l = 0
begin
c = name_array[l]
if c == nil
if $half_flag
c = "_"
else
if i == @letters - 1
break
else
c = "_"
end
end
end
self.contents.draw_text(x, 32, is_half(c) ? 14 : 28, 32, c, 1)
if is_half(c)
x += 14
i += 1
else
x += 28
i += 2
end
l += 1
end while i < @letters
update_cursor_rect
# グラフィックを描画 一応残し
# draw_actor_graphic(@actor, 320 - @max_char * 14 - 40, 80)
end
#--------------------------------------------------------------------------
# ● カーソルの矩形更新
#--------------------------------------------------------------------------
def update_cursor_rect
name_array = @name.split(//)
x = 180
for i in 0...@letters
c = name_array
if c == nil
self.cursor_rect.set(x, 32, $half_flag ? 14 : 28, 32)
break
elsif is_half(c)
x += 14
else
x += 28
i += 1
end
self.cursor_rect.set(x, 32, $half_flag ? 14 : 28, 32)
end
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super()
self.refresh
update_cursor_rect
end
end
#==============================================================================
# ■ Window_NameInput_ex
#------------------------------------------------------------------------------
# 名前入力画面で、文字を選択するウィンドウです。
#==============================================================================
class Window_NameInput_ex < Window_Base
CHARACTER_TABLE =
[[ #CT[0] ひらがな
"あ","い","う","え","お","か","き","く","け","こ",
"さ","し","す","せ","そ","た","ち","つ","て","と",
"な","に","ぬ","ね","の","は","ひ","ふ","へ","ほ",
"ま","み","む","め","も","や","ゐ","ゆ","ゑ","よ",
"ら","り","る","れ","ろ","わ","を","ん","ヴ","ー",
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"が","ぎ","ぐ","げ","ご","ざ","じ","ず","ぜ","ぞ",
"だ","ぢ","づ","で","ど","ば","び","ぶ","べ","ぼ",
"ぱ","ぴ","ぷ","ぺ","ぽ","ぁ","ぃ","ぅ","ぇ","ぉ",
"ゃ","ゅ","ょ","っ","ゎ","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--",
],
[ #CT[1] カタカナ
"ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ",
"サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト",
"ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ",
"マ","ミ","ム","メ","モ","ヤ","ヰ","ユ","ヱ","ヨ",
"ラ","リ","ル","レ","ロ","ワ","ヲ","ン","ヴ","ー",
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ",
"ダ","ヂ","ヅ","デ","ド","バ","ビ","ブ","ベ","ボ",
"パ","ピ","プ","ペ","ポ","ァ","ィ","ゥ","ェ","ォ",
"ャ","ュ","ョ","ッ","ヮ","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--",
],
[ #CT[2] 英数
"A","B","C","D","E","F","G","H","I","J",
"K","L","M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z","" ,"" ,"" ,"" ,
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"a","b","c","d","e","f","g","h","i","j",
"k","l","m","n","o","p","q","r","s","t",
"u","v","w","x","y","z","" ,"" ,"" ,"" ,
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"1","2","3","4","5","6","7","8","9","0",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[3] 記号
"<",">","(",")","〔","〕","[","]","{","}",
"〈","〉","《","》","「","」","『","』","【","】",
"、","。",",",".","・",":",";","?","!"," ",
"゜","´","`","/","\","~","+","-","×","÷",
"±","=","∞","♂","♀","℃","¥","$","*","@",
"☆","★","○","●","◇","◆","□","■","△","▲",
"▽","▼","※","→","←","↑","↓","⊂","⊃","∀",
"♪","♯","♭","α","β","γ","δ","ε","ζ","η",
"θ","ι","κ","λ","μ","ν","ξ","ο","π","ρ",
"σ","τ","υ","φ","χ","ψ","ω","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[4] 半角
"ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ",
"サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト",
"ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ",
"マ","ミ","ム","メ","モ","ヤ"," ","ユ"," ","ヨ",
"ラ","リ","ル","レ","ロ","ワ","ヲ","ン","゙","゚",
"ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー",
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"A","B","C","D","E","F","G","H","I","J",
"K","L","M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z","" ,"" ,"" ,"" ,
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"a","b","c","d","e","f","g","h","i","j",
"k","l","m","n","o","p","q","r","s","t",
"u","v","w","x","y","z","" ,"" ,"" ,"" ,
"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,"" ,
"!","\"","#","[ DISCUZ_CODE_0 ]quot;,"%","&","'","(",")","*",
"+",",","-",".","/",":",";","<","=",">",
"?","@","[","\\","]","^","_","`","{","|",
"}","~","「","」","、","・","。","","","",
"1","2","3","4","5","6","7","8","9","0",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[5] 漢字目次
"あ","い","う","え","お","か","か","き","き","く",
"け","こ","こ","さ","し","し","し","し","す","せ",
"そ","た","ち","つ","て","と","な","に","ぬ","ね",
"の","は","ひ","ふ","へ","ほ","ま","み","む","め",
"も","や","ゆ","よ","ら","り","る","れ","ろ","わ",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[6] 漢字(あ)
"あ","亜","唖","娃","阿","哀","愛","挨","姶","逢",
"葵","茜","穐","悪","握","渥","旭","葦","芦","鯵",
"梓","圧","斡","扱","宛","姐","虻","飴","絢","綾",
"鮎","或","粟","袷","安","庵","按","暗","案","闇",
"鞍","杏","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--",
],
[ #CT[7] 漢字(い)
"い","以","伊","位","依","偉","囲","夷","委","威",
"尉","惟","意","慰","易","椅","為","畏","異","移",
"維","緯","胃","萎","衣","謂","違","遺","医","井",
"亥","域","育","郁","磯","一","壱","溢","逸","稲",
"茨","芋","鰯","允","印","咽","員","因","姻","引",
"飲","淫","胤","蔭","院","陰","隠","韻","吋","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--",
],
[ #CT[8] 漢字(う)
"う","右","宇","烏","羽","迂","雨","卯","鵜","窺",
"丑","碓","臼","渦","嘘","唄","欝","蔚","鰻","姥",
"厩","浦","瓜","閏","噂","云","運","雲","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[9] 漢字(え)
"え","荏","餌","叡","営","嬰","影","映","曳","栄",
"永","泳","洩","瑛","盈","穎","頴","英","衛","詠",
"鋭","液","疫","益","駅","悦","謁","越","閲","榎",
"厭","円","園","堰","奄","宴","延","怨","掩","援",
"沿","演","炎","焔","煙","燕","猿","縁","艶","苑",
"薗","遠","鉛","鴛","塩","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--",
],
[ #CT[10] 漢字(お)
"お","於","汚","甥","凹","央","奥","往","応","押",
"旺","横","欧","殴","王","翁","襖","鴬","鴎","黄",
"岡","沖","荻","億","屋","憶","臆","桶","牡","乙",
"俺","卸","恩","温","穏","音","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--",
],
[ #CT[11] 漢字(か~かく)
"か","下","化","仮","何","伽","価","佳","加","可",
"嘉","夏","嫁","家","寡","科","暇","果","架","歌",
"河","火","珂","禍","禾","稼","箇","花","苛","茄",
"荷","華","菓","蝦","課","嘩","貨","迦","過","霞",
"蚊","俄","峨","我","牙","画","臥","芽","蛾","賀",
"雅","餓","駕","介","会","解","回","塊","壊","廻",
"快","怪","悔","恢","懐","戒","拐","改","魁","晦",
"械","海","灰","界","皆","絵","芥","蟹","開","階",
"貝","凱","劾","外","咳","害","崖","慨","概","涯",
"碍","蓋","街","該","鎧","骸","浬","馨","蛙","垣",
"柿","蛎","鈎","劃","嚇","各","廓","拡","撹","格",
"核","殻","獲","確","穫","覚","角","赫","較","郭",
"閣","隔","革","学","岳","楽","額","顎","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[12] 漢字(かけ~かん)
"か","掛","笠","樫","叶","椛","樺","鞄","株","兜",
"竃","蒲","釜","鎌","噛","鴨","栢","茅","萱","粥",
"刈","苅","瓦","乾","侃","冠","寒","刊","勘","勧",
"巻","喚","堪","姦","完","官","寛","幹","患","感",
"慣","憾","換","敢","柑","桓","棺","款","歓","汗",
"漢","澗","潅","環","甘","監","看","竿","管","簡",
"緩","缶","翰","肝","艦","莞","観","諌","貫","還",
"鑑","間","閑","関","陥","韓","館","舘","丸","含",
"岸","巌","玩","癌","眼","岩","翫","贋","雁","頑",
"顔","願","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--",
],
[ #CT[13] 漢字(き~きゆ)
"き","企","伎","危","喜","器","基","奇","嬉","寄",
"岐","希","幾","忌","揮","机","旗","既","期","棋",
"棄","機","帰","毅","気","汽","畿","祈","季","稀",
"紀","徽","規","記","貴","起","軌","輝","飢","騎",
"鬼","亀","偽","儀","妓","宜","戯","技","擬","欺",
"犠","疑","祇","義","蟻","誼","議","掬","菊","鞠",
"吉","吃","喫","桔","橘","詰","砧","杵","黍","却",
"客","脚","虐","逆","丘","久","仇","休","及","吸",
"宮","弓","急","救","朽","求","汲","泣","灸","球",
"究","窮","笈","級","糾","給","旧","牛","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[14] 漢字(きよ~きん)
"き","去","居","巨","拒","拠","挙","渠","虚","許",
"距","鋸","漁","禦","魚","亨","享","京","供","侠",
"僑","兇","競","共","凶","協","匡","卿","叫","喬",
"境","峡","強","彊","怯","恐","恭","挟","教","橋",
"況","狂","狭","矯","胸","脅","興","蕎","郷","鏡",
"響","饗","驚","仰","凝","尭","暁","業","局","曲",
"極","玉","桐","粁","僅","勤","均","巾","錦","斤",
"欣","欽","琴","禁","禽","筋","緊","芹","菌","衿",
"襟","謹","近","金","吟","銀","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--",
],
[ #CT[15] 漢字(く)
"く","九","倶","句","区","狗","玖","矩","苦","躯",
"駆","駈","駒","具","愚","虞","喰","空","偶","寓",
"遇","隅","串","櫛","釧","屑","屈","掘","窟","沓",
"靴","轡","窪","熊","隈","粂","栗","繰","桑","鍬",
"勲","君","薫","訓","群","軍","郡","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[16] 漢字(け)
"け","卦","袈","祁","係","傾","刑","兄","啓","圭",
"珪","型","契","形","径","恵","慶","慧","憩","掲",
"携","敬","景","桂","渓","畦","稽","系","経","継",
"繋","罫","茎","荊","蛍","計","詣","警","軽","頚",
"鶏","芸","迎","鯨","劇","戟","撃","激","隙","桁",
"傑","欠","決","潔","穴","結","血","訣","月","件",
"倹","倦","健","兼","券","剣","喧","圏","堅","嫌",
"建","憲","懸","拳","捲","検","権","牽","犬","献",
"研","硯","絹","県","肩","見","謙","賢","軒","遣",
"鍵","険","顕","験","鹸","元","原","厳","幻","弦",
"減","源","玄","現","絃","舷","言","諺","限","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--",
],
[ #CT[17] 漢字(こ~こう)
"こ","乎","個","古","呼","固","姑","孤","己","庫",
"弧","戸","故","枯","湖","狐","糊","袴","股","胡",
"菰","虎","誇","跨","鈷","雇","顧","鼓","五","互",
"伍","午","呉","吾","娯","後","御","悟","梧","檎",
"瑚","碁","語","誤","護","醐","乞","鯉","交","佼",
"侯","候","倖","光","公","功","効","勾","厚","口",
"向","后","喉","坑","垢","好","孔","孝","宏","工",
"巧","巷","幸","広","庚","康","弘","恒","慌","抗",
"拘","控","攻","昂","晃","更","杭","校","梗","構",
"江","洪","浩","港","溝","甲","皇","硬","稿","糠",
"紅","紘","絞","綱","耕","考","肯","肱","腔","膏",
"航","荒","行","衡","講","貢","購","郊","酵","鉱",
"砿","鋼","閤","降","項","香","高","鴻","剛","劫",
"号","合","壕","拷","濠","豪","轟","麹","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[18] 漢字(こく~)
"こ","克","刻","告","国","穀","酷","鵠","黒","獄",
"漉","腰","甑","忽","惚","骨","狛","込","此","頃",
"今","困","坤","墾","婚","恨","懇","昏","昆","根",
"梱","混","痕","紺","艮","魂","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--",
],
[ #CT[19] 漢字(さ)
"さ","些","佐","叉","唆","嵯","左","差","査","沙",
"瑳","砂","詐","鎖","裟","坐","座","挫","債","催",
"再","最","哉","塞","妻","宰","彩","才","採","栽",
"歳","済","災","采","犀","砕","砦","祭","斎","細",
"菜","裁","載","際","剤","在","材","罪","財","冴",
"坂","阪","堺","榊","肴","咲","崎","埼","碕","鷺",
"作","削","咋","搾","昨","朔","柵","窄","策","索",
"錯","桜","鮭","笹","匙","冊","刷","察","拶","撮",
"擦","札","殺","薩","雑","皐","鯖","捌","錆","鮫",
"皿","晒","三","傘","参","山","惨","撒","散","桟",
"燦","珊","産","算","纂","蚕","讃","賛","酸","餐",
"斬","暫","残","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--",
],
[ #CT[20] 漢字(し~しや)
"し","仕","仔","伺","使","刺","司","史","嗣","四",
"士","始","姉","姿","子","屍","市","師","志","思",
"指","支","孜","斯","施","旨","枝","止","死","氏",
"獅","祉","私","糸","紙","紫","肢","脂","至","視",
"詞","詩","試","誌","諮","資","賜","雌","飼","歯",
"事","似","侍","児","字","寺","慈","持","時","次",
"滋","治","爾","璽","痔","磁","示","而","耳","自",
"蒔","辞","汐","鹿","式","識","鴫","竺","軸","宍",
"雫","七","叱","執","失","嫉","室","悉","湿","漆",
"疾","質","実","蔀","篠","偲","柴","芝","屡","蕊",
"縞","舎","写","射","捨","赦","斜","煮","社","紗",
"者","謝","車","遮","蛇","邪","借","勺","尺","杓",
"灼","爵","酌","釈","錫","若","寂","弱","惹","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--",
],
[ #CT[21] 漢字(しゆ~しよ)
"し","主","取","守","手","朱","殊","狩","珠","種",
"腫","趣","酒","首","儒","受","呪","寿","授","樹",
"綬","需","囚","収","周","宗","就","州","修","愁",
"拾","洲","秀","秋","終","繍","習","臭","舟","蒐",
"衆","襲","讐","蹴","輯","週","酋","酬","集","醜",
"什","住","充","十","従","戎","柔","汁","渋","獣",
"縦","重","銃","叔","夙","宿","淑","祝","縮","粛",
"塾","熟","出","術","述","俊","峻","春","瞬","竣",
"舜","駿","准","循","旬","楯","殉","淳","準","潤",
"盾","純","巡","遵","醇","順","処","初","所","暑",
"曙","渚","庶","緒","署","書","薯","藷","諸","助",
"叙","女","序","徐","恕","鋤","除","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[22] 漢字(しよう)
"し","傷","償","勝","匠","升","召","哨","商","唱",
"嘗","奨","妾","娼","宵","将","小","少","尚","庄",
"床","廠","彰","承","抄","招","掌","捷","昇","昌",
"昭","晶","松","梢","樟","樵","沼","消","渉","湘",
"焼","焦","照","症","省","硝","礁","祥","称","章",
"笑","粧","紹","肖","菖","蒋","蕉","衝","裳","訟",
"証","詔","詳","象","賞","醤","鉦","鍾","鐘","障",
"鞘","上","丈","丞","乗","冗","剰","城","場","壌",
"嬢","常","情","擾","条","杖","浄","状","畳","穣",
"蒸","譲","醸","錠","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--",
],
[ #CT[23] 漢字(しよく~しん)
"し","嘱","埴","飾","拭","植","殖","燭","織","職",
"色","触","食","蝕","辱","尻","伸","信","侵","唇",
"娠","寝","審","心","慎","振","新","晋","森","榛",
"浸","深","申","疹","真","神","秦","紳","臣","芯",
"薪","親","診","身","辛","進","針","震","人","仁",
"刃","塵","壬","尋","甚","尽","腎","訊","迅","陣",
"靭","笥","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--",
],
[ #CT[24] 漢字(す)
"す","諏","須","酢","図","厨","逗","吹","垂","帥",
"推","水","炊","睡","粋","翠","衰","遂","酔","錐",
"錘","随","瑞","髄","崇","嵩","数","枢","趨","雛",
"据","杉","椙","菅","頗","雀","裾","澄","摺","寸",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[25] 漢字(せ)
"せ","世","瀬","畝","是","凄","制","勢","姓","征",
"性","成","政","整","星","晴","棲","栖","正","清",
"牲","生","盛","精","聖","声","製","西","誠","誓",
"請","逝","醒","青","静","斉","税","脆","隻","席",
"惜","戚","斥","昔","析","石","積","籍","績","脊",
"責","赤","跡","蹟","碩","切","拙","接","摂","折",
"設","窃","節","説","雪","絶","舌","蝉","仙","先",
"千","占","宣","専","尖","川","戦","扇","撰","栓",
"栴","泉","浅","洗","染","潜","煎","煽","旋","穿",
"箭","線","繊","羨","腺","舛","船","薦","詮","賎",
"践","選","遷","銭","銑","閃","鮮","前","善","漸",
"然","全","禅","繕","膳","糎","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--",
],
[ #CT[26] 漢字(そ)
"そ","噌","塑","岨","措","曾","曽","楚","狙","疏",
"疎","礎","祖","租","粗","素","組","蘇","訴","阻",
"遡","鼠","僧","創","双","叢","倉","喪","壮","奏",
"爽","宋","層","匝","惣","想","捜","掃","挿","掻",
"操","早","曹","巣","槍","槽","漕","燥","争","痩",
"相","窓","糟","総","綜","聡","草","荘","葬","蒼",
"藻","装","走","送","遭","鎗","霜","騒","像","増",
"憎","臓","蔵","贈","造","促","側","則","即","息",
"捉","束","測","足","速","俗","属","賊","族","続",
"卒","袖","其","揃","存","孫","尊","損","村","遜",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[27] 漢字(た)
"た","他","多","太","汰","詑","唾","堕","妥","惰",
"打","柁","舵","楕","陀","駄","騨","体","堆","対",
"耐","岱","帯","待","怠","態","戴","替","泰","滞",
"胎","腿","苔","袋","貸","退","逮","隊","黛","鯛",
"代","台","大","第","醍","題","鷹","滝","瀧","卓",
"啄","宅","托","択","拓","沢","濯","琢","託","鐸",
"濁","諾","茸","凧","蛸","只","叩","但","達","辰",
"奪","脱","巽","竪","辿","棚","谷","狸","鱈","樽",
"誰","丹","単","嘆","坦","担","探","旦","歎","淡",
"湛","炭","短","端","箪","綻","耽","胆","蛋","誕",
"鍛","団","壇","弾","断","暖","檀","段","男","談",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[28] 漢字(ち)
"ち","値","知","地","弛","恥","智","池","痴","稚",
"置","致","蜘","遅","馳","築","畜","竹","筑","蓄",
"逐","秩","窒","茶","嫡","着","中","仲","宙","忠",
"抽","昼","柱","注","虫","衷","註","酎","鋳","駐",
"樗","瀦","猪","苧","著","貯","丁","兆","凋","喋",
"寵","帖","帳","庁","弔","張","彫","徴","懲","挑",
"暢","朝","潮","牒","町","眺","聴","脹","腸","蝶",
"調","諜","超","跳","銚","長","頂","鳥","勅","捗",
"直","朕","沈","珍","賃","鎮","陳","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[29] 漢字(つ)
"つ","津","墜","椎","槌","追","鎚","痛","通","塚",
"栂","掴","槻","佃","漬","柘","辻","蔦","綴","鍔",
"椿","潰","坪","壷","嬬","紬","爪","吊","釣","鶴",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[30] 漢字(て)
"て","亭","低","停","偵","剃","貞","呈","堤","定",
"帝","底","庭","廷","弟","悌","抵","挺","提","梯",
"汀","碇","禎","程","締","艇","訂","諦","蹄","逓",
"邸","鄭","釘","鼎","泥","摘","擢","敵","滴","的",
"笛","適","鏑","溺","哲","徹","撤","轍","迭","鉄",
"典","填","天","展","店","添","纏","甜","貼","転",
"顛","点","伝","殿","澱","田","電","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[31] 漢字(と)
"と","兎","吐","堵","塗","妬","屠","徒","斗","杜",
"渡","登","菟","賭","途","都","鍍","砥","砺","努",
"度","土","奴","怒","倒","党","冬","凍","刀","唐",
"塔","塘","套","宕","島","嶋","悼","投","搭","東",
"桃","梼","棟","盗","淘","湯","涛","灯","燈","当",
"痘","祷","等","答","筒","糖","統","到","董","蕩",
"藤","討","謄","豆","踏","逃","透","鐙","陶","頭",
"騰","闘","働","動","同","堂","導","憧","撞","洞",
"瞳","童","胴","萄","道","銅","峠","鴇","匿","得",
"徳","涜","特","督","禿","篤","毒","独","読","栃",
"橡","凸","突","椴","届","鳶","苫","寅","酉","瀞",
"噸","屯","惇","敦","沌","豚","遁","頓","呑","曇",
"鈍","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--",
],
[ #CT[32] 漢字(な)
"な","奈","那","内","乍","凪","薙","謎","灘","捺",
"鍋","楢","馴","縄","畷","南","楠","軟","難","汝",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[33] 漢字(に)
"に","二","尼","弐","迩","匂","賑","肉","虹","廿",
"日","乳","入","如","尿","韮","任","妊","忍","認",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[34] 漢字(ぬ)
"ぬ","濡","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--",
],
[ #CT[35] 漢字(ね)
"ね","禰","祢","寧","葱","猫","熱","年","念","捻",
"撚","燃","粘","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--",
],
[ #CT[36] 漢字(の)
"の","乃","廼","之","埜","嚢","悩","濃","納","能",
"脳","膿","農","覗","蚤","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--",
],
[ #CT[37] 漢字(は)
"は","巴","把","播","覇","杷","波","派","琶","破",
"婆","罵","芭","馬","俳","廃","拝","排","敗","杯",
"盃","牌","背","肺","輩","配","倍","培","媒","梅",
"楳","煤","狽","買","売","賠","陪","這","蝿","秤",
"矧","萩","伯","剥","博","拍","柏","泊","白","箔",
"粕","舶","薄","迫","曝","漠","爆","縛","莫","駁",
"麦","函","箱","硲","箸","肇","筈","櫨","幡","肌",
"畑","畠","八","鉢","溌","発","醗","髪","伐","罰",
"抜","筏","閥","鳩","噺","塙","蛤","隼","伴","判",
"半","反","叛","帆","搬","斑","板","氾","汎","版",
"犯","班","畔","繁","般","藩","販","範","釆","煩",
"頒","飯","挽","晩","番","盤","磐","蕃","蛮","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--",
],
[ #CT[38] 漢字(ひ)
"ひ","匪","卑","否","妃","庇","彼","悲","扉","批",
"披","斐","比","泌","疲","皮","碑","秘","緋","罷",
"肥","被","誹","費","避","非","飛","樋","簸","備",
"尾","微","枇","毘","琵","眉","美","鼻","柊","稗",
"匹","疋","髭","彦","膝","菱","肘","弼","必","畢",
"筆","逼","桧","姫","媛","紐","百","謬","俵","彪",
"標","氷","漂","瓢","票","表","評","豹","廟","描",
"病","秒","苗","錨","鋲","蒜","蛭","鰭","品","彬",
"斌","浜","瀕","貧","賓","頻","敏","瓶","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[39] 漢字(ふ)
"ふ","不","付","埠","夫","婦","富","冨","布","府",
"怖","扶","敷","斧","普","浮","父","符","腐","膚",
"芙","譜","負","賦","赴","阜","附","侮","撫","武",
"舞","葡","蕪","部","封","楓","風","葺","蕗","伏",
"副","復","幅","服","福","腹","複","覆","淵","弗",
"払","沸","仏","物","鮒","分","吻","噴","墳","憤",
"扮","焚","奮","粉","糞","紛","雰","文","聞","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--",
],
[ #CT[40] 漢字(へ)
"へ","丙","併","兵","塀","幣","平","弊","柄","並",
"蔽","閉","陛","米","頁","僻","壁","癖","碧","別",
"瞥","蔑","箆","偏","変","片","篇","編","辺","返",
"遍","便","勉","娩","弁","鞭","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--",
],
[ #CT[41] 漢字(ほ)
"ほ","保","舗","鋪","圃","捕","歩","甫","補","輔",
"穂","募","墓","慕","戊","暮","母","簿","菩","倣",
"俸","包","呆","報","奉","宝","峰","峯","崩","庖",
"抱","捧","放","方","朋","法","泡","烹","砲","縫",
"胞","芳","萌","蓬","蜂","褒","訪","豊","邦","鋒",
"飽","鳳","鵬","乏","亡","傍","剖","坊","妨","帽",
"忘","忙","房","暴","望","某","棒","冒","紡","肪",
"膨","謀","貌","貿","鉾","防","吠","頬","北","僕",
"卜","墨","撲","朴","牧","睦","穆","釦","勃","没",
"殆","堀","幌","奔","本","翻","凡","盆","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[42] 漢字(ま)
"ま","摩","磨","魔","麻","埋","妹","昧","枚","毎",
"哩","槙","幕","膜","枕","鮪","柾","鱒","桝","亦",
"俣","又","抹","末","沫","迄","侭","繭","麿","万",
"慢","満","漫","蔓","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--",
],
[ #CT[43] 漢字(み)
"み","味","未","魅","巳","箕","岬","密","蜜","湊",
"蓑","稔","脈","妙","粍","民","眠","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[44] 漢字(む)
"む","務","夢","無","牟","矛","霧","鵡","椋","婿",
"娘","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--",
],
[ #CT[45] 漢字(め)
"め","冥","名","命","明","盟","迷","銘","鳴","姪",
"牝","滅","免","棉","綿","緬","面","麺","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[46] 漢字(も)
"も","摸","模","茂","妄","孟","毛","猛","盲","網",
"耗","蒙","儲","木","黙","目","杢","勿","餅","尤",
"戻","籾","貰","問","悶","紋","門","匁","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--",
],
[ #CT[47] 漢字(や)
"や","也","冶","夜","爺","耶","野","弥","矢","厄",
"役","約","薬","訳","躍","靖","柳","薮","鑓","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--",
],
[ #CT[48] 漢字(ゆ)
"ゆ","愉","愈","油","癒","諭","輸","唯","佑","優",
"勇","友","宥","幽","悠","憂","揖","有","柚","湧",
"涌","猶","猷","由","祐","裕","誘","遊","邑","郵",
"雄","融","夕","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--",
],
[ #CT[49] 漢字(よ)
"よ","予","余","与","誉","輿","預","傭","幼","妖",
"容","庸","揚","揺","擁","曜","楊","様","洋","溶",
"熔","用","窯","羊","耀","葉","蓉","要","謡","踊",
"遥","陽","養","慾","抑","欲","沃","浴","翌","翼",
"淀","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--",
],
[ #CT[50] 漢字(ら)
"ら","羅","螺","裸","来","莱","頼","雷","洛","絡",
"落","酪","乱","卵","嵐","欄","濫","藍","蘭","覧",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[51] 漢字(り)
"り","利","吏","履","李","梨","理","璃","痢","裏",
"裡","里","離","陸","律","率","立","葎","掠","略",
"劉","流","溜","琉","留","硫","粒","隆","竜","龍",
"侶","慮","旅","虜","了","亮","僚","両","凌","寮",
"料","梁","涼","猟","療","瞭","稜","糧","良","諒",
"遼","量","陵","領","力","緑","倫","厘","林","淋",
"燐","琳","臨","輪","隣","鱗","麟","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--",
],
[ #CT[52] 漢字(る)
"る","瑠","塁","涙","累","類","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--",
],
[ #CT[53] 漢字(れ)
"れ","令","伶","例","冷","励","嶺","怜","玲","礼",
"苓","鈴","隷","零","霊","麗","齢","暦","歴","列",
"劣","烈","裂","廉","恋","憐","漣","煉","簾","練",
"聯","蓮","連","錬","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--",
],
[ #CT[54] 漢字(ろ)
"ろ","呂","魯","櫓","炉","賂","路","露","労","婁",
"廊","弄","朗","楼","榔","浪","漏","牢","狼","篭",
"老","聾","蝋","郎","六","麓","禄","肋","録","論",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
[ #CT[55] 漢字(わ)
"わ","倭","和","話","歪","賄","脇","惑","枠","鷲",
"亙","亘","鰐","詫","藁","蕨","椀","湾","碗","腕",
"--","--","--","--","--","--","--","--","--","--",
"--","--","--","--","--","--","--","--","--","--",
],
]
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
super(0, 128, 640, 352)
self.contents = Bitmap.new(width - 32, height - 32)
@index = 0
@page = 0
$half_flag = false
refresh
update_cursor_rect
end
#--------------------------------------------------------------------------
# ● 文字の取得
#--------------------------------------------------------------------------
def character
return CHARACTER_TABLE[@page][@index].to_s
end
#--------------------------------------------------------------------------
# ● indexの取得
#--------------------------------------------------------------------------
def getindex
return @index
end
#--------------------------------------------------------------------------
# ● pageのセット
#--------------------------------------------------------------------------
def setpage(n)
@page = n
end
#--------------------------------------------------------------------------
# ● pageの取得
#--------------------------------------------------------------------------
def getpage
return @page
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
if @page >= 5 # 漢字入力
self.contents.font.color = system_color
else
self.contents.font.color = normal_color
end
i = 0
until CHARACTER_TABLE[@page]
== "--"
x = 4 + i % ($half_flag ? 40: 20) * ($half_flag ? 15: 29)
y = i / ($half_flag ? 40: 20) * 32
self.contents.draw_text(x, y, ($half_flag ? 15: 29), 32,
CHARACTER_TABLE[@page]
.to_s, 1)
if @page >= 6 && i == 0 # 漢字モード目次でなければ通常色に戻す
self.contents.font.color = normal_color
end
i += 1
end
# 項目名の表示、現在の選択モードを黄色く表示
if @page == 0
self.contents.font.color = Color.new(255, 255, 64, 255)
else
self.contents.font.color = normal_color
end
self.contents.draw_text(4, 9 * 32, 96, 32, "ひらがな", 1)
if @page == 1
self.contents.font.color = Color.new(255, 255, 64, 255)
else
self.contents.font.color = normal_color
end
self.contents.draw_text(120, 9 * 32, 96, 32, "カタカナ", 1)
if @page == 2
self.contents.font.color = Color.new(255, 255, 64, 255)
else
self.contents.font.color = normal_color
end
self.contents.draw_text(236, 9 * 32, 48, 32, "英数", 1)
if @page == 3
self.contents.font.color = Color.new(255, 255, 64, 255)
else
self.contents.font.color = normal_color
end
self.contents.draw_text(294, 9 * 32, 48, 32, "記号", 1)
if @page == 4
self.contents.font.color = Color.new(255, 255, 64, 255)
else
self.contents.font.color = normal_color
end
self.contents.draw_text(352, 9 * 32, 48, 32, "半角", 1)
if @page >= 5
self.contents.font.color = Color.new(255, 255, 64, 255)
else
self.contents.font.color = normal_color
end
self.contents.draw_text(410, 9 * 32, 48, 32, "漢字", 1)
self.contents.font.color = normal_color
self.contents.draw_text(468, 9 * 32, 48, 32, "戻す", 1)
self.contents.draw_text(526, 9 * 32, 48, 32, "決定", 1)
end
#--------------------------------------------------------------------------
# ● カーソルの矩形更新
#--------------------------------------------------------------------------
def update_cursor_rect
case @index
when 300 # ひらがな
self.cursor_rect.set( 4, 9 * 32, 96, 32)
when 301 # カタカナ
self.cursor_rect.set(120, 9 * 32, 96, 32)
when 302 # 英数
self.cursor_rect.set(236, 9 * 32, 48, 32)
when 303 # 記号
self.cursor_rect.set(294, 9 * 32, 48, 32)
when 304 # 半角
self.cursor_rect.set(352, 9 * 32, 48, 32)
when 305 # 戻す
self.cursor_rect.set(410, 9 * 32, 48, 32)
when 306 # 漢字
self.cursor_rect.set(468, 9 * 32, 48, 32)
when 307 # 決定
self.cursor_rect.set(526, 9 * 32, 48, 32)
else # 文字
x = 4 + @index % ($half_flag ? 40: 20) * ($half_flag ? 15: 29)
y = @index / ($half_flag ? 40: 20) * 32
self.cursor_rect.set(x, y, ($half_flag ? 15: 29), 32)
end
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
# カーソル位置が最下段の場合
if @index >= 300
# カーソル下
if Input.trigger?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
case @index
when 300
@index = 0
when 301
@index = $half_flag ? 8 : 4
when 302
@index = $half_flag ? 16 : 8
when 303
@index = $half_flag ? 20 : 10
when 304
@index = $half_flag ? 24 : 12
when 305
@index = $half_flag ? 28 : 14
when 306
@index = $half_flag ? 32 : 16
when 307
@index = $half_flag ? 36 : 18
end
while CHARACTER_TABLE[@page][@index] == "--"
@index -= 1
end
end
# カーソル上
if Input.trigger?(Input::UP)
$game_system.se_play($data_system.cursor_se)
case @index
when 300
@index = 0
when 301
@index = $half_flag ? 8 : 4
when 302
@index = $half_flag ? 16 : 8
when 303
@index = $half_flag ? 20 : 10
when 304
@index = $half_flag ? 24 : 12
when 305
@index = $half_flag ? 28 : 14
when 306
@index = $half_flag ? 32 : 16
when 307
@index = $half_flag ? 36 : 18
end
begin
@index += $half_flag ? 40 : 20
end until CHARACTER_TABLE[@page][@index] == "--"
@index -= $half_flag ? 40 : 20
end
# カーソル左
if Input.trigger?(Input::LEFT)
$game_system.se_play($data_system.cursor_se)
@index -= 1
if @index == 299
@index = 307
end
end
# カーソル右
if Input.trigger?(Input::RIGHT)
$game_system.se_play($data_system.cursor_se)
@index += 1
if @index == 308
@index = 300
end
end
# カーソル位置が文字の場合
else
# 方向ボタンの右が押された場合
if Input.repeat?(Input::RIGHT)
# 押下状態がリピートでない場合か、
# カーソル位置が右端ではない場合
# あるいは次が空でも"--"でもない場合
if Input.trigger?(Input::RIGHT) or
@index % ($half_flag ? 40 : 20) != ($half_flag ? 39 : 19) and
CHARACTER_TABLE[@page][@index+1] != "" and
CHARACTER_TABLE[@page][@index+1] != "--"
# カーソルを右に移動
$game_system.se_play($data_system.cursor_se)
@index += 1
while CHARACTER_TABLE[@page][@index] == ""
@index += 1
end
if CHARACTER_TABLE[@page][@index] == "--"
@index = @index - @index % $half_flag ? 40 : 20
end
end
end
# 方向ボタンの左が押された場合
if Input.repeat?(Input::LEFT)
# 押下状態がリピートでない場合か、
# カーソル位置が左端ではない場合
if Input.trigger?(Input::LEFT) or
@index % ($half_flag ? 40 : 20) != 0
# カーソルを左に移動
$game_system.se_play($data_system.cursor_se)
if @index > 0
@index -= 1
else
@index = $half_flag ? 39 : 19
end
while CHARACTER_TABLE[@page][@index] == "" or
CHARACTER_TABLE[@page][@index] == "--"
@index -= 1
end
end
end
# 方向ボタンの下が押された場合
if Input.repeat?(Input::DOWN)
# カーソルを下に移動
$game_system.se_play($data_system.cursor_se)
@index += $half_flag ? 40 : 20
while CHARACTER_TABLE[@page][@index] == ""
@index += $half_flag ? 40 : 20
end
if CHARACTER_TABLE[@page][@index] == "--"
case @index % ($half_flag ? 40 : 20)
when ($half_flag ? 0.. 7 : 0.. 3)
@index = 300
when ($half_flag ? 8..15 : 4.. 7)
@index = 301
when ($half_flag ? 16..19 : 8.. 9)
@index = 302
when ($half_flag ? 20..23 : 10..11)
@index = 303
when ($half_flag ? 24..27 : 12..13)
@index = 304
when ($half_flag ? 28..31 : 14..15)
@index = 305
when ($half_flag ? 32..35 : 16..17)
@index = 306
when ($half_flag ? 36..39 : 18..19)
@index = 307
end
end
end
# 方向ボタンの上が押された場合
if Input.repeat?(Input::UP)
# リピート状態でない場合
if Input.trigger?(Input::UP) or @index >= ($half_flag ? 40 : 20)
# カーソルを上に移動
$game_system.se_play($data_system.cursor_se)
begin
@index -= $half_flag ? 40 : 20
if @index < 0
case @index
when ($half_flag ? -40..-33 : -20..-17)
@index = 300
when ($half_flag ? -32..-25 : -16..-13)
@index = 301
when ($half_flag ? -24..-21 : -12..-11)
@index = 302
when ($half_flag ? -20..-17 : -10.. -9)
@index = 303
when ($half_flag ? -16..-13 : -8.. -7)
@index = 304
when ($half_flag ? -12.. -9 : -6.. -5)
@index = 305
when ($half_flag ? -8.. -5 : -4.. -3)
@index = 306
when ($half_flag ? -4.. -1 : -2.. -1)
@index = 307
end
break
end
end while @index >= 0 and CHARACTER_TABLE[@page][@index] == ""
end
end
end
# L ボタンが押された場合
if Input.repeat?(Input::L)
# かなカナ / 英数記号 移動
$game_system.se_play($data_system.cursor_se)
if @page == 6
@page = 55 # この55は漢字の最終ページ
elsif @page == 0 # 漢字目次へ
@page = 5
else
@page -= 1
if @page == 4
$half_flag = true
else
$half_flag = false
end
end
@index = 0
self.refresh
end
# R ボタンが押された場合
if Input.repeat?(Input::R)
# かなカナ / 英数記号 移動
$game_system.se_play($data_system.cursor_se)
if @page == 55 # この55は漢字の最終ページ
@page = 6
elsif @page == 5 # 漢字目次
@page = 0
else
@page += 1
if @page == 4
$half_flag = true
else
$half_flag = false
end
end
@index = 0
self.refresh
end
if CHARACTER_TABLE[@page][@index] == "--"
@index = 0
end
update_cursor_rect
end
end
#--------------------------------------------------------------------------
# ● 半角判定
#--------------------------------------------------------------------------
def is_half(char)
if char == nil
return false
elsif char[/[。-゚ -~]/] != nil
return true
else
return false
end
end
#--------------------------------------------------------------------------
# ● バイト数取得
#--------------------------------------------------------------------------
def byte_length(str)
byte = 0
strary = str.split(//)
for i in 0 ... str.length
break if strary
== nil
byte += is_half(strary
) ? 1 : 2
end
return byte
end
我把上面的工作做好之后,测试时就是没有分类用的文字···
作者:
黑白旋律
时间:
2010-11-21 20:12
是不是有一些字是宋体不能显示的?
作者:
qiji19980124
时间:
2010-11-22 19:53
回复
黑白旋律
的帖子
不是。我用的是微软雅黑的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1