查看: 2582|回复: 2

[已经解决] 事件中 显示图片的一部分

[复制链接]
梦石
7
星屑
1113
在线时间
334 小时
注册时间
2008-1-28
回帖
1506
发表于 2013-11-2 12:20:10 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 未命名 于 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点。
要是太麻烦,我还是放弃吧。
终于有可以放在这里的游戏了……
极短13 新生 《箱子新世界》

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2013-11-4 20:05:01 | 显示全部楼层
这个效果用事件的显示图片做不出来的吧……
就算做得出来也得废个半天劲……的吧……

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

总之~丢个范例……
地图显示槽.zip (206.15 KB, 下载次数: 76)

点评

事实上我认为你的答案更好,方便易上手,服务到位。只是楼下的对我来说更方便操作与调整。  发表于 2013-11-4 23:54

评分

参与人数 2星屑 +60 梦石 +1 收起 理由
RyanBern + 1 认可答案
未命名 + 60 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3703
在线时间
3081 小时
注册时间
2011-11-17
回帖
943
发表于 2013-11-4 20:26:39 | 显示全部楼层
本帖最后由 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

评分

参与人数 2星屑 +60 梦石 +1 收起 理由
RyanBern + 1 认可答案
未命名 + 60 认可答案,学到了,决定使用。.

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部