最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

as3實(shí)現(xiàn)的拼圖游戲功能代碼介紹

  發(fā)布時(shí)間:2013-06-06 17:43:12   作者:佚名   我要評論
as3實(shí)現(xiàn)的拼圖游戲效果如下圖,如果其上下左右有空白處的話,可以實(shí)現(xiàn)交換,最后可以排列成有序的12345678,感興趣的朋友可以學(xué)習(xí)下哈
效果如下圖,如果其上下左右有空白處的話,可以實(shí)現(xiàn)交換,最后可以排列成有序的12345678
 
實(shí)現(xiàn)代碼如下:
包含兩個(gè)as文件:
第一個(gè)是構(gòu)造小方塊數(shù)字的as文件:RectShape.as

復(fù)制代碼
代碼如下:

package {
import flash.display.Sprite;
import flash.text.TextFormat;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class RectShape extends Sprite {
private var xzuobiao:uint;
private var yzuobiao:uint;
public function RectShape(num:uint) {
init(num);
}
private function init(num:uint) {
this.graphics.beginFill(0x00ff00);
this.graphics.lineStyle(1);//設(shè)置線條粗細(xì)
this.graphics.drawRect(0,0,40,40);
this.graphics.endFill();
//設(shè)置數(shù)字
var txt_format:TextFormat=new TextFormat();
txt_format.size=30;
var txt_num:TextField=new TextField();
txt_num.selectable=false;//設(shè)置文本字段不可選
txt_num.text=""+num;
txt_num.width=40;
txt_num.height=40;
txt_num.x=0;
txt_num.y=0;
txt_num.setTextFormat(txt_format);
txt_num.autoSize=TextFieldAutoSize.CENTER;
this.addChild(txt_num);
}
//對屬性設(shè)置get set方法
public function get X():uint {
return xzuobiao;
}
public function set X(xzuo:uint):void {
this.xzuobiao=xzuo;
}
public function get Y():uint {
return yzuobiao;
}
public function set Y(yzuo:uint):void {
this.yzuobiao=yzuo;
}
}
}

第二個(gè)是入口as:Main.as

復(fù)制代碼
代碼如下:

package{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class Main extends Sprite{
private var indexShape:Array=new Array(1,2,3,4,5,6,7,8);//表示需要顯示的八個(gè)方塊的文本
private var jilu:Array=[[1,1,1],[1,1,1],[1,1,1]];//默認(rèn)值為1,記錄該位置是否放了小方塊,沒有放方塊時(shí)其值為1,放了方塊后改為0
private var pielie:Array=[[0,0],[40,0],[80,0],[0,40],[40,40],[80,40],[0,80],[40,80],[80,80]];//定義小方塊排列的xy坐標(biāo)
public function Main(){
init();
}
private function init():void{
var kuang:Sprite=new Sprite();
kuang.graphics.lineStyle(3,0xff00ff);
kuang.graphics.drawRect(0,0,120,120);
kuang.graphics.endFill();
kuang.x=215;
kuang.y=140;
addChild(kuang);
//隨機(jī)的填充數(shù)字1-8
for(var i:uint=1;i<=8;i++){
var index:uint=Math.floor(Math.random()*indexShape.length);
var num:uint=indexShape[index];
indexShape.splice(index,1);//在數(shù)組中移除該數(shù)字
var shape:RectShape=new RectShape(num);//生成小方塊
shape.mouseChildren=false;//解決方塊被TextField文本框覆蓋的問題
//隨機(jī)生成一個(gè)位置來存放小方塊
var position:uint=Math.floor(Math.random()*pielie.length);
var positionValue:Array=pielie[position];
pielie.splice(position,1);//刪除記錄的該位置
shape.x=positionValue[0];
shape.y=positionValue[1];
shape.X=positionValue[0]/40;
shape.Y=positionValue[1]/40;
//修改記錄的位置的值改為0
jilu[positionValue[0]/40][positionValue[1]/40]=0;
kuang.addChild(shape);
//添加鼠標(biāo)點(diǎn)擊事件
shape.addEventListener(MouseEvent.CLICK,moveNum);
}
}
private function moveNum(evt:MouseEvent):void{
var left:int=evt.target.X-1;
var right:int=evt.target.X+1;
var top:int=evt.target.Y+1;
var bottom:int=evt.target.Y-1;
//處理向左移動
if(left!=-1&&jilu[left][evt.target.Y]==1){
//trace("come left");
jilu[evt.target.X][evt.target.Y]=1;
jilu[left][evt.target.Y]=0;
evt.target.X=left;
evt.target.x-=40;//向左移動40
}else if(right!=3&&jilu[right][evt.target.Y]==1){
//trace("come right");
jilu[evt.target.X][evt.target.Y]=1;
jilu[right][evt.target.Y]=0;//修改記錄
evt.target.X=right;
evt.target.x+=40;//向右移動40
}else if(top!=-1&&jilu[evt.target.X][top]==1){
jilu[evt.target.X][evt.target.Y]=1;
jilu[evt.target.X][top]=0;//修改記錄
evt.target.Y=top;
evt.target.y+=40;//向上移動40
}else if(bottom!=3 &&jilu[evt.target.X][bottom]==1){
jilu[evt.target.X][evt.target.Y]=1;
jilu[evt.target.X][bottom]=0;//修改記錄
evt.target.Y=bottom;
evt.target.y-=40;//向上移動40
}
}
}
}

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享

    flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細(xì)的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://www.fzitv.net/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?

    本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來回?fù)u擺的花朵的動畫?

    Flash怎么制作來回?fù)u擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動七彩色的文字?

    Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個(gè)流動七彩色的動畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2017-04-23

最新評論

禹州市| 南投市| 梁山县| 黑龙江省| 房山区| 乐陵市| 永平县| 永平县| 潞城市| 九江县| 北宁市| 伊宁市| 融水| 壶关县| 怀远县| 右玉县| 淅川县| 鲁甸县| 白玉县| 和顺县| 旌德县| 松滋市| 平昌县| 桐柏县| 芜湖市| 建平县| 通许县| 三门县| 虎林市| 读书| 响水县| 嘉鱼县| 温州市| 华阴市| 丰都县| 清丰县| 嘉荫县| 望江县| 阿克苏市| 隆德县| 许昌市|