一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

[AS功能代碼教程12] 填色游戲 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.oriental01.com - 電腦資料】

在本次課程中我們將學(xué)習(xí)使用Color類來制作一個(gè)填色游戲

并通過本實(shí)例復(fù)習(xí)for...in及SharedObject的應(yīng)用

思路:

1.使用腳本代碼創(chuàng)建一個(gè)調(diào)色盤,鼠標(biāo)點(diǎn)擊色塊后進(jìn)行取色;

2.繪制作為填充的影片剪輯并把每一部都存為影片剪輯,

[AS功能代碼教程12] 填色游戲

。例如: 填充對(duì)象是一個(gè)人物,那么要把他的頭發(fā),眼睛,臉等部分都保存成影片剪輯;

3.最后把各部分影片再統(tǒng)一保存到一個(gè)影片剪輯(mc)中;

4.為了保存和讀取mc中各影片中的顏色,所以要加入兩個(gè)按鈕 save_btn 和 load_btn 。

步驟1:

繪制作為填充的影片剪輯并把每一部都存為影片剪輯;

最后把各部分影片統(tǒng)一保存到一個(gè)影片剪輯中,實(shí)例名mc;

繪制兩個(gè)按鈕實(shí)例名分別為 save_btn 和 load_btn 。

步驟2:

加入AS代碼

//===== 繪制一個(gè)正方形作為色塊以備調(diào)用=====
_root.createEmptyMovieClip("box", -1);
var box_size:Number = 12;
var TheCol = 0x0;
//用于存儲(chǔ)所取的色彩值
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;
//============================================
//************* 下面生成一個(gè)調(diào)色盤 *************
var panex:Number = 3;
var paney:Number = 3;
var column:Number = 18;
//起點(diǎn) x 坐標(biāo)為 3, 起點(diǎn) y 坐標(biāo)為 3, 總行數(shù)為 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轉(zhuǎn)換公式,以上兩種都可以使用
   p._x = panex + Math.floor(i/column)*(box_size+1);
   p._y = paney + i%column*(box_size+1);
 //設(shè)置每個(gè)色塊的坐標(biāo) 行坐標(biāo): [i/column], 列坐標(biāo): i%column
   p.onRelease = function() {
    TheCol = new Color(this).getRGB();
    new Color(curser.BG).setRGB(TheCol);
   //點(diǎn)擊到該色塊后進(jìn)行取色于保存到TheCol變量中
   };
   i++;
  }
 }
}
//******************************************
//===== 判斷點(diǎn)擊到圖案上以后對(duì)哪個(gè)影片剪輯填色 =====
mc.onRelease = function() {
 var flag:Boolean = true;
 //增加一個(gè)flag為了避免一次對(duì)多個(gè)影片進(jìn)行填色
 for (var k in mc) {
  if (mc[k].hitTest(_xmouse, _ymouse, true) && flag) {
   new Color(mc[k]).setRGB(TheCol);
   flag = false;
  }
 }
};
//============================================
//************* 對(duì)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類中常用方法簡(jiǎn)介

請(qǐng)注意: 我們?cè)谖枧_(tái)中所繪制出的影片剪輯即使給他是填充了純色影片,使用getRGB()也不會(huì)取得其RGB值,

電腦資料

[AS功能代碼教程12] 填色游戲》(http://www.oriental01.com)。我們只有對(duì)其使用過setColor()后,才能用getRGB()獲取該影片的顏色值。

例1: 為影片剪輯 mc 創(chuàng)建一個(gè)名為 m_Col的 Color 對(duì)象,并將其RGB值設(shè)置為橙色:

var my_color:Color = new Color(my_mc);
my_color.setRGB(0xff9933);

例2: 獲取影片剪輯 mc的RGB值并以16進(jìn)制顯示出來:

var m_Col:Color = new Color(mc);
m_Col.setRGB(0xff9933);
var myValue:String = m_Col.getRGB().toString(16);

最新文章