|
主题: 有人看过画魔等人编的<<深入FLASH5编程>>吗?
|
 seast_5d
职务:普通成员
等级:1
金币:0.0
发贴:81
|
#12002/6/29 15:04:45
有人看过画魔等人编的<<深入FLASH5编程>>吗?我在学习第一个实例----"密室中反弹的小球"时遇到一点问题不明白,请各位帮忙. 第一关键帧: movex=10; movey=10; 第二关键帧: x = getProperty(ball, _x);
y = getProperty(ball, _y);
if (Number(x)>=540){ movex=-(movex); ball.play(); }else if (Number(x)<=10){ movex=-(movex); tellTarget(ball){ play(); } } if (Number(y)>=390){ movey=-(movey); ball.play(); }else if (Number(y)<=10){ movey=-(movey); tellTarget(ball){ play(); } } 第三关键帧: setProperty(ball,_x,Number(x)+movex); setProperty(ball,_y,Number(y)+movey); gotoAndPlay(2);
我认为这些代码不能实现书里说的效果,可是事实确实现了书里的效果.这是为什么那? 我认为不能实现的原因:第二关键帧里的as确定了第二帧里ball的位置.第三关键帧里的as设置的是第三帧里ball的位置,"按理(我的理)"ball不会一直走阿,(只能走10px,然后倒回原位置).这是为什么那?请各位指点.谢谢!
non
|
 onlybecause
职务:普通成员
等级:1
金币:0.0
发贴:87
|
#22002/6/29 21:47:34
关键在于3桢的goto语句,这样不断循环,就会不断变化,所以会移动,其实在后面的实例关于重力小球速度的控制我觉得有点不好理解,那个算法很有用,我想了很长时间也没有想透,我到是希望有人能讲一讲
|
 ejoker
职务:普通成员
等级:1
金币:0.0
发贴:129
|
#32002/6/30 16:50:50
我想你是没有搞懂getProperty的意思。 x = getProperty(ball, _x)把目前小球_X轴位置的数值赋给X,它是会变化的。
第二关键帧: x = getProperty(ball, _x); y = getProperty(ball, _y); ……
第三关键帧: setProperty(ball,_x,Number(x)+movex); setProperty(ball,_y,Number(y)+movey); gotoAndPlay(2);
|
 seast_5d
职务:普通成员
等级:1
金币:0.0
发贴:81
|
#42002/7/1 21:25:43
谢谢 可是,我set第三个关键帧的ball位置改变啊,第三个关键帧的ball没有让他动.
non
|
 haichuanqin
职务:普通成员
等级:1
金币:0.0
发贴:3
|
#52002/7/1 22:58:58
有没有人有After的实例教材或实例教材的网址?能上传或告诉一下吗?
|
 -=胡子=-
职务:普通成员
等级:1
金币:0.0
发贴:200
|
#62002/7/2 14:35:39
movex是个动态值啊!!!!!!!!!!!!!
|
 总在掺和
职务:普通成员
等级:1
金币:0.0
发贴:1
|
#72002/7/3 13:10:00
谁把这个深入给俺看看先
|
 -=胡子=-
职务:普通成员
等级:1
金币:0.0
发贴:200
|
#82002/7/3 15:14:30
我试着解释以下: 第三关键帧: movex=10;//设定移动的单位长度 movey=10;//设定移动的单位长度 第二关键帧: x = getProperty(ball, _x);//取得“ball”的新的x坐标值赋给变量x y = getProperty(ball, _y);//取得“ball”的新的y坐标值赋给变量y
if (Number(x)>=540){ movex=-(movex); ball.play(); }else if (Number(x)<=10){ movex=-(movex); tellTarget(ball){ play(); } } if (Number(y)>=390){ movey=-(movey); ball.play(); }else if (Number(y)<=10){ movey=-(movey); tellTarget(ball){ play(); } } //if语句判断ball是否出去了区域,如果是出去了,则ball播放并且把移动的方向倒过来 第三关键帧: setProperty(ball,_x,Number(x)+movex); setProperty(ball,_y,Number(y)+movey); gotoAndPlay(2); //设定ball的坐标在原来的基础上移动单位长度的像素,返回到第二帧执行(循环执行地二、三帧); 则ball就回不断的往前走了啊
|
 seast_5d
职务:普通成员
等级:1
金币:0.0
发贴:81
|
#92002/7/3 23:24:24
大家都人为很自然的就实现了啊:( 时间轴上的处在两个关键帧里的同名mc实体有关系吗?
non
|