设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2345|回复: 2
打印 上一主题 下一主题

[已经解决] 请教一下sprite=nil的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1957
在线时间
410 小时
注册时间
2018-9-25
帖子
38
跳转到指定楼层
1
发表于 2020-3-21 16:38:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我在用sprite显示一张图片以后想切换一张图片显示,先让sprite=nil再重新显示图片,但是这样好像有延迟?第一张图片还没消失第二张图片就出现了,想请教一下这是为什么?还有要怎么做才能完美切换图片?
第一个事件是


第二个事件是


然后就是自己在不停的试的时候发现这个延迟有时候又好像很小???


求大神解惑

Lv5.捕梦者

梦石
0
星屑
37799
在线时间
5402 小时
注册时间
2006-11-10
帖子
6546
2
发表于 2020-3-21 16:47:02 | 只看该作者
要释放,  sprite.dispose
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39440
在线时间
1914 小时
注册时间
2010-11-14
帖子
3315

R考场第七期纪念奖

3
发表于 2020-3-21 17:53:11 | 只看该作者
本帖最后由 KB.Driver 于 2020-3-21 17:57 编辑

既然你是同一个sprite,那就直接改sprite.bitmap就好

关于精灵与位图可以看一下鄙人的这篇教程
https://rpg.blue/thread-476407-1-1.html

至于为什么会延迟再消失,原理是这样的。
在直接令$spritre = nil时,并没有操作原来的Sprite对象,而是改变了$spritre变量。
换句话说,原来的Sprite对象依然好好的,只是变得无法访问了。
随后,GC(垃圾回收)检测到原来的Sprite对象已经无法访问了,便将它清除了。
但是,从$spritre被设置为nil到GC回收掉原来的Sprite是需要时间的,
所以会产生两个图像同时存在于画面上的现象。

评分

参与人数 2星屑 +50 +1 收起 理由
VIPArcher + 50 塞糖
adahs + 1 非常感谢,我明白了

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-27 02:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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