如何利用as制作国际象棋棋盘?
具体步骤
我们利用as语句编写的方法来制作国际象棋棋盘。先看一下效果。如图3.3.112所示。
图3.3.112????效果演示
单击场景1时间轴上面的图层1的第1帧,打开AS面板,添加如下AS2语句:
createEmptyMovieClip("aiyi",?1);
Line?=?31;?
Movieclip.prototype.box_line?=?function(Line_L,?Line_R,?l)?{?
?this.lineto(Line_L,?Line_R);
?this.lineto(Line_L+l,?Line_R);
?this.lineto(Line_L+l,?Line_R+l);
?this.lineto(Line_L,?Line_R+l);
};
for?(i=0;?i<248;?i?+=?Line)?{
?for?(j=0;?j<248;?j?+=?Line)?{
??with?(_root.aiyi)?{
???moveto(j,?i);
???i%2?==?1???(j%2?==?1???beginfill(0x000000,?100)?:?beginfill(0xffffff,?100))?:?(j%2?==?0???beginfill(0x000000,?100)?:?beginfill(0xffffff,?100));
?linestyle(0,?0x000000,?100);?
???box_line(j,?i,?Line);?
???endFill();
??}
?}
语句的意思是:
createEmptyMovieClip("aiyi",?1);
Line?=?31;//设置方块的边长
Movieclip.prototype.box_line?=?function(Line_L,?Line_R,?l)?{//用来画方的构造函数
?this.lineto(Line_L,?Line_R);
?this.lineto(Line_L+l,?Line_R);
?this.lineto(Line_L+l,?Line_R+l);
?this.lineto(Line_L,?Line_R+l);
};
//下面的代码则利用奇偶来判定是否填充黑或白色……
for?(i=0;?i<248;?i?+=?Line)?{
?for?(j=0;?j<248;?j?+=?Line)?{
??with?(_root.aiyi)?{//with动作,用with后不必重复书写对象的名称和路径。?
???moveto(j,?i);
???i%2?==?1???(j%2?==?1???beginfill(0x000000,?100)?:?beginfill(0xffffff,?100))?(j%2?==?0???beginfill(0x000000,?100)?:?beginfill(0xffffff,?100));
?linestyle(0,?0x000000,?100);//在绘制的路径中调用?lineStyle?方法来为路径中的不同线条段指定不同的样式。
???box_line(j,?i,?Line);//调用上面刚才定义的box_line构造函数。
???endFill();//应用填充。
??}
?}
专家指点:
编程思路:当i为25(奇数)时,i%2==1为25%2==1,返回true值,当返回true时,执行(j%2==1?beginfill(0x000000,?100):beginfill(0xffffff,?100))。而这又是一个“条件”j%2==1?beginfill(0x000000,?100):beginfill(0xffffff,?100):
???先计算j%2的值,如当j=25时,返回T,那么执行beginfill(0x000000,?100)——0x000000为RGB值,也就是黑色 ,后面的100是Alpha值,也就是完全不透明了。
???第一次循环可以将第一个方块填充为黑色。
???第二次循环:i=25,j=50时,还是执行(j%2==1?beginfill(0x000000,?100):beginfill(0xffffff,?100))。而这次j=50,50%2==1为F,那么会执行beginfill(0xffffff,?100)——即填充为白色,Alpha值为100%
那么第二次循环的目的:将第一行的第二列的方块填充为白色……
以此类推……
当i进行第二轮循环时:
即i=50时:50%2==1返回F,这时执行(j%2==0?beginfill(0x000000,?100):beginfill(0xffffff,?100)。再看j值,25%2==0返回F,执行beginfill(0xffffff,?100)——即填充为白色。
这次循环后,后将第二行的第一列的方块填充为白色……
剩下的就不用遇多说了吧,一样的,只要明白其一就能明白全部。
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |