查看: 1830|回复: 2

[已经解决] 每天一问,这里传送的脚本怎么把背景透明掉?

[复制链接]
梦石
0
星屑
70
在线时间
187 小时
注册时间
2006-9-3
回帖
129
发表于 2012-4-18 23:08:13 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 he11120 于 2012-4-18 23:35 编辑

如图,右边黑黑的变透明,能看见地图的那种!(好久没来提问好不习惯)
未命名.jpg
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4. #$scene = Scene_Fei.new
  5. #===============================================================
  6. # ■ Scene_Fei
  7. #------------------------------------------------------------------------------
  8. #  处理传送画面的类。
  9. #===============================================================
  10. class Window_Money < Window_Base
  11.   #--------------------------------------------------------------------------
  12.   # ● 初始化窗口
  13.   #--------------------------------------------------------------------------
  14.   def initialize
  15.     super(320, 1, 320, 64)
  16.     self.contents = Bitmap.new(width - 32, height - 32)
  17.     self.contents.clear
  18.     self.contents.font.color = normal_color
  19.     self.contents.draw_text(15, 0, 640, 32, "金钱不足!", 0)
  20.   end
  21. end

  22. class Window_No < Window_Base
  23.   #--------------------------------------------------------------------------
  24.   # ● 初始化窗口
  25.   #--------------------------------------------------------------------------
  26.   def initialize
  27.     super(320, 1, 320, 64)
  28.     self.contents = Bitmap.new(width - 32, height - 32)
  29.     self.contents.clear
  30.     self.contents.font.color = normal_color
  31.     self.contents.draw_text(15, 0, 640, 32, "等级不够,还是先练级吧。", 0)
  32.   end
  33. end

  34. class Scene_Fei
  35.   #include OPACITY_66RPG
  36.   #--------------------------------------------------------------------------
  37.   # ● 初始化对像
  38.   #     menu_index : 命令光标的初期位置
  39.   #--------------------------------------------------------------------------
  40.   def initialize(menu_index = 0)
  41.     @menu_index = menu_index
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # ● 主处理
  45.   #--------------------------------------------------------------------------
  46.   def main
  47.     #create_screen
  48.     # 生成命令窗口
  49.     s1 = "勇者大陆 需要等级:10 费用:1000金币"
  50.     s2 = "仙踪林   需要等级:10 费用:1000金币"
  51.     s3 = "冰风谷   需要等级:25 费用:1000金币"
  52.     s4 = "村4  费用:1000金币"
  53.     s5 = "村5  费用:2000金币"
  54.     s6 = "村6  费用:3000金币"
  55.     s7 = "村7  费用:3000金币"
  56.     s8 = "村8  费用:5000金币"
  57.     s9 = "村9  费用:5000金币"
  58.     s10 = "村10  费用:5000金币"
  59.     s11 = "村10  费用:5000金币"
  60.     s12 = "村10  费用:5000金币"
  61.     s13 = "村10  费用:5000金币"
  62.     s14 = "村10  费用:5000金币"  # 如果有更多的地图在这里添加按钮.
  63.     @command_window = Window_Command.new(320, [s1, s2, s3, s4, s5, s6,s7,s8,s9,s10,s11,s12,s13,s14]) #对应上面
  64.     @command_window.index = @menu_index
  65.     @command_window.opacity = 255
  66.     # 生成不够钱窗口
  67.     @money_window = Window_Money.new
  68.     @money_window.visible = false
  69.     # 生面未探索窗口
  70.     @no_window = Window_No.new
  71.     @no_window.visible = false
  72.     # 生成金钱窗口
  73.     @gold_window = Window_Gold.new
  74.     @gold_window.x = 320
  75.     @gold_window.y = 415
  76.     @gold_window.width = 320
  77.     # 执行过渡
  78.     Graphics.transition
  79.     # 主循环
  80.     loop do
  81.       # 刷新游戏画面
  82.       Graphics.update
  83.       # 刷新输入信息
  84.       Input.update
  85.       # 刷新画面
  86.       update
  87.       # 如果切换画面就中断循环
  88.       if $scene != self
  89.         break
  90.       end
  91.     end
  92.     # 准备过渡
  93.     Graphics.freeze
  94.     # 释放窗口
  95.     @command_window.dispose
  96.     @money_window.dispose
  97.     @no_window.dispose
  98.     @gold_window.dispose
  99.     #dispose_screen
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 传送
  103.   #--------------------------------------------------------------------------
  104.   def Fei_item(id,money,mapid,x,y)
  105.     @id = id
  106.     @money = money
  107.     @mapid = mapid
  108.     @x = x
  109.     @y = y
  110.       if $game_switches[@id] == true  #如果觉得开关保贵那就把这句换成 $game_variables[编号] == 数值
  111.         if $game_party.gold > @money
  112.           $game_system.se_play($data_system.decision_se)
  113.           $game_party.gain_gold(-@money)
  114.           $game_map.setup(@mapid)
  115.           $game_player.moveto(@x,@y)
  116.           $game_player.refresh
  117.           $game_map.autoplay
  118.           $game_map.update
  119.           $scene = Scene_Map.new
  120.         else
  121.           $game_system.se_play($data_system.buzzer_se)
  122.           @money_window.visible = true
  123.           @command_window.active = false
  124.         end
  125.       else
  126.           $game_system.se_play($data_system.buzzer_se)
  127.           @no_window.visible = true
  128.           @command_window.active = false
  129.       end
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 刷新画面
  133.   #--------------------------------------------------------------------------
  134.   def update
  135.     # 刷新窗口
  136.     @command_window.update
  137.     @gold_window.update
  138.     # 命令窗口被激活的情况下: 调用 update_command
  139.     if @command_window.active
  140.       update_command
  141.       return
  142.     end
  143.     if @money_window.visible
  144.       update_money
  145.       return
  146.     end
  147.     if @no_window.visible
  148.       update_no
  149.       return
  150.     end
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # ● 刷新画面 (命令窗口被激活的情况下)
  154.   #--------------------------------------------------------------------------
  155.   def update_command
  156.     # 按下 B 键的情况下
  157.     if Input.trigger?(Input::B)
  158.       # 演奏取消 SE
  159.       $game_system.se_play($data_system.cancel_se)
  160.       # 切换的地图画面
  161.       $scene = Scene_Map.new
  162.       return
  163.     end
  164.     # 按下 C 键的情况下
  165.     if Input.trigger?(Input::C)
  166.       # 命令窗口的光标位置分支
  167.       case @command_window.index
  168.         when 0
  169.           Fei_item(51,1000,3,22,16)   #这里就是传送的函数调用  Fei_item(开关,钱,地图ID,X坐标,Y坐标)
  170.         when 1
  171.           Fei_item(52,1000,32,9,30)      
  172.         when 2
  173.           Fei_item(53,1000,32,9,30)
  174.         when 3
  175.           Fei_item(54,1000,32,9,30)
  176.         when 4
  177.           Fei_item(55,1000,32,9,30)
  178.         when 5
  179.           Fei_item(56,1000,32,9,30)
  180.         when 6
  181.           Fei_item(57,1000,32,9,30)
  182.         when 7
  183.           Fei_item(58,1000,32,9,30)
  184.         when 8
  185.           Fei_item(59,1000,32,9,30)
  186.         when 9
  187.           Fei_item(60,1000,32,9,30)
  188.         when 10
  189.           Fei_item(58,1000,32,9,30)
  190.         when 11
  191.           Fei_item(59,1000,32,9,30)
  192.         when 12
  193.           Fei_item(60,1000,32,9,30)#如果上面添加多了按钮,这里也得添加.  相应复制就可以了.
  194.         when 13
  195.           Fei_item(60,1000,32,9,30)
  196.          when 14
  197.           Fei_item(60,1000,32,9,30)
  198.           end
  199.       return
  200.     end
  201.   end
  202.   #--------------------------------------------------------------------------
  203.   # ● 刷新画面
  204.   #--------------------------------------------------------------------------
  205.   def update_money
  206.     if Input.trigger?(Input::B)
  207.       $game_system.se_play($data_system.cancel_se)
  208.       @money_window.visible = false
  209.       @command_window.active = true
  210.       return
  211.     end
  212.     if Input.trigger?(Input::C)
  213.       $game_system.se_play($data_system.cancel_se)
  214.       @money_window.visible = false
  215.       @command_window.active = true
  216.       return
  217.     end
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ● 刷新画面
  221.   #--------------------------------------------------------------------------
  222.   def update_no
  223.     if Input.trigger?(Input::B)
  224.       $game_system.se_play($data_system.cancel_se)
  225.       @no_window.visible = false
  226.       @command_window.active = true
  227.       return
  228.     end
  229.     if Input.trigger?(Input::C)
  230.       $game_system.se_play($data_system.cancel_se)
  231.       @no_window.visible = false
  232.       @command_window.active = true
  233.       return
  234.     end
  235.   end
  236. end
复制代码
...........
梦石
0
星屑
55
在线时间
461 小时
注册时间
2008-11-19
回帖
525
发表于 2012-4-18 23:24:17 | 显示全部楼层
本帖最后由 sai90306 于 2012-4-19 00:27 编辑

幫您改好了 請用用看
[pre lang="Ruby" line="1"]#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
#$scene = Scene_Fei.new
#===============================================================
# ■ Scene_Fei
#------------------------------------------------------------------------------
#  处理传送画面的类。
#===============================================================
class Window_Money < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化窗口
  #--------------------------------------------------------------------------
  def initialize
    super(320, 1, 320, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(15, 0, 640, 32, "金钱不足!", 0)
  end
end

class Window_No < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化窗口
  #--------------------------------------------------------------------------
  def initialize
    super(320, 1, 320, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(15, 0, 640, 32, "等级不够,还是先练级吧。", 0)
  end
end

class Scene_Fei
  #include OPACITY_66RPG
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     menu_index : 命令光标的初期位置
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # ● 主处理
  #--------------------------------------------------------------------------
  def main
    @back_map = Spriteset_Map.new
   
    #create_screen
    # 生成命令窗口
    s1 = "勇者大陆 需要等级:10 费用:1000金币"
    s2 = "仙踪林   需要等级:10 费用:1000金币"
    s3 = "冰风谷   需要等级:25 费用:1000金币"
    s4 = "村4  费用:1000金币"
    s5 = "村5  费用:2000金币"
    s6 = "村6  费用:3000金币"
    s7 = "村7  费用:3000金币"
    s8 = "村8  费用:5000金币"
    s9 = "村9  费用:5000金币"
    s10 = "村10  费用:5000金币"
    s11 = "村10  费用:5000金币"
    s12 = "村10  费用:5000金币"
    s13 = "村10  费用:5000金币"
    s14 = "村10  费用:5000金币"  # 如果有更多的地图在这里添加按钮.
    @command_window = Window_Command.new(320, [s1, s2, s3, s4, s5, s6,s7,s8,s9,s10,s11,s12,s13,s14]) #对应上面
    @command_window.index = @menu_index
    @command_window.opacity = 150
    # 生成不够钱窗口
    @money_window = Window_Money.new
    @money_window.visible = false
    # 生面未探索窗口
    @no_window = Window_No.new
    @no_window.visible = false
    # 生成金钱窗口
    @gold_window = Window_Gold.new
    @gold_window.x = 320
    @gold_window.y = 415
    @gold_window.width = 320
    # 执行过渡
    Graphics.transition
    # 主循环
    loop do
      # 刷新游戏画面
      Graphics.update
      # 刷新输入信息
      Input.update
      # 刷新画面
      update
      # 如果切换画面就中断循环
      if $scene != self
        break
      end
    end
    # 准备过渡
    Graphics.freeze
    # 释放窗口
    @command_window.dispose
    @money_window.dispose
    @no_window.dispose
    @gold_window.dispose
    #dispose_screen
    @back_map.dispose
  end
  #--------------------------------------------------------------------------
  # ● 传送
  #--------------------------------------------------------------------------
  def Fei_item(id,money,mapid,x,y)
    @id = id
    @money = money
    @mapid = mapid
    @x = x
    @y = y
      if $game_switches[@id] == true  #如果觉得开关保贵那就把这句换成 $game_variables[编号] == 数值
        if $game_party.gold > @money
          $game_system.se_play($data_system.decision_se)
          $game_party.gain_gold(-@money)
          $game_map.setup(@mapid)
          $game_player.moveto(@x,@y)
          $game_player.refresh
          $game_map.autoplay
          $game_map.update
          $scene = Scene_Map.new
        else
          $game_system.se_play($data_system.buzzer_se)
          @money_window.visible = true
          @command_window.active = false
        end
      else
          $game_system.se_play($data_system.buzzer_se)
          @no_window.visible = true
          @command_window.active = false
      end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update
    # 刷新窗口
    @command_window.update
    @gold_window.update
    # 命令窗口被激活的情况下: 调用 update_command
    if @command_window.active
      update_command
      return
    end
    if @money_window.visible
      update_money
      return
    end
    if @no_window.visible
      update_no
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面 (命令窗口被激活的情况下)
  #--------------------------------------------------------------------------
  def update_command
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换的地图画面
      $scene = Scene_Map.new
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 命令窗口的光标位置分支
      case @command_window.index
        when 0
          Fei_item(51,1000,3,22,16)   #这里就是传送的函数调用  Fei_item(开关,钱,地图ID,X坐标,Y坐标)
        when 1
          Fei_item(52,1000,32,9,30)      
        when 2
          Fei_item(53,1000,32,9,30)
        when 3
          Fei_item(54,1000,32,9,30)
        when 4
          Fei_item(55,1000,32,9,30)
        when 5
          Fei_item(56,1000,32,9,30)
        when 6
          Fei_item(57,1000,32,9,30)
        when 7
          Fei_item(58,1000,32,9,30)
        when 8
          Fei_item(59,1000,32,9,30)
        when 9
          Fei_item(60,1000,32,9,30)
        when 10
          Fei_item(58,1000,32,9,30)
        when 11
          Fei_item(59,1000,32,9,30)
        when 12
          Fei_item(60,1000,32,9,30)#如果上面添加多了按钮,这里也得添加.  相应复制就可以了.
        when 13
          Fei_item(60,1000,32,9,30)
         when 14
          Fei_item(60,1000,32,9,30)
          end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update_money
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @money_window.visible = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.cancel_se)
      @money_window.visible = false
      @command_window.active = true
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面
  #--------------------------------------------------------------------------
  def update_no
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @no_window.visible = false
      @command_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.cancel_se)
      @no_window.visible = false
      @command_window.active = true
      return
    end
  end
end
[/pre]���

点评

受教!下次再来~~嘿嘿  发表于 2012-4-19 01:14
其實只是在你原代碼的"def main"下面加一行" @back_map = Spriteset_Map.new" 然後再"#dispose_screen"下面加一行"@back_map.dispose" 而已   发表于 2012-4-19 00:26
back_sprite.opacity = 0?  发表于 2012-4-19 00:08
啊对,你真聪明。  发表于 2012-4-18 23:32
...LZ要改的該不會是後面的那一大塊黑色?  发表于 2012-4-18 23:29
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
130
在线时间
0 小时
注册时间
2012-4-19
回帖
2
发表于 2012-4-19 15:16:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部