设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1546|回复: 3
打印 上一主题 下一主题

[已经过期] 关于半透明的对话框的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
240
在线时间
2 小时
注册时间
2013-8-28
帖子
1
跳转到指定楼层
1
发表于 2013-8-29 12:59:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
用PS做了一个,png导出了,透明度也调了,但是还是会挡住背景是怎么回事?

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
2
发表于 2013-8-29 13:08:06 | 只看该作者
本帖最后由 wolves 于 2013-8-29 13:09 编辑

你想要不挡住背景的话,用这个脚本:
  1. #==========================================================================
  2. # Dump_Font
  3. #--------------------------------------------------------------------------
  4. # Fontの属性情報をdumpできるように保存するクラス
  5. # Bitmap#font=()へ引き渡す際はto_fontメソッドを用いる
  6. #--------------------------------------------------------------------------
  7. # ver.1.00(05/10/06) by 箱入小屋 [url]http://aea.to/hako/[/url]
  8. #==========================================================================

  9. class Dump_Font
  10. # 初期化
  11. #  font : Fontオブジェクト
  12. def initialize(font)
  13.    @name = font.name
  14.    @size = font.size
  15.    @bold = font.bold
  16.    @italic = font.italic
  17.    [url=home.php?mod=space&uid=10453]@color[/url] = Color.new(font.color.red, font.color.green, font.color.blue,
  18.                       font.color.alpha)
  19. end

  20. # Fontオブジェクトに変換して返す
  21. def to_font
  22.    font = Font.new(@name, @size)
  23.    font.bold = @bold
  24.    font.italic = @italic
  25.    font.color = @color
  26.    return font
  27. end
  28. end


  29. #==========================================================================
  30. # text_picture
  31. #--------------------------------------------------------------------------
  32. # イベントコマンド「スクリプト」でメソッド「text_picture」を呼び出した後、
  33. # イベントコマンド「ピクチャの表示」で表示します。
  34. # クラス「Dump_Font」が必要です。
  35. #--------------------------------------------------------------------------
  36. # ver 1.03 (05/10/08) by 箱入小屋 [url]http://aea.to/hako/[/url]
  37. #==========================================================================

  38. class Interpreter
  39. #--------------------------------------------------------------------------
  40. # ● 文字列を「ピクチャ」として表示
  41. #   text : 文字列
  42. #   font : フォント(Font) *省略可
  43. #--------------------------------------------------------------------------
  44. def text_picture(text, font = nil)
  45.    if font.is_a?(Font) and not Font.exist?(font.name)
  46.      #◆ フォントが存在しない場合のフォント名
  47.      font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"]
  48.    elsif font.nil?
  49.      font = Font.new
  50.      #◆ フォントを指定しなかった場合のフォント
  51.      font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"] # フォント名
  52.      font.size = 22                      # サイズ
  53.      font.bold = false                   # ボールド(太字)フラグ
  54.      font.italic = false                 # イタリック(斜体)フラグ
  55.      font.color = Color.new(255,255,255) # フォントカラー(R, G, B)
  56.    end
  57.    @draw_text = [1, text, Dump_Font.new(font)]
  58.    return true
  59. end
  60. #--------------------------------------------------------------------------
  61. # ● ピクチャの表示(再定義)
  62. #--------------------------------------------------------------------------
  63. alias text_picture_command231 command_231
  64. def command_231
  65.    unless @draw_text.nil?
  66.      @parameters[1] = @draw_text # picture_name
  67.    end
  68.    text_picture_command231
  69.    @draw_text = nil
  70.    return true
  71. end
  72. end

  73. class Sprite_Picture < Sprite
  74. #--------------------------------------------------------------------------
  75. # ● フレーム更新(再定義)
  76. #--------------------------------------------------------------------------
  77. alias text_picture_update update
  78. def update
  79.    # text_picture(Interpreter)で文字列を指定された場合
  80.    if @picture_name != @picture.name and @picture.name[0] == 1
  81.      @picture_name = @picture.name # [id(1), text, Dump_Font]の配列
  82.      self.bitmap = Bitmap.new(640, 100)
  83.      font = @picture_name[2].to_font
  84.      self.bitmap.font = font
  85.      rect = self.bitmap.text_size(@picture_name[1])
  86.      self.bitmap.dispose
  87.      self.bitmap = Bitmap.new(rect.width, rect.height)
  88.      self.bitmap.font = font
  89.      self.bitmap.draw_text(rect, @picture_name[1])
  90.    end
  91.    text_picture_update
  92. end
  93. end


  94. #==========================================================================
  95. # text_picture2 -- 複数行の文字列を「ピクチャ」として表示
  96. #--------------------------------------------------------------------------
  97. # イベントコマンド「スクリプト」で
  98. #   text_picture2(text [, font [, align]])
  99. # を呼び出した後、イベントコマンド「ピクチャの表示」で表示します。
  100. # クラス「Dump_Font」が必要です。
  101. #--------------------------------------------------------------------------
  102. # ver 1.00 (05/10/10) by 箱入小屋 [url]http://aea.to/hako/[/url]
  103. #==========================================================================

  104. class Sprite_Picture < Sprite
  105. #--------------------------------------------------------------------------
  106. # ◆ 定数
  107. #--------------------------------------------------------------------------
  108. # 行間の指定 (指定しない方は nil にしてください)
  109. LINE_SPACE_PIXEL = 10   # ピクセル数で指定
  110. LINE_SPACE_VARID = nil  # このIDのゲーム変数に代入されている値で指定
  111. end

  112. class Interpreter
  113. #--------------------------------------------------------------------------
  114. # ● 複数行の文字列を「ピクチャ」として設定
  115. #   text  : 文字列
  116. #   font  : フォント(Font) *省略可
  117. #   align : アラインメント (0..左揃え、1..中央揃え、2..右揃え) *省略可
  118. #--------------------------------------------------------------------------
  119. def text_picture2(text, font = nil, align = 0)
  120.    if font.is_a?(Font) and not Font.exist?(font.name)
  121.      #◆ フォントがない場合のフォント名
  122.      font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"]
  123.    elsif font.nil?
  124.      font = Font.new
  125.      #◆ フォントを指定しなかった場合のフォント
  126.      font.name = ["MS Pゴシック", "MS P明朝", "黑体", "宋体"] # フォント名
  127.      font.size = 22                      # サイズ
  128.      font.bold = false                   # ボールド(太字)フラグ
  129.      font.italic = false                 # イタリック(斜体)フラグ
  130.      font.color = Color.new(255,255,255) # フォントカラー(R, G, B)
  131.    end
  132.    @draw_text = [2, text, Dump_Font.new(font), align]
  133.    return true
  134. end
  135. #--------------------------------------------------------------------------
  136. # ● ピクチャの表示(再定義)
  137. #--------------------------------------------------------------------------
  138. alias text_picture2_command231 command_231
  139. def command_231
  140.    unless @draw_text.nil?
  141.      @parameters[1] = @draw_text
  142.    end
  143.    text_picture2_command231
  144.    @draw_text = nil
  145.    return true
  146. end
  147. end

  148. class Sprite_Picture < Sprite
  149. #--------------------------------------------------------------------------
  150. # ● フレーム更新(再定義)
  151. #--------------------------------------------------------------------------
  152. alias text_picture2_update update
  153. def update
  154.    # Interpreter#text_picture2で文字列表示の情報を受け取った場合
  155.    if @picture_name != @picture.name and @picture.name[0] == 2
  156.      @picture_name = @picture.name  #=> [id(2), text, Dump_Font, align]
  157.      self.bitmap = Bitmap.new(640, 480)
  158.      self.bitmap.font = @picture_name[2].to_font
  159.      y = 0
  160.      space = LINE_SPACE_PIXEL ? LINE_SPACE_PIXEL : $game_variables[LINE_SPACE_VARID]
  161.      @picture_name[1].each_line do |line|
  162.        h = self.bitmap.text_size(line).height
  163.        self.bitmap.draw_text(0, y, 640, h, line, @picture_name[3])
  164.        y += h + space
  165.      end
  166.    end
  167.    text_picture2_update
  168. end
  169. end
复制代码
调用脚本:
  1. s = "欢迎光临
  2. 这是一个
  3. 关于文字
  4. 使用图片
  5. 效果的例
  6. 子哦!!"
  7. font = Font.new("黑体", 55)
  8. font.color = Color.new(255,255,255)
  9. text_picture2(s,font,1.5)
复制代码
然后显示图片,图片内容空着。位置随你调了,不会有对话框的。要想要对话框就显示一个图片,编号比这个图片小就行了。
对话结束就消失就行。
欢迎光临
这是一个
关于文字
使用图片
效果的例
子哦!!
是你显示文字的内容,对话结束后要弄图片消失哦。

评分

参与人数 1星屑 +140 收起 理由
弗雷德 + 140 我很赞同

查看全部评分

偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12575
在线时间
1445 小时
注册时间
2012-7-24
帖子
1302
3
发表于 2013-8-29 14:16:52 | 只看该作者
直接调高对话框的Z值不行吗??

欢迎大家加我
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
4
发表于 2013-8-29 14:28:00 | 只看该作者
问题描述不清楚,用PS做了什么?windowskin?
如果是这样,请直接修改Window_Message,调低窗口的Z值
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-29 19:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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