国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

如何使用Flash代碼創(chuàng)建中國(guó)象棋棋子

準(zhǔn)備工作首先,新建一個(gè)Flash文檔,并在時(shí)間軸中設(shè)置標(biāo)簽為“變量”的幀。在動(dòng)作面板中導(dǎo)入需要的類,并定義棋子上的漢字?jǐn)?shù)組。例如:```import ;import flash.text.TextFi

準(zhǔn)備工作

首先,新建一個(gè)Flash文檔,并在時(shí)間軸中設(shè)置標(biāo)簽為“變量”的幀。在動(dòng)作面板中導(dǎo)入需要的類,并定義棋子上的漢字?jǐn)?shù)組。例如:

```

import ;

import flash.text.TextField;

import flash.text.TextFormat;

import ;

const WORD:Array [["","帥","兵","俥","炮","仕","相","傌"], ["","將","卒","車(chē)","砲","士","象","馬"]];

```

繪制棋子的身體

在標(biāo)簽為“棋子身體”的幀里,寫(xiě)下以下代碼來(lái)繪制棋子的身體,包括一個(gè)圓形和一個(gè)內(nèi)嵌的黑圈:

```

function body():Shape {

var man:Shape new Shape();

(0, 0xffffff);

(0xffffff);

(0, 0, 20);

();

(1);

(0, 0, 17);

return man;

}

```

繪制棋子上的漢字

在標(biāo)簽為“棋子面孔”的幀里,寫(xiě)下以下代碼來(lái)繪制棋子上的漢字:

```

function face(_name:String, color:uint0xff0000):TextField {

var tf:TextFormat new TextFormat();

"隸書(shū)";

26;

color;

"center";

var txt:TextField new TextField();

txt.width 30;

txt.height 30;

tf;

(tf);

txt.x -15;

txt.y -16;

txt.text _name;

return txt;

}

```

合成棋子

將上述繪制棋子的函數(shù)組合起來(lái),以生成完整的棋子。此函數(shù)有返回值,為MovieClip類型。

```

function chessman(who:String, x:int, y:int, color:uint0xff0000):MovieClip {

var man:MovieClip new MovieClip();

man.x x;

man.y y;

(body());

(face(who, color));

return man;

}

```

制作所有的棋子

使用循環(huán)語(yǔ)句將所有棋子添加到棋盤(pán)邊上:

```

function addChessPieces() {

for (var i:uint 0; i < 2; i ) { // 先紅后黑

for (var j:uint 1; j < 8; j ) { // 橫向擺放

(chessman(WORD[i][j], 40 * j, 360 * i 40, i 0 ? 0xff0000 : 0x00ff00)); // 調(diào)用制作棋子函數(shù)

}

}

}

addChessPieces(); // 執(zhí)行函數(shù),觀察效果

```

定位棋子

在標(biāo)簽為“定位到棋盤(pán)”的幀里寫(xiě)下以下代碼來(lái)定位棋子,并初始化棋盤(pán)布局:

```

stop();

var who []; // 存放每個(gè)棋子,方便以后辨識(shí)、移動(dòng)和吃子

var map [["376515673","000000000","040000040","202020202","000000000"], ["000000000","202020202","040000040","000000000","376515673"]]; // 地圖

function init() { // 初始化布局

for (var i:uint 0; i < 5; i ) { // 每一方的陣地有5*9的網(wǎng)格

who[i] [];

for (var j:uint 0; j < 9; j ) { // 行和列

var id:uint Number(map[0][i].substr(j, 1)); // 獲取地圖上的數(shù)據(jù),判斷要擺放哪個(gè)棋子

if (id > 0) { // 如果不是空地,就擺放指定的棋子

who[i][j] chessman(WORD[0][id], 40 * j, 40 * i, 0xff0000); // 繪制并定位

(who[i][j]); // 顯示出來(lái)

}

// 開(kāi)始制作黑方,原理同上

id Number(map[1][i].substr(j, 1));

if (id > 0) {

who[i][j] chessman(WORD[1][id], 40 * j, 40 * i, 0x00ff00);

(who[i][j]);

}

}

}

}

init(); // 運(yùn)行起來(lái),觀察效果

```

從實(shí)踐中得出的經(jīng)驗(yàn)是,以上代碼完全原創(chuàng)。作者:張志晨,創(chuàng)作于2012年5月25日。

標(biāo)簽: