赞 | 5 |
VIP | 620 |
好人卡 | 38 |
积分 | 69 |
经验 | 125468 |
最后登录 | 2015-7-27 |
在线时间 | 1666 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 6850
- 在线时间
- 1666 小时
- 注册时间
- 2008-10-29
- 帖子
- 6710
|
本帖最后由 后知后觉 于 2010-7-30 21:30 编辑
回复 菜鸟飞呀飞 的帖子- class Window_HzhjStatus < Window_Base
- attr_reader :sprite
- def initialize
- # 因为改变了窗口的 x= 和 y= 所以sprite和sprite.bitmap要在super前生成
- # 不然会发生错误
- @sprite = Sprite.new
- @sprite.bitmap = Bitmap.new(96, 64)
- super(80, 288, 544, 160)
- self.contents = Bitmap.new(width - 32, height - 32)
- # 修正sprite和窗口的一些关系
- @sprite.x = self.x + self.width - @sprite.bitmap.width - 16
- @sprite.y = self.y + 16
- @sprite.z = self.z + 1
- @sprite.opacity = self.contents_opacity
- @sprite.visible = self.visible
- refresh
- end
- def refresh
- self.contents.clear
- @sprite.bitmap.clear
- self.contents.draw_text(0, 32, width-32, 32, "66RPG", 1)
- @sprite.bitmap.draw_text(16, 16, 64, 32, "66rpg", 1)
- end
- def x=(value)
- super(value)
- @sprite.x = self.x + self.width - @sprite.bitmap.width - 16
- end
- def y=(value)
- super(value)
- @sprite.y = self.y + 16
- end
- def z=(value)
- super(value)
- @sprite.z = self.z + 1
- end
- def visible=(value)
- super(value)
- @sprite.visible = self.visible
- end
- def dispose
- @sprite.bitmap.dispose
- @sprite.dispose
- super
- end
- def update
- @sprite.update
- super
- end
- def contents_opacity=(value)
- super(value)
- @sprite.opacity = self.contents_opacity
- end
- # 获取sprite的不透明度
- def sprite_opacity
- return @sprite.opacity
- end
- # 更改sprite的不透明度
- def sprite_opacity=(value)
- @sprite.opacity = value
- end
- end
复制代码 sprite的bitmap大小和与窗口的位置关系就自己改吧...
对这个类的实例对象调用 sprite_opacity = xxx
可以改变sprite的opacity |
评分
-
查看全部评分
|