赞 | 3 |
VIP | 21 |
好人卡 | 10 |
积分 | 2 |
经验 | 32573 |
最后登录 | 2024-6-13 |
在线时间 | 332 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 155
- 在线时间
- 332 小时
- 注册时间
- 2013-7-6
- 帖子
- 356
|
LZ可以试试这个脚本,这个脚本可以显示文章为图片:- #==========================================================================
- # Dump_Font
- #--------------------------------------------------------------------------
- # Fontの属性情報をdumpできるように保存するクラス
- # Bitmap#font=()へ引き渡す際はto_fontメソッドを用いる
- #--------------------------------------------------------------------------
- # ver.1.00(05/10/06) by 箱入小屋 http://aea.to/hako/
- #==========================================================================
- class Dump_Font
- # 初期化
- # font : Fontオブジェクト
- def initialize(font)
- @name = font.name
- @size = font.size
- @bold = font.bold
- @italic = font.italic
- [url=home.php?mod=space&uid=10453]@color[/url] = Color.new(font.color.red, font.color.green, font.color.blue,
- font.color.alpha)
- end
-
- # Fontオブジェクトに変換して返す
- def to_font
- font = Font.new(@name, @size)
- font.bold = @bold
- font.italic = @italic
- font.color = @color
- return font
- end
- end
- #==========================================================================
- # text_picture
- #--------------------------------------------------------------------------
- # イベントコマンド「スクリプト」でメソッド「text_picture」を呼び出した後、
- # イベントコマンド「ピクチャの表示」で表示します。
- # クラス「Dump_Font」が必要です。
- #--------------------------------------------------------------------------
- # ver 1.03 (05/10/08) by 箱入小屋 http://aea.to/hako/
- #==========================================================================
- class Interpreter
- #--------------------------------------------------------------------------
- # ● 文字列を「ピクチャ」として表示
- # text : 文字列
- # font : フォント(Font) *省略可
- #--------------------------------------------------------------------------
- def text_picture(text, font = nil)
- if font.is_a?(Font) and not Font.exist?(font.name)
- #◆ フォントが存在しない場合のフォント名
- font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"]
- elsif font.nil?
- font = Font.new
- #◆ フォントを指定しなかった場合のフォント
- font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"] # フォント名
- font.size = 22 # サイズ
- font.bold = false # ボールド(太字)フラグ
- font.italic = false # イタリック(斜体)フラグ
- font.color = Color.new(255,255,255) # フォントカラー(R, G, B)
- end
- @draw_text = [1, text, Dump_Font.new(font)]
- return true
- end
- #--------------------------------------------------------------------------
- # ● ピクチャの表示(再定義)
- #--------------------------------------------------------------------------
- alias text_picture_command231 command_231
- def command_231
- unless @draw_text.nil?
- @parameters[1] = @draw_text # picture_name
- end
- text_picture_command231
- @draw_text = nil
- return true
- end
- end
- class Sprite_Picture < Sprite
- #--------------------------------------------------------------------------
- # ● フレーム更新(再定義)
- #--------------------------------------------------------------------------
- alias text_picture_update update
- def update
- # text_picture(Interpreter)で文字列を指定された場合
- if @picture_name != @picture.name and @picture.name[0] == 1
- @picture_name = @picture.name # [id(1), text, Dump_Font]の配列
- self.bitmap = Bitmap.new(640, 100)
- font = @picture_name[2].to_font
- self.bitmap.font = font
- rect = self.bitmap.text_size(@picture_name[1])
- self.bitmap.dispose
- self.bitmap = Bitmap.new(rect.width, rect.height)
- self.bitmap.font = font
- self.bitmap.draw_text(rect, @picture_name[1])
- end
- text_picture_update
- end
- end
- #==========================================================================
- # text_picture2 -- 複数行の文字列を「ピクチャ」として表示
- #--------------------------------------------------------------------------
- # イベントコマンド「スクリプト」で
- # text_picture2(text [, font [, align]])
- # を呼び出した後、イベントコマンド「ピクチャの表示」で表示します。
- # クラス「Dump_Font」が必要です。
- #--------------------------------------------------------------------------
- # ver 1.00 (05/10/10) by 箱入小屋 http://aea.to/hako/
- #==========================================================================
- class Sprite_Picture < Sprite
- #--------------------------------------------------------------------------
- # ◆ 定数
- #--------------------------------------------------------------------------
- # 行間の指定 (指定しない方は nil にしてください)
- LINE_SPACE_PIXEL = 10 # ピクセル数で指定
- LINE_SPACE_VARID = nil # このIDのゲーム変数に代入されている値で指定
- end
- class Interpreter
- #--------------------------------------------------------------------------
- # ● 複数行の文字列を「ピクチャ」として設定
- # text : 文字列
- # font : フォント(Font) *省略可
- # align : アラインメント (0..左揃え、1..中央揃え、2..右揃え) *省略可
- #--------------------------------------------------------------------------
- def text_picture2(text, font = nil, align = 0)
- if font.is_a?(Font) and not Font.exist?(font.name)
- #◆ フォントがない場合のフォント名
- font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"]
- elsif font.nil?
- font = Font.new
- #◆ フォントを指定しなかった場合のフォント
- font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"] # フォント名
- font.size = 22 # サイズ
- font.bold = false # ボールド(太字)フラグ
- font.italic = false # イタリック(斜体)フラグ
- font.color = Color.new(255,255,255) # フォントカラー(R, G, B)
- end
- @draw_text = [2, text, Dump_Font.new(font), align]
- return true
- end
- #--------------------------------------------------------------------------
- # ● ピクチャの表示(再定義)
- #--------------------------------------------------------------------------
- alias text_picture2_command231 command_231
- def command_231
- unless @draw_text.nil?
- @parameters[1] = @draw_text
- end
- text_picture2_command231
- @draw_text = nil
- return true
- end
- end
- class Sprite_Picture < Sprite
- #--------------------------------------------------------------------------
- # ● フレーム更新(再定義)
- #--------------------------------------------------------------------------
- alias text_picture2_update update
- def update
- # Interpreter#text_picture2で文字列表示の情報を受け取った場合
- if @picture_name != @picture.name and @picture.name[0] == 2
- @picture_name = @picture.name #=> [id(2), text, Dump_Font, align]
- self.bitmap = Bitmap.new(640, 480)
- self.bitmap.font = @picture_name[2].to_font
- y = 0
- space = LINE_SPACE_PIXEL ? LINE_SPACE_PIXEL : $game_variables[LINE_SPACE_VARID]
- @picture_name[1].each_line do |line|
- h = self.bitmap.text_size(line).height
- self.bitmap.draw_text(0, y, 640, h, line, @picture_name[3])
- y += h + space
- end
- end
- text_picture2_update
- end
- end
复制代码 调用方法:
脚本:
s = "文章内容" font = Font.new("黑体", 24) font.color = Color.new(255,255,255) text_picture2(s,font,1.5)
s = "文章内容"
font = Font.new("黑体", 24)
font.color = Color.new(255,255,255)
text_picture2(s,font,1.5)
|
评分
-
查看全部评分
|