幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2593|回复: 14

[RMVX] 请问如何在游戏中实现上下两个对话框同时出现?

[复制链接]

2

主题

10

帖子

112

积分

③业余

积分
112
发表于 2006-7-17 18:56:09 | 显示全部楼层 |阅读模式
我在做游戏的时候发现设置文章的时候,一个时间只能看到一个,我想可不可以在屏幕上显示两段文章,一段在上面,一段在下面,然后人物对话的时候可以按照顺序变换
回复

使用道具 举报

30

主题

477

帖子

5219

积分

⑦老手

积分
5219
发表于 2006-7-17 19:24:01 | 显示全部楼层
我也新手,问一下:按照顺序变换什么意思?
回复 支持 反对

使用道具 举报

2

主题

10

帖子

112

积分

③业余

积分
112
 楼主| 发表于 2006-7-17 19:30:54 | 显示全部楼层
我是想说:比如第一句在下面,第二句在上面,第三句跳回第一句的位置,第四句替换第二句,类推~~~
回复 支持 反对

使用道具 举报

113

主题

866

帖子

7004

积分

⑦老手

pliskin

积分
7004
发表于 2006-7-17 19:45:55 | 显示全部楼层
你是要做宣传特效?
用图片做吧
最近,迷上八云紫大婶了
回复 支持 反对

使用道具 举报

2

主题

10

帖子

112

积分

③业余

积分
112
 楼主| 发表于 2006-7-17 20:09:39 | 显示全部楼层
人物的对话~~~
回复 支持 反对

使用道具 举报

10

主题

69

帖子

1659

积分

⑥精研

论坛游人

积分
1659
发表于 2006-7-17 20:23:30 | 显示全部楼层
想说像早些时候的机战那样?一个人物在上方说话另一个人物在下方说话?
画一张图分好上下对话框的位置,然后对话时设定不显示对话框,显示图片!不过似乎对话内容一次只能显示一边的样子,2边对话不能同时出现啊……对话时人物头像显示可以用脚本做到同时显示2个头像和对话框……
回复 支持 反对

使用道具 举报

2

主题

10

帖子

112

积分

③业余

积分
112
 楼主| 发表于 2006-7-17 20:41:00 | 显示全部楼层
对啊..我就是想实现对话内容一次可以显示两边...请大家帮忙
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2006-7-17 21:12:23 | 显示全部楼层
理论上说用图片来做对话框就可以了。至于如何保留文字,这还真是个RP的问题…… [s:5]
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

2

主题

10

帖子

112

积分

③业余

积分
112
 楼主| 发表于 2006-7-17 21:25:36 | 显示全部楼层
我的想法是把那些文字做成图片,然后用脚本显示文字图片,然后我找到一个脚本,可以把文字显示成图片,然后,没有图片的背景框,基于本人的水平,没能把背景叠加到文字下面,请各位帮忙:
重点:在本脚本的文字显示为图片上添加一个背景图,仿对话框
脚本如下:
#==========================================================================
# 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
    @color = 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_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
#      self.back_opacity = 160
      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
回复 支持 反对

使用道具 举报

38

主题

3468

帖子

1

积分

超级版主

传说中的Bunny火神~!

Rank: 8Rank: 8

积分
1
发表于 2006-7-17 21:27:44 | 显示全部楼层
如果已经做成图片的话,应该可以直接用显示图片的方法。
我突然发现,我是一个很幸运的好人。老婆真好~ 点我进入JQ(激情)教程范例收集!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-28 23:48 , Processed in 0.010893 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表