Project1

标题: 事件中 显示图片的一部分 [打印本页]

作者: 未命名    时间: 2013-11-2 12:20
标题: 事件中 显示图片的一部分
本帖最后由 未命名 于 2013-11-4 23:56 编辑

我在做一个蓄力球,球内水逐渐装满球的效果,水用球形图片显示。
因为是“球”,所以单纯的图片移动和大小变化都会因为面积不一样而“溢出”。

所以想让用事件显示的图片显示一部分,能够随着变量调整而变化。
最好是用事件,这样控制起来方便。

我尝试过使用
XX = Sprite.new
XX.bitmap = Bitmap.new("Graphics/Pictures/蓄力")
XX.src_rect = Rect.new(X,Y,W, H)

再加上 变量调整 实现了图片的擦除式出现。
但是每次显示它都是新显示一个图片,而旧图片不消失,而且过一段时间就会 全部 消失。
使用
XX.bitmap.dispose
XX.dispose

结果是消失刚出现的,旧的还在,或者找不到要消失什么。
带入全局变量也找不到旧图片的数据,无法消除。
显示图片的图层也要么在全部图片上面,要么在全部图片下面,不好控制。
所以想显示一个新图片的时候让旧图片消失,如果解决这个,这个问题就全解决了。

如果要修改Game_Picture,我愿意贡献VIP点。
要是太麻烦,我还是放弃吧。
作者: cinderelmini    时间: 2013-11-4 20:05
这个效果用事件的显示图片做不出来的吧……
就算做得出来也得废个半天劲……的吧……

于是直接在Scene_Map上建立了一个Sprite,
之后在update里更新图形变化~
这个方法比用图片显示简单得多~
不过由于是从上往下扣除的~
所以坐标的计算略麻烦~

总之~丢个范例……
地图显示槽.zip (206.15 KB, 下载次数: 76)
作者: yagami    时间: 2013-11-4 20:26
本帖最后由 yagami 于 2013-11-4 20:40 编辑

弄个全局数组 $a = []
XX = Sprite.new
XX.bitmap = Bitmap.new("Graphics/Pictures/蓄力")
XX.src_rect = Rect.new(X,Y,W, H)
生成完毕后加到数组里
$a.push(XX)
要删除的时候
($a.shift).dispose
总体来说就是要先进先出的队列

看了下 你的描述 发现 你貌似要的效果 并不需要换图片啊
初始化
$XX = Sprite.new
$XX.bitmap = Bitmap.new("Graphics/Pictures/蓄力")
$XX.src_rect = Rect.new(X,Y,W, H)
变化中
$XX.src_rect = Rect.new(newX,newY,newW, newH)
销毁
$XX .dispose





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1