Flash8技巧:用BitmapData.floodFill做填色游戏

技巧

  在flash8之前的填色游戏一般是将要填色的物件分成若干个小的MovieClip,然后单独对其填充颜色。

  利用BitmapData.floodFill对位图对象填充颜色的特性来实现区域填色,似乎比较方便,只要将线稿导入到flash中,变成BitmapData就可以填色了。下面是一个实例

    效果演示

点击这里下载源文件

import flash.display.BitmapData;
 
var colorNumber:Number=15; //色块数量
var nowColor:Number; //记录当前颜色
var showNowColor:Color=new Color(this.attachMovie("block","showNowColorMc",100,{_x:460,_y:330,_width:50,_height:50})); //生成一个色块显示当前颜色
 
for(var i:Number=0;i<colorNumber;i++){ //生成控制色块
 this.attachMovie("block","block"+i,i+10,{_x:(i*30+10),_y:350});
 var tmpMc:MovieClip=eval("block"+i);
 var tmpColorMc:Color=new Color(tmpMc);
 var tmpColor:Number=random(0xffffff); //随机颜色
 tmpMc.thisColor=tmpColor;
 tmpColorMc.setRGB(tmpColor);
 showNowColor.setRGB(tmpColor);
 nowColor=tmpColor;
 tmpMc.onRelease=function(){
  nowColor=this.thisColor;
  showNowColor.setRGB(nowColor);
 }
}
 
var myBitmapData:BitmapData = BitmapData.loadBitmap("fillpic"); //创建一个位图对象
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
mc.attachBitmap(myBitmapData,2); //载入位图对象
 
mc.onRelease=function(){ //点击设置颜色
 myBitmapData.floodFill(this._xmouse,this._ymouse, nowColor); //为当前位置(同一颜色的连续区域,这里是白色)填充颜色
 //floodFill 在图像上执行倾倒填充操作,从 (x, y) 坐标开始,填充一种特定的颜色。
}
  把该实例扩展下,可以做成下面的效果

时间: 2024-08-22 14:26:56

Flash8技巧:用BitmapData.floodFill做填色游戏的相关文章

[AS功能代码教程12] 填色游戏

在本次课程中我们将学习使用Color类来制作一个填色游戏 并通过本实例复习for...in及SharedObject的应用 思路: 1.使用脚本代码创建一个调色盘,鼠标点击色块后进行取色; 2.绘制作为填充的影片剪辑并把每一部都存为影片剪辑.例如: 填充对象是一个人物,那么要把他的头发,眼睛,脸等部分都保存成影片剪辑; 3.最后把各部分影片再统一保存到一个影片剪辑(mc)中; 4.为了保存和读取mc中各影片中的颜色,所以要加入两个按钮 save_btn 和 load_btn . 步骤1: 绘制作

flash 填色游戏

9.[AS 功能代码教程12] 填色游戏 在本次课程中我们将学习使用 Color 类来制作一个填色游戏 并通过本实例复习 for...in 及 SharedObject 的应用 思路: 1.使用脚本代码创建一个调色盘,鼠标点击色块后进行取色; 2.绘制作为填充的影片剪辑并把每一部都存为影片剪辑.例如: 填充对象是一个人物,那么要把他的头发,眼睛,脸等部分都保存成影片剪辑; 3.最后把各部分影片再统一保存到一个影片剪辑(mc)中; 4.为了保存和读取mc中各影片中的颜色,所以要加入两个按钮 sav

试着在做填字游戏时读一本书

"试着在做填字游戏时读一本书?这就是互联网上的阅读和知识环境." 在<浅析:互联网给我们大脑带来了些什么>一书中,尼可拉斯·卡尔(Nicholas Carr )向我们描述了使用互联网给人类大脑所带来的变化--它能影响我们的记忆能力或者降低我们的理解能力. --刚才你说什么了?嗯,就是类似这样的反应. 尽管许多人不同意尼可拉斯·卡尔的观点,然而研究他在书中所写的内容却有着重要的作用. 他书中的调查结果显示: ·在网络文章中链接越来越多,这降低了读者的理解能力.这可能是因为读者

fl 填色游戏

9.[AS 功能代码教程12] 填色游戏 [FL基础理论大师] 在本次课程中我们将学习使用 Color 类来制作一个填色游戏 并通过本实例复习 for...in 及 SharedObject 的应用 思路: 1.使用脚本代码创建一个调色盘,鼠标点击色块后进行取色; 2.绘制作为填充的影片剪辑并把每一部都存为影片剪辑.例如: 填充对象是一个人物,那么要把他的头发,眼睛,脸等部分都保存成影片剪辑; 3.最后把各部分影片再统一保存到一个影片剪辑(mc)中; 4.为了保存和读取mc中各影片中的颜色,所以

不到40行代码的填色游戏

今天一个朋友问我怎么做花纹填充上色,就花点时间给他做了一个.思路是利用beginBitmapFill画矩形,然后用待填充的图形做mask.舞台上有两个mc,一个是colors,一个是canvas,另外还有一个描边图形colors负责选色,canvas里面是多个分离的图形,也就是待填充mc(无需取名) 看一下代码://先是定义一个画矩形函数 import flash.display.BitmapData; import flash.geom.*; function createRectangle(

简单的填色游戏

 代码如下 复制代码 //第一帧中先添加停止... stop(); //初始化mycolor. var mycolor; //隐藏鼠标. Mouse.hide(); //将鼠标换成制作好的影片剪辑. startDrag("_root.xiguan", true); btn_1.onPress = function() { //定义新的COLOR类.以下同意.   mycolor = 0xF7F7F7;   xiguan_color = new Color(xiguan.yanliao)

卡通动漫人物绘制填色实例:Q版樱木花道

文/sunming 出处:5D 本文用Photoshop和OpenCanvas绘制卡通动漫人物--Q版樱木花道,主要包括线稿描绘与填色两大步骤. 一.首先打开Photoshop(以下简称PS),新建个图层用来画草稿. 二.草稿画好后再新建个层,这次画的是流畅的线稿.(不过别忘了把草稿的不透明度降低,方便观察线稿). 三.用钢笔工具按照草稿描出路径,并调节锚点使路径流畅.(为什么要用路径呢,好处是画出的线条很流畅,不过缺点是太费时间了,所以功底好的朋友可以用画笔直接画). 四.然后我们来描边路径,

PS用简笔画特效打造属于自己的填色书

  呐,最近有一本填色书特别的火.就是下面这个: 其实这个是从韩国火起来的,开始只有韩文版,不开星,哼.不过我们有万能的某宝,立马你就能买到中英韩等多个版本了--不过这都不是问题,问题是:为什么别人画的都那么好看-- 相信不少网友也都在朋友圈或微博上看到别人画的了,别看别人画的好,但其实--给这玩意儿填色真的很累的--而且大家都能买到这本画册,那我想画点不一样的怎么办?我能不能用PS自己做一个? 带着这种想法,我先去试了一下.这张图很好看对吧~就是它了 几分钟后------心都要碎了好吗(>_<

以一个着色游戏展开讲解Android中区域图像填色的方法_Android

一.着色游戏概述 近期群里偶然看到一哥们在群里聊不规则图像填充什么四联通.八联通什么的,就本身好学务实的态度去查阅了相关资料.对于这类着色的资料,最好的就是去搜索些相关app,根据我的观察呢,不规则图像填充在着色游戏里面应用居多,不过大致可以分为两种: 基于层的的填充 基于边界的填充 那么针对上述两种,我们会通过两篇博文来讲解,本篇就是叙述基于层的填充方式,那么什么基于层的填充方式呢?其实就是一张图实际上是由多个层组成的,每个层显示部分图像(无图像部分为透明),多层叠加后形成一张完整的图案,图层