幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4864|回复: 35

请教Sprite类的所有方法!

[复制链接]

3

主题

15

帖子

197

积分

③业余

积分
197
发表于 2004-9-25 00:28:00 | 显示全部楼层 |阅读模式
在自带的教本里找不到的说。
回复

使用道具 举报

6

主题

954

帖子

7602

积分

⑦老手

水妖王

积分
7602
QQ
发表于 2004-9-25 00:49:56 | 显示全部楼层
脚本?RGSS?去XP的RGSS区问吧`哎哎`
回复 支持 反对

使用道具 举报

19

主题

271

帖子

3837

积分

⑥精研

爱的橙子雪糕

积分
3837
发表于 2004-9-25 03:00:57 | 显示全部楼层
Sprite.new([viewport]) [/COLOR]
类实体化,通俗的说就是创建一个 Sprite 类的实体对象。new 方法是所有类都有的方法,用于类的实体化。
参数 viewport 可选,也就是说使用这个方法的时候可以不用写这个参数
此参数的作用是确定这个对象可以显示的屏幕区域,也就是说如果我们使用参数 Viewport.new(1,1,320,240) :
Sprite.new(Viewport.new(1,1,320,240))
那么这个对象所表示的图象只有可能出现在左上 1/4 屏幕内。
viewport 是另外一种类,这里就不说了。

dispose[/COLOR]
回收类实体(内存释放)~~

disposed? [/COLOR]
类实体是否被回收~~

viewport [/COLOR]
这个就不说了,就是取得这个 Sprite 实体的 viewport ,返回的是一个 viewport 实体地址,可以直接引用这个地址表示 viewport 实体本身
需要说明的是,如果在类实体化的时候没有参数,那么这里将返回一个 nil 指针, nil 是 RUBY 里面表示‘空’的。

flash(color, duration) [/COLOR]
这个就是给 Sprite 实体一个闪烁效果用的,这里的闪烁概念为,对象图象会瞬间以闪烁颜色做滤镜,然后渐渐恢复本来颜色,下面是一个格式举例:
  1. ......
  2. Sprite.flash(Color.new(255, 204, 0, 127), 100)
  3. loop do
  4.   Sprite.update
  5.   Graphics.update
  6. end
  7. ......
复制代码

这个例子里面包含了两个参数,第一个参数 Color.new(255, 204, 0, 127) 就表示闪烁颜色为半透明金色~~第二个参数 100 表示从闪烁颜色到闪烁结束一共经过 100 帧。
例子中的 Sprite.update 是必须存在在刷新循环中的,格式如实例所表示。
需要注意的说~~这里的 Sprite.flash 和 Sprite.update 中的 Sprite 是代表实体名字,而不是固定为我所示的 Sprite ,下面是一个实际例子:
  1. devil = Sprite.new(Viewport.new(1,1,320,240 ) )
  2. devil.bitmap = Bitmap.new("Graphics/Battlers/075-Devil01")
  3. devil.ox = devil.bitmap.width / 2
  4. devil.oy = devil.bitmap.height / 2
  5. devil.x = 320
  6. devil.y = 240
  7. devil.flash(Color.new(255, 204, 0, 127), 100)
  8. loop do
  9.   devil.update
  10.   Graphics.update
  11. end
复制代码


update [/COLOR]
更新类实体数据,也就是上面说的 Sprite.update 。

###################################################
## 以下不是方法,是用来保存 Sprite 实体的相关数据的
## 他们都可以当作变量来操作(引用和赋值)
###################################################

bitmap [/COLOR]
类实体图片,要显示的图片就用这个来设定,当然没有图象的 Sprite 实体 本身也存在。
上面实例的 devil.bitmap = Bitmap.new(\"Graphics/Battlers/075-Devil01\") 就是设置图象的。

visible [/COLOR]
这个很简单,有 true 和 false 两个值,前者表示 Sprite 实体 不可见。

x [/COLOR]
这个就是 Sprite 实体 在屏幕(游戏窗口)中的 横坐标 , 1~640 。

y [/COLOR]
这个就是 Sprite 实体 在屏幕(游戏窗口)中的 纵坐标 , 1~480 。

z [/COLOR]
这个是一个虚拟坐标项,用于表现 2D 游戏中 Sprite 实体 所在的层,关于这个虚拟层的概念,比如 z 为 1 的 Sprite 实体 总是挡住 z 小于 1 的所有 Sprite 实体。

ox [/COLOR]
这个是一个原点坐标的横坐标值,关于原点坐标的概念就是一个 Sprite 实体 的中心究竟在哪里,我们上面的 x 和 y 在处理 Sprite 实体 的时候都是参照这个原点坐标来做的。
如下图:


oy [/COLOR]
这个是一个原点坐标的纵坐标值。

zoom_x [/COLOR]
Sprite 实体的横向比例。

zoom_y [/COLOR]
Sprite 实体的纵向比例。

angle [/COLOR]
Sprite 实体的倾斜角度。

mirror [/COLOR]
Sprite 实体是否反转,有 true 和 false 两个值~~前者表示反转Sprite 实体图象。

bush_depth [/COLOR]
这个是用于表现人物的脚隐藏在草丛之中的效果,类似于前面的 z 。

opacity [/COLOR]
这个是整个 Sprite 实体 的透明度设置。

blend_type [/COLOR]
这个是混合算法类型,关于混合算法,是指两个带透明效果的图片相叠后的表现颜色计算,这里分为三种:(0:通常、1:加算、2:減算)。

color [/COLOR]
Sprite 实体 的颜色,类似于上面的 flash 方法。

tone [/COLOR]
Sprite 实体 的色调。


[此贴子已经被作者于2004-9-25 3:06:25编辑过]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

19

主题

271

帖子

3837

积分

⑥精研

爱的橙子雪糕

积分
3837
发表于 2004-9-25 03:07:49 | 显示全部楼层
寫了老半天~~終于寫完老~~基本上我覺得自己還是說的比較清楚了~~有不明白的地方下面再跟鉄問!
回复 支持 反对

使用道具 举报

6

主题

954

帖子

7602

积分

⑦老手

水妖王

积分
7602
QQ
发表于 2004-9-25 03:56:17 | 显示全部楼层
头文字D又发威老`
回复 支持 反对

使用道具 举报

122

主题

3385

帖子

8590

积分

⑦老手

积分
8590
发表于 2004-9-25 07:26:34 | 显示全部楼层

请教Sprite类的所有方法!

为什么为什么我看不懂<img src=\"http://bbs.rpgchina.com/Skins/default/topicface/face13.gif\">
回复 支持 反对

使用道具 举报

3

主题

15

帖子

197

积分

③业余

积分
197
 楼主| 发表于 2004-9-25 11:04:30 | 显示全部楼层
谢谢Danexx!
回复 支持 反对

使用道具 举报

1

主题

79

帖子

1391

积分

⑥精研

物质和精神的变态形

积分
1391
发表于 2004-9-25 22:30:12 | 显示全部楼层
以下是引用小得蛇在2004-9-25 7:26:34的发言:
为什么为什么我看不懂


因为你还太小来 呵呵,bb不愧是bb,其他类的方法有没?
回复 支持 反对

使用道具 举报

19

主题

271

帖子

3837

积分

⑥精研

爱的橙子雪糕

积分
3837
发表于 2004-9-25 22:47:05 | 显示全部楼层
你想殺了我啊~~5555~~我寫這個都累死了~~5555
回复 支持 反对

使用道具 举报

1

主题

79

帖子

1391

积分

⑥精研

物质和精神的变态形

积分
1391
发表于 2004-9-25 22:52:58 | 显示全部楼层
哎呀,我们那么好交情,你就辛苦一下吧,辛苦你一人,方便千万家呀[em01]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-18 01:03 , Processed in 0.013111 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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