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

Project1

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

[有事请教] 很久以前的聪聪的烛光效果插件在关闭菜单的时候会忽然...

[复制链接]

Lv2.观梦者

梦石
0
星屑
356
在线时间
25 小时
注册时间
2021-9-4
帖子
14
跳转到指定楼层
1
发表于 2021-9-17 14:52:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,该怎么解决呢

Lv2.观梦者

梦石
0
星屑
356
在线时间
25 小时
注册时间
2021-9-4
帖子
14
2
 楼主| 发表于 2021-9-17 14:58:56 | 只看该作者
    #==============================================================================
    # ■ 聪聪的多人烛光系统
    #------------------------------------------------------------------------------
    #   使用方法:
    #
    #    【事件脚本】输入:
    #    $game_system.candle_ch_new = [0,x,y,z...]
    #    0表示主角,x,y,z...表示事件编号,所有涉及的角色和事件周围会有烛光效果...
    #
    #    【事件脚本】输入:
    #    $game_system.candle_ch_new = []
    #    取消烛光效果显示,但环境仍然黑暗...
    #
    #    【事件脚本】输入:
    #    $game_system.candle_ch_new = nil
    #    取消烛光效果显示,且环境亮度还原...
    #
    #------------------------------------------------------------------------------
    #  
    #    转载请保留脚本来源:本脚本来自rpg.blue
    #                                                        作者:聪聪(正太君)
    #                                                                2016-05-11
    #==============================================================================
    class Candle
      # 设置暗处不透明度(0-255)...
      OPACITY = 128
      # 设置昏暗度(0-255)...
      DARK = 200
      #--------------------------------------------------------------------------
      # ● # 生成黑暗背景和烛光
      #--------------------------------------------------------------------------
      def candlelight
        @black_rect = Sprite.new
        @black_rect.bitmap = Bitmap.new(Graphics.width, Graphics.height)
        @black_rect.bitmap.fill_rect(0, 0, Graphics.width, Graphics.height, Color.new(DARK, DARK, DARK))
        @black_rect.blend_type = 2
        @black_rect.opacity = OPACITY
        @candle_rect = Sprite.new
        @candle_rect.bitmap = Cache.picture("Light0")
        @candle_rect.visible = false
        @candle_rect.ox = @candle_rect.bitmap.width / 2
        @candle_rect.oy = @candle_rect.bitmap.height / 2
      end
      #--------------------------------------------------------------------------
      # ● 设置有烛光的角色
      #--------------------------------------------------------------------------
      def set_candles(candle_ch)
        return if candle_ch == nil
        chs = candle_ch
        @game_lighterlist = [] if @game_lighterlist.nil?
        @game_lighterlist << $game_player if chs.include?(0)
        chs.each {|i| @game_lighterlist << $game_map.events[i] if i != 0}
        # 移除重复的角色
        @game_lighterlist.uniq!
        # 开启烛光功能
        candlelight
      end
      #--------------------------------------------------------------------------
      # ● 初始化烛光
      #--------------------------------------------------------------------------
      def initialize_candle(ch)
        lsx = @candle_rect.x = ch.screen_x - @candle_rect.ox
        lsy = @candle_rect.y = ch.screen_y - @candle_rect.oy - 16
        @black_rect.bitmap.blt(lsx, lsy, @candle_rect.bitmap, @black_rect.bitmap.rect)
      end
      #--------------------------------------------------------------------------
      # ● 更新烛光
      #--------------------------------------------------------------------------
      def update_candle
        if $game_system.candle_ch == $game_system.candle_ch_new and @black_rect
          @black_rect.bitmap.fill_rect(0, 0, Graphics.width, Graphics.height, Color.new(DARK, DARK, DARK))
          @game_lighterlist.each {|i| initialize_candle(i)}
        else
          dispose_candle
        end
      end
      #--------------------------------------------------------------------------
      # ● 释放烛光
      #--------------------------------------------------------------------------
      def dispose_candle
        @black_rect.dispose if @black_rect
        @candle_rect.dispose if @candle_rect
        @game_lighterlist.clear if @game_lighterlist
      end  
    end
     
    class Scene_Map < Scene_Base
      attr_reader   :candle
      #--------------------------------------------------------------------------
      # ● 开始后处理
      #--------------------------------------------------------------------------
      def post_start
        @candle = Candle.new
        @candle.set_candles($game_system.candle_ch)
      end
      #--------------------------------------------------------------------------
      # ● 更新画面
      #--------------------------------------------------------------------------
      alias :o_update :update
      def update
        o_update
        if $game_system.candle_ch != $game_system.candle_ch_new
          @candle.dispose_candle
          $game_system.candle_ch = $game_system.candle_ch_new
          @candle = Candle.new
          @candle.set_candles($game_system.candle_ch)
        end
        @candle.update_candle
      end
    end
     
    class Game_System
    attr_accessor :candle_ch
    attr_accessor :candle_ch_new
    end
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
356
在线时间
25 小时
注册时间
2021-9-4
帖子
14
3
 楼主| 发表于 2021-9-19 18:34:08 | 只看该作者
有人吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
356
在线时间
25 小时
注册时间
2021-9-4
帖子
14
4
 楼主| 发表于 2021-10-15 14:45:15 | 只看该作者
C:\Users\Administrator.KA6ABFLRZY1UH56\Desktop\Project1\Graphics\Characters
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 14:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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