手机
当前位置:查字典教程网 >网页设计 >Flash教程 >Flash AS教程:填色游戏的制作
Flash AS教程:填色游戏的制作
摘要:先试试效果:在本次课程中我们将学习使用Color类来制作一个填色游戏,并通过本实例复习for...in及SharedObject的应用。思路...

先试试效果:

在本次课程中我们将学习使用 Color 类来制作一个填色游戏,并通过本实例复习 for...in 及 SharedObject 的应用。

思路:

1.使用脚本代码创建一个调色盘,鼠标点击色块后进行取色;

2.绘制作为填充的影片剪辑并把每一部都存为影片剪辑。例如:填充对象是一个人物,那么要把他的头发,眼睛,脸等部分都保存成影片剪辑;

3.最后把各部分影片再统一保存到一个影片剪辑(mc)中;

4.为了保存和读取mc中各影片中的颜色,所以要加入两个按钮 save_btn 和 load_btn 。

步骤1:

绘制作为填充的影片剪辑并把每一部都存为影片剪辑;

最后把各部分影片统一保存到一个影片剪辑中,实例名mc;

绘制两个按钮实例名分别为 save_btn 和 load_btn 。

步骤2:

加入AS代码:

//=====绘制一个正方形作为色块以备调用=====

_root.createEmptyMovieClip("box",-1);

varbox_size:Number=12;

varTheCol=0x0;

//用于存储所取的色彩值

with(box){

beginFill(TheCol);

moveTo(0,0);

lineTo(box_size,0);

lineTo(box_size,box_size);

lineTo(0,box_size);

lineTo(0,0);

endFill();

}

box._visible=false;

//============================================

//*************下面生成一个调色盘*************

varpanex:Number=3;

varpaney:Number=3;

varcolumn:Number=18;

//起点x坐标为3,起点y坐标为3,总行数为18

vari=0;

for(varr=0;r<=0xFF;r =0x33){

for(varg=0;g<=0xFF;g =0x33){

for(varb=0;b<=0xFF;b =0x33){

varp:MovieClip=box.duplicateMovieClip("box" i,i);

newColor(p).setRGB(r*256*256 g*256 b);

//newColor(p).setRGB(r<<16|g<<8|b);

//RGB转换公式,以上两种都可以使用

p._x=panex Math.floor(i/column)*(box_size 1);

p._y=paney i%column*(box_size 1);

//设置每个色块的坐标行坐标:[i/column],列坐标:i%column

p.onRelease=function(){

TheCol=newColor(this).getRGB();

newColor(curser.BG).setRGB(TheCol);

//点击到该色块后进行取色于保存到TheCol变量中

};

i ;

}

}

}

//******************************************

//=====判断点击到图案上以后对哪个影片剪辑填色=====

mc.onRelease=function(){

varflag:Boolean=true;

//增加一个flag为了避免一次对多个影片进行填色

for(varkinmc){

if(mc[k].hitTest(_xmouse,_ymouse,true)&&flag){

newColor(mc[k]).setRGB(TheCol);

flag=false;

}

}

};

//============================================

//*************对mc中所有填充色的读取和保存*************

save_btn.onRelease=function(){

varso:SharedObject=SharedObject.getLocal("Color_save");

for(varkinmc){

so.data[k]=newColor(mc[k]).getRGB();

}

};

load_btn.onRelease=function(){

varso:SharedObject=SharedObject.getLocal("Color_save");

for(varkinmc){

newColor(mc[k]).setRGB(so.data[k]);

}

};

//****************************************** Flash充电:例举 Color 类中常用方法简介

请注意:我们在舞台中所绘制出的影片剪辑即使给他是填充了纯色影片,使用getRGB()也不会取得其RGB值。我们只有对其使用过setColor()后,才能用getRGB()获取该影片的颜色值。

例1:为影片剪辑 mc 创建一个名为 m_Col 的 Color 对象,并将其RGB值设置为橙色:

var my_color:Color = new Color(my_mc);

my_color.setRGB(0xff9933);

例2:获取影片剪辑 mc 的RGB值并以16进制显示出来:

var m_Col:Color = new Color(mc);

m_Col.setRGB(0xff9933);

var myValue:String= m_Col.getRGB().toString(16);

【Flash AS教程:填色游戏的制作】相关文章:

Flash as3 日期时间的学习

flash as3 打气球小游戏代码

Flash cs3鼠绘教程:动画技巧之绘制猴子

Flash cs3鼠绘教程:图形元件的同步应用

Flash教程:铰连身体部分的方法

Flash AS3.0教你射击类游戏的制作

Flash AS3教程:简单表现照片底片效果

Flash制作蝴蝶

Flash实例教程:卡通MM眨眼睛动画

Flash游戏开发实例制作旋转坦克

精品推荐
分类导航