av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

AIRAndroid:創(chuàng)建棋子類Grid

像往常一樣編寫ActionScript代碼

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、呼中網(wǎng)站維護(hù)、網(wǎng)站推廣。

打開FlashDevelop(FD),創(chuàng)建項(xiàng)目FlipIt,F(xiàn)D會(huì)自動(dòng)創(chuàng)建主程序Main類。不要急于編寫主程序,為了讓程序的結(jié)構(gòu)更合理,可以先將其中某些功能分離出來(lái),增強(qiáng)代碼的靈活性。在這個(gè)游戲中,可以獨(dú)立出來(lái)的一個(gè)對(duì)象就是棋子。

創(chuàng)建棋子類Grid

棋子是構(gòu)成棋盤的基礎(chǔ)。從面向?qū)ο缶幊痰慕嵌确治?,每個(gè)棋子的使用方法完全相同,都支持翻轉(zhuǎn)變色,每個(gè)棋子有自己的狀態(tài),不同的狀態(tài)決定了其顏色。換句話說(shuō),棋子這個(gè)對(duì)象包含了一個(gè)處理翻轉(zhuǎn)行為的方法和一個(gè)存放自身狀態(tài)的屬性。

根據(jù)上面的分析創(chuàng)建Grid類來(lái)表示棋子,如代碼清單2-1所示。

代碼清單2-1 棋子Grid類

 
 
  1. package
  2.  {
  3.          import flash.display.Graphics;
  4.          import flash.display.Sprite;
  5.  
  6.          public class Grid extends Sprite
  7.          {
  8.                  //棋子的值
  9.                  private var _value:Boolean;
  10.                  //圓的半徑
  11.                  private var _radius:int;
  12.                  //id,即棋子在地圖上的位置,用來(lái)尋找周圍的棋子
  13.                  public var id:int;
  14.  
  15.                  public function Grid( value:Boolean = false, radius:int = 30)
  16.                  {
  17.                          _value = value;
  18.                          _radius = radius;
  19.                          //獲取初始值后,畫圓
  20.                          draw();
  21.                  }
  22.                  //翻轉(zhuǎn)棋子
  23.                  public function doFlip():void
  24.                  {
  25.                          //改變值,并重新繪制圓
  26.                          _value = !_value;
  27.                          draw();
  28.                  }
  29.                  //判斷棋子是不是白色狀態(tài)
  30.                  public function isWhite():Boolean
  31.                  {
  32.                    return _value == true;
  33.                  }
  34.                  //每次狀態(tài)變化時(shí),都調(diào)用draw進(jìn)行重繪
  35.                  private function draw():void
  36.                  {
  37.                          var g:Graphics = graphics;
  38.                          g.clear();
  39.                          //如果當(dāng)前值為true,則用白色作為填充色
  40.                          if ( isWhite() )
  41.                          {
  42.                                  g.beginFill(0xFFFFFF);
  43.                          }
  44.                          else
  45.                          {
  46.                                  g.beginFill(0x333333);
  47.                          }
  48.                          //畫圓,并保證Sprite的注冊(cè)點(diǎn)在原點(diǎn)
  49.                          g.drawCircle(_radius, _radius, _radius);
  50.                          g.endFill();  
  51.                  }
  52.          }
  53.  }

Grid類中沒(méi)有使用圖片素材,只是動(dòng)態(tài)繪制了一個(gè)圓來(lái)代表棋子。初次創(chuàng)建或調(diào)用doFlip方法后,若棋子的值發(fā)生變化,都會(huì)調(diào)用draw方法重新繪制圓,并改變填充色。屬性id很重要,記錄了棋子本身在棋盤上的編號(hào),后面我們將通過(guò)id值來(lái)尋找它四周的棋子。


文章標(biāo)題:AIRAndroid:創(chuàng)建棋子類Grid
網(wǎng)站鏈接:http://uogjgqi.cn/article/djsjcop.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流