中国视觉之窗
  首页 资讯 画廊 艺术 视角 教程 网络学堂 创意集中营 高校 第七视觉 刊物 人才 论坛 搜索 视觉博客 蚁盟工作室   QQ群:10173223
·中国视觉之窗欢迎您 []
全网 站内

推荐文章

Flash AS代码编写图片环...

用Flash绘制逼真奥迪轿...
赞助商

广告时间
您的位置:  教程首页 >> 网络学堂 >> Flash >> Flash AS教程:填色游戏的制作
Flash AS教程:填色游戏的制作
作者: ┊ 时间:2008-04-30 16:40:18 ┊ 来源:互联网 ┊ 浏览次数:8 ┊ 在线投稿



在本次课程中我们将学习使用 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);
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 类中常用方法简介
请注意:我们在舞台中所绘制出的影片剪辑即使给他是填充了纯色影片,使用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);



本文链接:


负责编辑:dreamtang

相关文章 本栏最新
在Dreamweaver8.0.2中插入的Flash添加透明
Flash动画适应任何分辨率网页显示的几种方法
Flash AS代码编写图片环绕旋转效果
Flash 缓存问题的解决方法
Mozilla警告:应该提防Flash和Silverlight
flash mx 2004 media组件实现多首mp3连放_flash教程
Swf2Gif快速将flash动画变成GIF格式

 Flash动画适应任何分辨率...
 飘动flash效果+随机显示...
 Flash AS代码编写图片环...
 Flash 缓存问题的解决方法
 loading制作方法
 Flash动画轻松转成GIF图片
 通过实例学习flash AS3....
 flash中动画短片制作常用...
 Flash教程:if条件语句的...
 Flash AS代码编写图片环...


发表评论  ┊  告诉好友  ┊  打印此文  ┊   关闭窗口TOP

未经授权严禁转载本站任何内容,本站保留依法追究法律责任的权利。凡通 过本站授权的合作站点,转载本站文章必须注明来源为---中国视觉之窗,作者和来自我站的链接必须保 留,转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。 本站所刊登的任何文章、作品,不代表中国视觉之窗的立场。本站转载他站的文章,主要用于传播信息或 理念思维。没有丝毫商业意图,并清晰标注稿件真实来源。如侵犯你的版权,请联系删除!
友情链接 | 诚聘英才 | 关于我们 | 版权声明 | 联系我们 | 广告服务 |
中国视觉之窗 艺术 设计 中国艺术设计的殿堂 中国第一视觉门户
Copyright © 2007-2009 ymarting.com All rights reserved.Best view by IE6.x 1024*768
粤ICP备07513371号