Project1

标题: 文字显示 [打印本页]

作者: sblkhgm    时间: 2012-7-5 15:47
标题: 文字显示
请问怎么改  让文字显示两行
  1. class   W_cefu < Window_Selectable
  2.   def initialize(x=nil,y=nil,z=nil)
  3.     super(145, 120, 344,96)
  4.   
  5.     self.contents = Bitmap.new(600 , height )
  6.     self.contents.font.name= "黑体"
  7.         if x != nil
  8.         self.contents.font.color.set(x, y, z)
  9.         end
  10.     self.contents.font.size=16
  11.     self.z = 9999
  12.      x = y = 0
  13.     if  $tishi_xinxi != nil
  14.       text= $tishi_xinxi
  15.       
  16.       

  17. #=====================6饭改,手动换行===============================
  18.       if (/\\n/.match(text)) != nil
  19.         $tishi_xinxi.choice_start += 1
  20.         text.gsub!(/\\n/) { "\n" }
  21.       end
  22. #===================================================================   
  23.       
  24.       
  25.       
  26.       text.gsub!(/\#([0-9]+)/) { "\003#{$1}" }
  27.        # c 获取 1 个字 (如果不能取得文字就循环)
  28.      
  29.       while ((c = text.slice!(/./m)) != nil)
  30.       
  31.         # \\ 的情况下
  32.         if c == "\000"
  33.           # 还原为本来的文字
  34.           c = "\\"
  35.         end
  36.         # \C[n] 的情况下
  37.       
  38.         #===========================夏娜改,6饭再改===========================
  39.         if c == "\003"
  40.         #  text.sub!(/\[([0-9]+)\]/, "")
  41.            text.sub!(/([0-9]+)/, "")   
  42.           @ani_array = [] if @ani_array.nil?
  43.           id = $1.to_i
  44.           if id > 100
  45.             return
  46.           end  
  47.           id = 100 if $1.to_i == 0
  48.           @w17v = Viewport.new(self.x + x + 6,self.y + y * 32 ,100,100)
  49.           @w17v.z = 9999
  50.           w17 = RPG::Sprite.new(@w17v)

  51.           w17.x= self.x + x + 1
  52.           w17.y= self.y + y * 16 - 5
  53.           w17.bitmap = Bitmap.new(48,46)
  54.           w17.loop_animation($data_animations[id])
  55.           @ani_array.push w17
  56.            x += 32
  57.          
  58.           # 下面的文字         
  59.           next
  60.         end
  61. #=====================================================================   
  62.         # \G 的情况下
  63.       
  64.         # 另起一行文字的情况下
  65.         if c == "\n"
  66.           c = ""
  67.         end
  68.       
  69.         if c == "★"
  70.           # 刷新选择项及光标的宽
  71.           if y >= $game_temp.choice_start

  72.             @cursor_width = [@cursor_width, x].max
  73.             
  74.           end
  75.           # y 加 1
  76.           y += 1
  77.           x = 0
  78.          
  79.           # 下面的文字
  80.           next
  81.         end
  82.         # 描绘文字
  83.         self.contents.draw_text(4 + x - 4, 16* y-9, 40, 32, c)  #
  84.         # x 为要描绘文字的加法运算
  85.         x += self.contents.text_size(c).width
  86.       end
  87.   
  88.         $tishi_xinxi = nil
  89.     end
  90.   end
  91.   #----------------
  92.   
  93.   def  update_donghua
  94.      #============================夏娜改===========================
  95.     if @ani_array != nil
  96.       for sp in @ani_array
  97.         sp.update
  98.       end
  99.     end
  100.     #=============================================================   
  101.   end
  102.   def  dispose_donghua
  103.     if @ani_array != nil
  104.       for i in 0...@ani_array.size
  105.         @ani_array[i].dispose
  106.       end  
  107.     end  
  108.   end
  109.   def update
  110.     # 按下 C 键的情况下
  111.     if Input.trigger?(Input::C)
  112.    self.visible = false
  113.    self.contents.clear
  114.     end
  115.    
  116.   end
  117. end
复制代码
dsu_plus_rewardpost_czw
作者: 当风过时    时间: 2012-7-5 18:48
修改一下这里
# 另起一行文字的情况下
        if c == "\n"
          x = 0
          y += 1
          c = ""
        end
然后就可以在你要显示的文字里加上"\n"来分行,没有实例我没法调试,不知道会不会和原来的有什么冲突
作者: sblkhgm    时间: 2012-7-6 21:11
当风过时 发表于 2012-7-5 18:48
修改一下这里
# 另起一行文字的情况下
        if c == "\n"

对啊   我也是这样弄的啊   还加了颜色的  和原来的脚本一样  。我这要显示的文字  是在事件的脚本中写的  
作者: 当风过时    时间: 2012-7-6 21:43
事件脚本里不能用?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1