日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
AIRAndroid:創(chuàng)建棋子類Grid

像往常一樣編寫ActionScript代碼

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

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

創(chuàng)建棋子類Grid

棋子是構成棋盤的基礎。從面向對象編程的角度分析,每個棋子的使用方法完全相同,都支持翻轉變色,每個棋子有自己的狀態(tài),不同的狀態(tài)決定了其顏色。換句話說,棋子這個對象包含了一個處理翻轉行為的方法和一個存放自身狀態(tài)的屬性。

根據(jù)上面的分析創(chuàng)建Grid類來表示棋子,如代碼清單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,即棋子在地圖上的位置,用來尋找周圍的棋子
  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.                  //翻轉棋子
  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)變化時,都調用draw進行重繪
  35.                  private function draw():void
  36.                  {
  37.                          var g:Graphics = graphics;
  38.                          g.clear();
  39.                          //如果當前值為true,則用白色作為填充色
  40.                          if ( isWhite() )
  41.                          {
  42.                                  g.beginFill(0xFFFFFF);
  43.                          }
  44.                          else
  45.                          {
  46.                                  g.beginFill(0x333333);
  47.                          }
  48.                          //畫圓,并保證Sprite的注冊點在原點
  49.                          g.drawCircle(_radius, _radius, _radius);
  50.                          g.endFill();  
  51.                  }
  52.          }
  53.  }

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


網(wǎng)站欄目:AIRAndroid:創(chuàng)建棋子類Grid
URL鏈接:http://www.dlmjj.cn/article/djsjcop.html