赞 | 400 |
VIP | 0 |
好人卡 | 24 |
积分 | 250 |
经验 | 45372 |
最后登录 | 2024-7-2 |
在线时间 | 3339 小时 |
Lv5.捕梦者 (版主)
- 梦石
- 1
- 星屑
- 23999
- 在线时间
- 3339 小时
- 注册时间
- 2011-7-8
- 帖子
- 3926
|
本帖最后由 guoxiaomi 于 2019-4-18 01:00 编辑
这个好像不难做,印象中雨雪的绘制是在rgss里做的。
打开F1的RPG::Weather类,可以清楚的看到class Weather 中的 update方法,只要对此方法进行修改即可:
- module RPG
- class Weather
- def sprite_inhouse?(sprite, x, y, w, h)
- sprite.x > x && sprite.x < x + w && sprite.y > y && sprite.y < y + h
- end
- alias _outdoor_update update
- def update
- r = _outdoor_update
- return if r == nil
- for sprite in @sprites
- if sprite_inhouse?(sprite, *$game_map.room_rect)
- sprite.opacity = 0
- end
- end
- end
- end
- end
- class Game_Map
- def room_rect
- case @map_id
- when 1 then [32*6, 32*1, 32*7, 32*12]
- when 2 then [64, 64, 256, 128]
- else
- [0, 0, 0, 0]
- end
- end
- end
复制代码
请在room_rect里添加对应的id和[x, y, width, height],可能需要微调。测试只要不把强度提升到9(max)就没问题:
|
|