主题:  桃人兄,帮忙解释以下的代码!

路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
注册:2001/7/13 9:21:38
#12002/1/8 15:00:59

页面:点这儿参观
源文件下载

麻烦了!

编辑历史:[这消息被傻小仔编辑过(编辑时间2002-01-08 15:02:04)]


5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
注册:2001/11/25 16:32:29
#22002/1/8 18:47:18
在场景中控制随机的名为code的mc上的代码,解释如下:

onClipEvent (load) {
// 当影片载入时
maxball = 3;
// 定义最多出现的小球数
nball = 0;
// 实际出现的小球数
it = [0, 0, 0, 0, 0, 0];
// 定义一个数组,让数组的五个值都为假
}
onClipEvent (enterFrame) {
// 进入mc时
if (nball// 当世纪的球数小于最大的球数时执行下面的语句
i = random(5)+1;
// 把i赋一个随机的值
while (it[i]) {
if (++i>5) {
i = 1;
}
}
// 当it[i]为真时,如果则a+1得值大于5则i=1,也就是让i=1然后重新执行一遍
_root["it"+i].attachMovie("ball"+random(3), "ball", 1);
// 捆绑mc:ball,之所以是random是因为每个mc的速度,都有所不同,这样能产生mc随机的移动速度组合
it[i] = 1;
// it[i]=1也就是说,如果这个第i个小球已经被选上了则代表这个小球的it[i]就是真了,那么如果再次随即抽到它的时候,就不会执行下面的语句,而会重新让i等于1在重新执行上面的语句。
nball++;
// 当nball自加到=maxball时跳出循环
// 以上这些的功能是产生不重复的随机出现三个小球,这就是上面这段程序的主要意思!就是太麻烦了~~呵呵~
}
}
在名字是ball的mc中的代码
lb = "label"+random(2);
//意思是让小球随机的从左或从右往相反的方向运动!



这些代码莫名其妙的繁琐!其实这个效果应该应该很简单就能够实现的,却搞得这样麻烦!(发发牢骚~)赫赫~~时间仓促,有错误见谅~



路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
注册:2001/7/13 9:21:38
#32002/1/11 9:35:46
感谢桃人的帮忙!



路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
注册:2001/7/13 9:21:38
#42002/1/11 9:36:32
桃人在上个帖子中说
引用:
这些代码莫名其妙的繁琐!其实这个效果应该应该很简单就能够实现的,却搞得这样麻烦!(发发牢骚~)赫赫~~时间仓促,有错误见谅~



还有什么方法啊?????



金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
注册:2002/1/6 14:44:13
#52002/1/11 9:49:06
傻小仔在上个帖子中说
引用:
桃人在上个帖子中说
引用:
这些代码莫名其妙的繁琐!其实这个效果应该应该很简单就能够实现的,却搞得这样麻烦!(发发牢骚~)赫赫~~时间仓促,有错误见谅~



还有什么方法啊?????


还是自己动动脑筋吧,一定能想出好办法来的


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER

路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
注册:2001/7/13 9:21:38
#62002/1/11 10:13:49
++i 是不是i递增的意思,和i++有什么分别!

_root["it"+i].attachMovie("ball"+random(3), "ball", 1);
还有这句理解得不清楚!



金山羊

职务:普通成员
等级:4
金币:10.0
发贴:827
注册:2002/1/6 14:44:13
#72002/1/11 11:52:56
傻小仔在上个帖子中说
引用:
++i 是不是i递增的意思,和i++有什么分别!

_root["it"+i].attachMovie("ball"+random(3), "ball", 1);
还有这句理解得不清楚!


++i与i++ 在一般情况下是一样的
但是在赋值语句里就不一样了
++i是先递增后赋值
i++是先赋值后递增
一定要注意两者的区别
如果单独做一句,就没有什么区别了


_root["it"+i].attachMovie("ball"+random(3), "ball", 1);
这一句是在_root["it"+i]这个mc里复制出ball来
完全没必要这样的
是自己找麻烦


5d.cn
FLASHDEP
TECHNOLOGY SUPPORT
JAVA/ACTIONSCRIPT/javascript
CFML/JSP/COLDFUSION/FLASH REMOTING
JRUN/COLDFUSIONMX
FLASH/DREAMWEARER

5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
注册:2001/11/25 16:32:29
#82002/1/11 19:10:48
而且,随机mc控制方向,根本用不着还做5个速度不同的mc来,一个就够了,自己控制自己的random速度(有个限制),先判断运动方向(正负),在判断初始位置(y轴的左右)。