#脚本功能:Sprite类方法教学
#使用方法:无法使用
#效果:学习
#版权:Danexx
Sprite.new([viewport])
类实体化,通俗的说就是创建一个 Sprite 类的实体对象。new 方法是所有类都有的方法,用于类的实体化。
参数 viewport 可选,也就是说使用这个方法的时候可以不用写这个参数
此参数的作用是确定这个对象可以显示的屏幕区域,也就是说如果我们使用参数 Viewport.new(1,1,320,240) :
Sprite.new(Viewport.new(1,1,320,240))
那么这个对象所表示的图象只有可能出现在左上 1/4 屏幕内。
viewport 是另外一种类,这里就不说了。
dispose
回收类实体(内存释放)~~
disposed?
类实体是否被回收~~
viewport
这个就不说了,就是取得这个 Sprite 实体的 viewport ,返回的是一个 viewport 实体地址,可以直接引用这个地址表示 viewport 实体本身
需要说明的是,如果在类实体化的时候没有参数,那么这里将返回一个 nil 指针, nil 是 RUBY 里面表示‘空’的。
flash(color, duration)
这个就是给 Sprite 实体一个闪烁效果用的,这里的闪烁概念为,对象图象会瞬间以闪烁颜色做滤镜,然后渐渐恢复本来颜色,下面是一个格式举例:
以下内容为程序代码:
......
Sprite.flash(Color.new(255, 204, 0, 127), 100)
loop do
Sprite.update
Graphics.update
end
......
这个例子里面包含了两个参数,第一个参数 Color.new(255, 204, 0, 127) 就表示闪烁颜色为半透明金色~~第二个参数 100 表示从闪烁颜色到闪烁结束一共经过 100 帧。
例子中的 Sprite.update 是必须存在在刷新循环中的,格式如实例所表示。
需要注意的说~~这里的 Sprite.flash 和 Sprite.update 中的 Sprite 是代表实体名字,而不是固定为我所示的 Sprite ,下面是一个实际例子:
以下内容为程序代码:
devil = Sprite.new(Viewport.new(1,1,320,240 ) )
devil.bitmap = Bitmap.new('Graphics/Battlers/075-Devil01')
devil.ox = devil.bitmap.width / 2
devil.oy = devil.bitmap.height / 2
devil.x = 320
devil.y = 240
devil.flash(Color.new(255, 204, 0, 127), 100)
loop do
devil.update
Graphics.update
end
update
更新类实体数据,也就是上面说的 Sprite.update 。
###################################################
## 以下不是方法,是用来保存 Sprite 实体的相关数据的
## 他们都可以当作变量来操作(引用和赋值)
###################################################
bitmap
类实体图片,要显示的图片就用这个来设定,当然没有图象的 Sprite 实体 本身也存在。
上面实例的 devil.bitmap = Bitmap.new('Graphics/Battlers/075-Devil01') 就是设置图象的。
visible
这个很简单,有 true 和 false 两个值,前者表示 Sprite 实体 不可见。
x
这个就是 Sprite 实体 在屏幕(游戏窗口)中的 横坐标 , 1~640 。
y
这个就是 Sprite 实体 在屏幕(游戏窗口)中的 纵坐标 , 1~480 。
z
这个是一个虚拟坐标项,用于表现 2D 游戏中 Sprite 实体 所在的层,关于这个虚拟层的概念,比如 z 为 1 的 Sprite 实体 总是挡住 z 小于 1 的所有 Sprite 实体。
ox
这个是一个原点坐标的横坐标值,关于原点坐标的概念就是一个 Sprite 实体 的中心究竟在哪里,我们上面的 x 和 y 在处理 Sprite 实体 的时候都是参照这个原点坐标来做的。
如下图:
oy
这个是一个原点坐标的纵坐标值。
zoom_x
Sprite 实体的横向比例。
zoom_y
Sprite 实体的纵向比例。
angle
Sprite 实体的倾斜角度。
mirror
Sprite 实体是否反转,有 true 和 false 两个值~~前者表示反转Sprite 实体图象。
bush_depth
这个是用于表现人物的脚隐藏在草丛之中的效果,类似于前面的 z 。
opacity
这个是整个 Sprite 实体 的透明度设置。
blend_type
这个是混合算法类型,关于混合算法,是指两个带透明效果的图片相叠后的表现颜色计算,这里分为三种:(0:通常、1:加算、2:減算)。
color
Sprite 实体 的颜色,类似于上面的 flash 方法。
tone
Sprite 实体 的色调。