查看: 2260|回复: 6

[已经解决] 得失物品显示背景图片的问题

[复制链接]
梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
发表于 2015-12-6 02:35:34 | 显示全部楼层 |阅读模式

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

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

×
这个得失物品提示的脚本,有说背景图片自定义。我写了图片路径,但是只显示黑色透明背景啊,没有我原来的图。
这是我要显示的图片
2.png









[pre lang="ruby"]class Interpreter  
  #--------------------------------------------------------------------------
  # ● 增减金钱
  #--------------------------------------------------------------------------
  def command_125
    value = operate_value(@parameters[0], @parameters[1], @parameters[2])
    $game_party.gain_gold(value)
    if $game_switches[SYSTEM_不显示金钱窗口]==false

      kkme_66RPG_item = $data_items[@parameters[0]]
      kkme_66RPG = Sprite.new
      kkme_66RPG.bitmap = Bitmap.new(640,480)
      kkme_66RPG.x = 0
      kkme_66RPG.y = 0
      kkme_66RPG.opacity = 0
      pic = false
      if value >= 0   
        begin
          #========================================================
          # 这里可以自定义背景图片和声效,如果你需要的话
          #========================================================
          Audio.se_play("Audio/SE/"+"006-System06",100,100)#声音大小
          kkme_66RPG.bitmap = RPG::Cache.title("Graphics/Pictures/2")
          pic = true
       rescue        
         kkme_66RPG.bitmap.fill_rect(160, 190, 260, 200, Color.new(0,0,0,255))
       end     
        kkme_66RPG_line1 = Sprite.new
        kkme_66RPG_line1.bitmap = Bitmap.new(320,32)
        kkme_66RPG_line1.bitmap.draw_text(0,0,220,32,"获得金钱:")
        kkme_66RPG_line1.opacity = 0
      else
        begin
          #========================================================
          # 这里可以自定义背景图片和声效,如果你需要的话
          #========================================================
          Audio.se_play("Audio/SE/"+"005-System05",80,100)
          kkme_66RPG.bitmap = RPG::Cache.title("")
          pic = true
        rescue        
          kkme_66RPG.bitmap.fill_rect(0, 180, 640, 120, Color.new(0,0,90,255))
        end               
        kkme_66RPG_line1 = Sprite.new
        kkme_66RPG_line1.bitmap = Bitmap.new(320,32)
        kkme_66RPG_line1.bitmap.draw_text(0,0,320,32, "失去金钱:")
        kkme_66RPG_line1.opacity = 0
      end

      kkme_66RPG_line2 = Sprite.new
      kkme_66RPG_line2.bitmap = Bitmap.new(320,32)
      kkme_66RPG_line2.opacity = 0      

      kkme_66RPG_bigicon = Sprite.new

      begin
        kkme_66RPG_bigicon.bitmap = RPG::Cache.icon("SYSTEM_MONEY_big")
        kkme_66RPG_bigicon.x = 140 - kkme_66RPG_bigicon.bitmap.width/2
        kkme_66RPG_bigicon.y = 240 - kkme_66RPG_bigicon.bitmap.height/2
        kkme_66RPG_bigicon.opacity = 0
        kkme_66RPG_line1.x = 156 + kkme_66RPG_bigicon.bitmap.width/2
        kkme_66RPG_line1.y = 200
        kkme_66RPG_line2.x = 156 + kkme_66RPG_bigicon.bitmap.width/2
        kkme_66RPG_line2.y = 240
        kkme_66RPG_line1.x += SYSTEM_X偏移
        kkme_66RPG_line2.x += SYSTEM_X偏移
        kkme_66RPG_line1.y += SYSTEM_Y偏移
        kkme_66RPG_line2.y += SYSTEM_Y偏移        
        kkme_66RPG_line2.bitmap.draw_text(0,0,240,32,value.abs.to_s)
        kkme_66RPG_line2.bitmap.draw_text(0,0,140,32, $data_system.words.gold,2)
        for i in 0..5
          kkme_66RPG.opacity += 36
          Graphics.update
        end
        kkme_66RPG.opacity = 255 if pic
        for i in 0..10
          kkme_66RPG_bigicon.opacity += 30
          Graphics.update
        end
        for i in 0..10
          kkme_66RPG_line1.opacity += 30
          Graphics.update
        end
        for i in 0..50
          kkme_66RPG_line2.opacity += 8
          Graphics.update
        end
      rescue
        kkme_66RPG_line2.bitmap.draw_text(0,0,240,32,value.abs.to_s)
        kkme_66RPG_line2.bitmap.draw_text(0,0,140,32, $data_system.words.gold,2)   
        kkme_66RPG_line1.x = 176
        kkme_66RPG_line1.y = 200
        kkme_66RPG_line2.x = 176
        kkme_66RPG_line2.y = 240
        kkme_66RPG_line1.x += SYSTEM_X偏移
        kkme_66RPG_line2.x += SYSTEM_X偏移
        kkme_66RPG_line1.y += SYSTEM_Y偏移
        kkme_66RPG_line2.y += SYSTEM_Y偏移   
        for i in 0..5
          kkme_66RPG.opacity += 36
          Graphics.update
        end
        kkme_66RPG.opacity = 255 if pic
        for i in 0..10
          kkme_66RPG_line1.opacity += 30
          Graphics.update
        end
        for i in 0..50
          kkme_66RPG_line2.opacity += 16
          Graphics.update
        end
      end

      for i in 0..10
        kkme_66RPG.opacity -= 30
        kkme_66RPG_bigicon.opacity -= 30
        kkme_66RPG_line1.opacity -= 30
        kkme_66RPG_line2.opacity -= 30
        Graphics.update
      end
      kkme_66RPG.dispose
      kkme_66RPG_bigicon.dispose
      kkme_66RPG_line1.dispose
      kkme_66RPG_line2.dispose


    end
    return true
  end[/pre]
梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
回帖
233
发表于 2015-12-6 08:10:59 | 显示全部楼层
搜索 RPG::Cache.title("Graphics/Pictures/2")
全部改成:Bitmap.new("Graphics/Pictures/2")
背景图片取名 2 ,放在Pictures文件夹里。

点评

生成或调用图片,坐标怎么写啊。  发表于 2015-12-6 14:19
...最大区别就是前者使用完毕后不需要释放位图,而后者使用完毕后必须释放位图,否则可能会出现[RGSS停止工作],这一点在写脚本时切记切记。  发表于 2015-12-6 09:09
不推荐这样,最好使用RPG::Cache.picture("2.png")。使用RPG::Cache方法时不需要带完整的相对路径。RPG::Cache和Bitmap.new的最大区别就是...  发表于 2015-12-6 09:08
制作XP特效,找我。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
 楼主| 发表于 2015-12-6 14:05:03 | 显示全部楼层
本帖最后由 cmmd1 于 2015-12-6 14:18 编辑
枫の叶 发表于 2015-12-6 08:10
搜索 RPG::Cache.title("Graphics/Pictures/2")
全部改成:Bitmap.new("Graphics/Pictures/2")
背景图片取 ...


两种我都试了,图片可以显示,在左上角位置。
是不是还要坐标,透明度这些格式?应该怎么写呢?后一种方式不用释放图片吧?
下面的文本text的坐标是哪里改,显示1                    铜       这个距离好远啊。
QQ图片20151206135733.png
以下是希望改的地方
[pre lang="ruby"]
          #========================================================
          # 这里可以自定义背景图片和声效,如果你需要的话
          #========================================================
          Audio.se_play("Audio/SE/"+"006-System06",100,100)#声音大小
          kkme_66RPG.bitmap = RPG::Cache.picture("2.png")#Bitmap.new("Graphics/Pictures/2")
                                 # ↑上面这个只显示图片,没有坐标调整啊。
          pic = true
       rescue        
         kkme_66RPG.bitmap.fill_rect(200, 190, 260, 200, Color.new(0,0,0,255))
       end     
        kkme_66RPG_line1 = Sprite.new
        kkme_66RPG_line1.bitmap = Bitmap.new(320,32)
        kkme_66RPG_line1.bitmap.draw_text(0,0,220,32,"获得金钱:")
                                                                      #这个文本显示如图所示数量和单位距离很大
                                                                      #但是这个只是修改“获得金钱”的坐标
                                                                      #显示数量的坐标是哪里改呢?
                                                                      #一楼是完整的脚本,帮忙看看,谢谢!
        kkme_66RPG_line1.opacity = 0
      else
        begin
[/pre]
回复

使用道具 举报

梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
回帖
233
发表于 2015-12-6 17:58:49 | 显示全部楼层
本帖最后由 枫の叶 于 2015-12-6 18:00 编辑

kkme_66RPG.x = XXX
kkme_66RPG.y = YYY
这2句加到脚本11行后,数值自己写,自己慢慢调试。
制作XP特效,找我。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
 楼主| 发表于 2015-12-6 18:10:04 | 显示全部楼层
枫の叶 发表于 2015-12-6 17:58
kkme_66RPG.x = XXX
kkme_66RPG.y = YYY
这2句加到脚本11行后,数值自己写,自己慢慢调试。 ...

换了个脚本,这里可以改了。谢谢提示。
那个显示金钱数量和单位的文本能不能改坐标?

[pre lang="ruby"]      kkme_66RPG_item = $data_items[@parameters[0]]
      kkme_66RPG = Sprite.new
      kkme_66RPG.bitmap = Bitmap.new(640,480)
      kkme_66RPG.x = 0
      kkme_66RPG.y = 0
      kkme_66RPG.opacity = 0
      pic = false
      if value >= 0   
        begin[/pre]
回复

使用道具 举报

梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
回帖
233
发表于 2015-12-6 18:13:29 | 显示全部楼层
68行 kkme_66RPG_line2.bitmap.draw_text(0,0,240,32,value.abs.to_s)
后面添个2试试:kkme_66RPG_line2.bitmap.draw_text(0,0,240,32,value.abs.to_s,2)

点评

为此帖的认可答案,谢谢大神解决了我的问题。  发表于 2015-12-6 19:15

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

制作XP特效,找我。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
168 小时
注册时间
2007-7-26
回帖
427
 楼主| 发表于 2015-12-6 18:40:51 | 显示全部楼层
枫の叶 发表于 2015-12-6 18:13
68行 kkme_66RPG_line2.bitmap.draw_text(0,0,240,32,value.abs.to_s)
后面添个2试试:kkme_66RPG_line2.bi ...

怎么加,加在哪里,我不懂脚本哎。
[pre lang="ruby"]        begin
          #========================================================
          # 这里可以自定义背景图片和声效,如果你需要的话
          #========================================================
          Audio.se_play("Audio/SE/"+"006-System06",100,100)#声音大小
          kkme_66RPG.bitmap = RPG::Cache.picture("2.png")#Bitmap.new("Graphics/Pictures/2")
          pic = true
       rescue        
         kkme_66RPG.bitmap.fill_rect(200, 190, 260, 200, Color.new(0,0,0,255))
       end     
        kkme_66RPG_line1 = Sprite.new
        kkme_66RPG_line1.bitmap = Bitmap.new(320,32)
        kkme_66RPG_line1.bitmap.draw_text(0,0,220,32,"获得金钱:")
        kkme_66RPG_line1.opacity = 0
      else
        begin
          #========================================================[/pre]
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部