Project1
标题:
默认的天气效果风太假了,,,能改么。?
[打印本页]
作者:
CR~
时间:
2014-10-12 12:06
标题:
默认的天气效果风太假了,,,能改么。?
有什么优化的么,,或者让它横着吹,,默认的看着跟下雨似得。。。
作者:
chd114
时间:
2014-10-12 12:35
Q默认的天气效果风太假了,,,能改么。?
A能改···
我记得有个天气系统好像一共有18种不同的天气效果,其中还有樱花花瓣和枫叶
作者:
恐惧剑刃
时间:
2014-10-12 13:20
本帖最后由 恐惧剑刃 于 2014-10-12 13:25 编辑
其实他想暗示有风,风的确不太好表现。
雨斜着飘(暗示有风)
或者你用飘图片的方法斜着飘树叶(除非你有很漂亮的素材直接看到刮风的效果)
作者:
未命名
时间:
2014-10-12 13:22
可以修改,但是直接“改”不行,必须要新立天气系统覆盖原有的系统。
天气是内部的,不在脚本编辑器中,在“帮助”里 游戏库-RGSS内部类-RPG::weather 可以找到,如下:
module RPG
class Weather
def initialize(viewport = nil)
@type = 0
[url=home.php?mod=space&uid=25307]@Max[/url] = 0
@ox = 0
@oy = 0
color1 = Color.new(255, 255, 255, 255)
color2 = Color.new(255, 255, 255, 128)
@rain_bitmap = Bitmap.new(7, 56)
for i in 0..6
@rain_bitmap.fill_rect(6-i, i*8, 1, 8, color1)
end
@storm_bitmap = Bitmap.new(34, 64)
for i in 0..31
@storm_bitmap.fill_rect(33-i, i*2, 1, 2, color2)
@storm_bitmap.fill_rect(32-i, i*2, 1, 2, color1)
@storm_bitmap.fill_rect(31-i, i*2, 1, 2, color2)
end
@snow_bitmap = Bitmap.new(6, 6)
@snow_bitmap.fill_rect(0, 1, 6, 4, color2)
@snow_bitmap.fill_rect(1, 0, 4, 6, color2)
@snow_bitmap.fill_rect(1, 2, 4, 2, color1)
@snow_bitmap.fill_rect(2, 1, 2, 4, color1)
@sprites = []
for i in 1..40
sprite = Sprite.new(viewport)
sprite.z = 1000
sprite.visible = false
sprite.opacity = 0
@sprites.push(sprite)
end
end
def dispose
for sprite in @sprites
sprite.dispose
end
@rain_bitmap.dispose
@storm_bitmap.dispose
@snow_bitmap.dispose
end
def type=(type)
return if @type == type
@type = type
case @type
when 1
bitmap = @rain_bitmap
when 2
bitmap = @storm_bitmap
when 3
bitmap = @snow_bitmap
else
bitmap = nil
end
for i in 1..40
sprite = @sprites[i]
if sprite != nil
sprite.visible = (i <= @max)
sprite.bitmap = bitmap
end
end
end
def ox=(ox)
return if @ox == ox;
@ox = ox
for sprite in @sprites
sprite.ox = @ox
end
end
def oy=(oy)
return if @oy == oy;
@oy = oy
for sprite in @sprites
sprite.oy = @oy
end
end
def max=(max)
return if @max == max;
@max = [[max, 0].max, 40].min
for i in 1..40
sprite = @sprites[i]
if sprite != nil
sprite.visible = (i <= @max)
end
end
end
def update
return if @type == 0
for i in 1..@max
sprite = @sprites[i]
if sprite == nil
break
end
if @type == 1
sprite.x -= 2
sprite.y += 16
sprite.opacity -= 8
end
if @type == 2
sprite.x -= 8
sprite.y += 16
sprite.opacity -= 12
end
if @type == 3
sprite.x -= 2
sprite.y += 8
sprite.opacity -= 8
end
x = sprite.x - @ox
y = sprite.y - @oy
if sprite.opacity < 64 or x < -50 or x > 750 or y < -300 or y > 500
sprite.x = rand(800) - 50 + @ox
sprite.y = rand(800) - 200 + @oy
sprite.opacity = 255
end
end
end
attr_reader :type
attr_reader :max
attr_reader :ox
attr_reader :oy
end
end
复制代码
作者:
hys111111
时间:
2014-10-13 12:58
未命名 发表于 2014-10-12 13:22
可以修改,但是直接“改”不行,必须要新立天气系统覆盖原有的系统。
天气是内部的,不在脚本编辑器中,在 ...
只要改,100~102这3行就行了。
如果横着飘的话,再加一句sprite.angle = 90就可以了。
作者:
曹天一
时间:
2014-10-14 01:58
我有一个特别简单的方法就是在动画库里做好风的动画,弄成全屏,然后在主角身上播放
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1