主题:  请教版主关于变量运算问题

黄海弄潮人

职务:普通成员
等级:1
金币:0.0
发贴:50
#12005/6/3 14:34:18
一段代码,欲用变量控制循环次数
第一帧
on exitframe me
set i=1
end
第五帧
on exitframe me
set i=i+1
if i<10 then
go loop
else
go next
endif
end
运行后,进入死循环,不能跳出.
测试ut i
变量i的值一直为1
将变量i定义为全局变量,结果依然.
loop的循环并未指向第一帧,Dr对这样简单的变量也不支持吗?
请问r中,变量传递运算如何实现?
麻烦版主测试一下,变量运算在任何程序里都应该很容易实现的,但为什么感觉DR里 变量不能参与运算呢?



我是小马

职务:普通成员
等级:3
金币:17.0
发贴:794
#22005/6/3 15:10:15

相关文件(rar):点这儿打开
这个代码应该是没有问题的,问题可能出现你的影片中根本没有marker,参考帮助中go loop和go next的解释:

go loop:
将播放头送到电影中的前一个标记点,如果当前帧没有标记的话会回到当前帧后面的一
个标记点进行播放,如果当前帧有标记点的话则在当前帧循环。

如果当前帧没有标记点则前往播放头右面的第一个标记点。
如果当前帧有标记点则在当前帧循环。
如果电影中不包括标记点则前往电影的第一帧。


go next
命令;将播放头送到电影中下一个标记点。如果播放头的右边没有标记点的话,播放头将前往
电影中最后的一个标记点,如果电影中没有标记点的话,播放头将前往第一帧。



黄海弄潮人

职务:普通成员
等级:1
金币:0.0
发贴:50
#32005/6/3 18:19:59
  我的marker一个设在第三帧,命名为a1,另一个设在第十二帧,命名为a2,没问题。
测试时,可见播放头在第三帧和第五帧之间不断循环,put i的结果总是1。
  因为变量的结果不能递增,程序的结果是死循环,不断在第三帧和第五帧间循环
不能跳出。



黄海弄潮人

职务:普通成员
等级:1
金币:0.0
发贴:50
#42005/6/3 18:21:48
为排除软件的问题,在DR 9.0中做了测试,结果相同。



我是小马

职务:普通成员
等级:3
金币:17.0
发贴:794
#52005/6/3 23:50:39
这段程序在Director Mx2004测试没有问题,一切正常阿



黄海弄潮人

职务:普通成员
等级:1
金币:0.0
发贴:50
#62005/6/5 17:17:19
是我的软件问题吗?晕!
谢谢解答



黄海弄潮人

职务:普通成员
等级:1
金币:0.0
发贴:50
#72005/6/5 19:01:23
宇风多媒体解答:两处代码均加global i,问题解决,在DR8.0及DR mx中均可通过。

按lingo的变量用法,全局变量声明一次即可,但代码中不重复声明,变量即不参与运算.在DR 2004中可以正常运算的原因也许是DR 2004中已经解除了这个BUG.....

感谢斑竹关注



我是小马

职务:普通成员
等级:3
金币:17.0
发贴:794
#82005/6/5 21:12:33
二楼的例子中已经给出了详细的代码!
而且你自己还说了将i定义为全局变量,还以为你明白了全局变量使用之前需要先声明哦

黄海弄潮人在上个帖子中说
引用:
宇风多媒体解答:两处代码均加global i,问题解决,在DR8.0及DR mx中均可通过。

按lingo的变量用法,全局变量声明一次即可,但代码中不重复声明,变量即不参与运算.在DR 2004中可以正常运算的原因也许是DR 2004中已经解除了这个BUG.....

感谢斑竹关注



Super ChiCk

职务:版主
等级:5
金币:15.0
发贴:3502
#92005/6/6 0:11:17
呵呵



黄海弄潮人

职务:普通成员
等级:1
金币:0.0
发贴:50
#102005/6/6 15:26:22
二楼的答案好像是在2004中的,DR 8.0和DR MX中均不能运行。