Project1
标题:
已经解决
[打印本页]
作者:
xsin
时间:
2021-10-16 20:21
标题:
已经解决
本帖最后由 xsin 于 2021-11-24 10:23 编辑
试着汉化游戏但是发现一个问题 可能关于转码或者bitmap
他可能用的是bitmap来拼合某些字符串来表达
用这种复合表达的时候 中文无法显示
目前已知采用了半生的bitmap Bitmapクラスの拡張 (DLL版)
Ver 0.1.2.2
它定义过这个
#==============================================================================
# ■ 文字列の調整
#------------------------------------------------------------------------------
# 引数 mozi:調整したい文字
# 戻値 text_list:位置行ごとの配列状態の文字
#==============================================================================
def text_Adjust mozi = ""
temp_mozi = mozi
temp_mozi = temp_mozi.gsub("\\n","\n")
#temp_mozi = convert_special_characters temp_mozi
text_list=[]
x = 0
temp_mozi.each_line {|line| #改行を読み取り複数行表示する
line.sub!("¥n", "") # ¥は半角に直す
line = line.gsub("\r", "")#改行コード?が文字化けするので削除
line = line.gsub("\n", "")#
line = line.gsub(" ", "")#半角スペースも削除
text_list[x]=line
#p text,text_list[x]
x += 1
}
#p text_list.size,text_list
return text_list
end
end
比如表示道具的时候 mozi表示的地方的地方就完全不能显示汉字 所有我注掉了 但是这样的话就无法在道具栏说明里显示某些变量 比如 当前 活武器经验之类的
比如
mozi = $data_items[@@possession_card_id[x]].name.to_s
output_mozi mozi
rect = Rect.new(16*0,16*0, 16*mozi.split(//u).size,24)
其中中文就无法显示 但日文和数字可以 但也不是我指定的字体 只有 text = ":" + $game_party.item_number($data_items[@@possession_card_id[x]]).to_s 这样的才可以直接显示中文(而且是我设置的字体)
其他各脚本都看过了 没有找到字体
有easyconv 不知道和这个有没有关系
#カードアイコン表示
picture = Cache.picture("顔カード")
rect = put_icon $data_items[@@possession_card_id[@@cursorstatex + 1 + @@cursorstatey * Possession_Card_Column].to_i].id
@explanation_window.contents.blt(8,0,picture,rect)
#説明表示
text = $data_items[@@possession_card_id[@@cursorstatex + 1 + @@cursorstatey * Possession_Card_Column].to_i].note
y = 0
text.each_line {|line| #改行を読み取り複数行表示する
line.sub!("¥n", "") # ¥は半角に直す
line = line.gsub("\r", "")#改行コード?が文字化けするので削除
line = line.gsub("\n", "")#
mozi = line
output_mozi mozi
rect = Rect.new(16*0,16*0, 16*mozi.split(//u).size,24)
@explanation_window.contents.blt(112, y*24, $tec_mozi,rect)
#@explanation_window.contents.draw_text(112, y, 370, 40, line)
y += 1#24
}
==========================
# ● 所持カード表示
#--------------------------------------------------------------------------
def output_possession_card
@put_card_kyousei_run = false #強制出力フラグを元に戻す
y = 0
#表示
possession_card = 0
#@put_area_y = 0
#p @@cursorstatey, @put_area_y,@put_card_strat_x
#p @put_card_strat_x,@temp_possession_card_num,@@possession_card_id.size
#p @put_card_strat_x,@temp_possession_card_num,@@possession_card_id
for x in @put_card_strat_x..@@possession_card_id.size - 1
#p x
#カード名
# @possession_card_window.contents.draw_text(possession_card*Possession_Cardx-y*600, Possession_Cardy*y, 110, 20, @@possession_card_id[x])
text = $data_items[@@possession_card_id[x]].name.to_s
@possession_card_window.contents.draw_text(16+possession_card*Possession_Cardx-y*600, Possession_Cardy*y, 110, 20, text)
#mozi = $data_items[@@possession_card_id[x]].name.to_s
#output_mozi mozi
# rect = Rect.new(16*0,16*0, 16*mozi.split(//u).size,24)
# @possession_card_window.contents.blt(18+possession_card*Possession_Cardx-y*600, Possession_Cardy*y-2,$tec_mozi,rect)
#カード数
text = ":" + $game_party.item_number($data_items[@@possession_card_id[x]]).to_s
@possession_card_window.contents.draw_text(125+possession_card*Possession_Cardx-y*600, Possession_Cardy*y, 48, 20, text)
#カード二桁持てるか
if $game_switches[72] == true
mozi = " :"
mozi += " " if $game_party.item_number($data_items[@@possession_card_id[x]]).to_s.size == 1
else
mozi = " :"
end
mozi += $game_party.item_number($data_items[@@possession_card_id[x]]).to_s
output_mozi mozi
rect = Rect.new(16*0,16*0, 16*mozi.split(//u).size,1)
@possession_card_window.contents.blt(18+possession_card*Possession_Cardx-y*600, Possession_Cardy*y-2,$tec_mozi,rect)
possession_card += 1
if possession_card != 0 && possession_card % Possession_Card_Column == 0
y += 1
end
break if (@put_card_strat_x+Possession_Card_Row*Possession_Card_Column - 1) <= x
end
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1