主题:  怎样立即刷新一个指定的sprite

Jawry

职务:普通成员
等级:1
金币:0.0
发贴:106
注册:2001/6/4 11:39:55
#12002/7/12 9:26:29
我知道updatestage可以刷新stage,但是它也会激活很多的事件,这样在一个时间要求很高的程序中是不行的,比如说,我要在一帧中将一段代码执行几遍,这其中就是要让一个sprtie变换几次(例如是移动位置、改变颜色等),而当这个sprite变换后,用updateStage,就会激活其它的时间占用时间片;要不就得等到playback移动,这时这个sprite的中间过程就没有办法体现出来。我想最好的就是有一个只刷新一个sprite的命令。
不知道大家是不是有办法,如有请指教



D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37
#22002/7/12 19:47:03
你好像把问题说的比较复杂,搞不清什么意思
一般一个时间要求很高的程序根本就是sprite的概念越少越好,最好所有的都是抽象然后绘制stage:)
(我们往往追求把一些中间过程抽象化,来改善程序的速度)
实际上通常stage是一直在是根据tempo更新的,而不是playback
updatestage是强制刷而已(因为在d中tempo是可以设定的,也可用在一些repeat里)
所以,一般优化的话不推荐updatestage(肯定是花时间的,这个时间只比人眼快一点,比计算机运行速度慢多了)
当然,有时我们写
repeat while the mousedown
sprite(i).loch=sprite(i).loch+1
updatestage
end repeat
这样的程序,那是因为这样写方便,而且我们实在没必要在任何地方都优化而已,:)