| 赞 | 1  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 2 | 
 
| 经验 | 0 | 
 
| 最后登录 | 2025-5-28 | 
 
| 在线时间 | 11 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 190 
 
        - 在线时间
 - 11 小时
 
        - 注册时间
 - 2021-9-24
 
        - 帖子
 - 9
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
 本帖最后由 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 |   
 
 
 
 |