wildgun 发表于 2008-9-9 01:20:18

请问:为何在SP变化时,立绘会消失?(内详)


bg "image\bg\908-1.jpg",0
ld c,":a;image\chara\1404-1.jpg",2,500
talkbox_inORout "in",5


talkbox_inORout是自定义的过程,用来实现对话框图片淡入淡出的效果:




*talkbox_inORout
getparam $5,%5 ;$5:"in"淡入 "out"淡出 %5:循环步长(数值越大则透明度变化越快)
lsp 30,":a;image\system\talkbox_50%.jpg",0,0,0 ;对话框
for %4=0 to 255 step 5

if $5=="in" drawsp 30,1,%4,0,0
if $5=="out" drawsp 30,1,255-%4,0,0
draw
drawbg
wait 1
next
print 1
return


一共三个图层:背景、立绘、talkbox(sp30)

现在碰到的问题即是:
当背景图片和立绘都显示在屏幕上时,执行到第三句“talkbox_inORout "in",5”,立绘会消失,然后等执行完该渐变过程后,立绘再次出现。
请问应该如何使在sp变化时,立绘不消失?

CountD 发表于 2008-9-9 12:14:53

不要用drawbg/drawsp,用了那个就会重描背景,描背景的时候是不会连立绘一起描的...
建议直接用lsp+print效果就好...

wildgun 发表于 2008-9-10 05:04:59

果然如此,问题解决,谢谢大大。
另外我还想到一个问题:
根据我的理解,draw系命令执行时仅改变sp的大小、透明度、旋转角度等,但不变化图片本身;而lsp命令每次执行时都会从硬盘里载入图片。

那么用lsp做循环,是否没执行一次都会从硬盘读取一次图片数据,从而导致运行速度很慢?(虽然我这里运行时没有感到变慢……)

CountD 发表于 2008-9-10 11:49:53

我想不会,不用CSP做卸载的话,会一直在内存里的...
页: [1]
查看完整版本: 请问:为何在SP变化时,立绘会消失?(内详)