Flash AS教程:填色游戏的制作
来源:Arting365.com 作者:FL基理大师 发布时间:2008-03-22
|
先试试效果:
在本次课程中我们将学习使用 Color 类来制作一个填色游戏,并通过本实例复习 for...in 及 SharedObject 的应用。 思路: 步骤1: //===== 绘制一个正方形作为色块以备调用 =====
_root.createEmptyMovieClip("box", -1); var box_size:Number = 12; var TheCol = 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; //============================================ //************* 下面生成一个调色盘 ************* var panex:Number = 3; var paney:Number = 3; var column:Number = 18; //起点 x 坐标为 3, 起点 y 坐标为 3, 总行数为 18 var i = 0; for (var r = 0; r<=0xFF; r += 0x33) { for (var g = 0; g<=0xFF; g += 0x33) { for (var b = 0; b<=0xFF; b += 0x33) { var p:MovieClip = box.duplicateMovieClip("box"+i, i); new Color(p).setRGB(r*256*256+g*256+b); //new Color(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 = new Color(this).getRGB(); new Color(curser.BG).setRGB(TheCol); //点击到该色块后进行取色于保存到TheCol变量中 }; i++; } } } //****************************************** //===== 判断点击到图案上以后对哪个影片剪辑填色 ===== mc.onRelease = function() { var flag:Boolean = true; //增加一个flag为了避免一次对多个影片进行填色 for (var k in mc) { if (mc[k].hitTest(_xmouse, _ymouse, true) && flag) { new Color(mc[k]).setRGB(TheCol); flag = false; } } }; //============================================ //************* 对mc中所有填充色的读取和保存 ************* save_btn.onRelease = function() { var so:SharedObject = SharedObject.getLocal("Color_save"); for (var k in mc) { so.data[k] = new Color(mc[k]).getRGB(); } }; load_btn.onRelease = function() { var so:SharedObject = SharedObject.getLocal("Color_save"); for (var k in mc) { new Color(mc[k]).setRGB(so.data[k]); } }; //****************************************** Flash充电:例举 Color 类中常用方法简介 例1:为影片剪辑 mc 创建一个名为 m_Col 的 Color 对象,并将其RGB值设置为橙色: 例2:获取影片剪辑 mc 的RGB值并以16进制显示出来: var m_Col:Color = new Color(mc); |
本篇编辑:lihui
发表评论 | 查看所有评论
相关链接
链接推广





