遊戲設計筆記:單例模式

來源:互聯網
上載者:User
 

  1. package {
  2.     import flash.display.MovieClip;
  3.     import flash.events.*;
  4.     
  5.     public class Player extends MovieClip {
  6.         
  7.         public static var _player:Player=null;
  8.         public function Player() {
  9.         }
  10.         
  11.         //單例模式
  12.         public static function getInstance():Player
  13.         {
  14.             if(_player==null)
  15.             {
  16.                 _player=new Player();
  17.             }
  18.             
  19.             return _player;
  20.             
  21.         }
  22.     }
  23. }

 

引用網上的說話

單例模式的要點有三個;一是某各類只能有一個執行個體;二是它必須自行建立這個案例;三是它必須自行向整個系統提供這個執行個體。
單例模式有以下的特點:

1 單例類只可有一個執行個體。

2 單例類必須自己建立自己這惟一的執行個體。

3 單例類必須給所有其他對象提供這一執行個體。

 

 

作用:在製作一個RPG或者只是一個玩家的執行個體中,這種設計模式的方法能夠方便給我們帶來好處。

 

再次如果希望製作RPg遊戲,需要考慮到人物各種屬性:包括等級,行為的速度,力量,魔法,智力,人的生命值等等人物屬性。需要更多的瞭解,而這種設計模式的方便能夠大大提高效率。

 

 

引用靜態方法其實很簡單,使用到類名引用就行,但不能用執行個體化來引用

private  var _player:Player;

public function main(){

 

_player=Player.getInstance();

}

 

這樣就可以引用到它的執行個體。如果需要把它顯示到舞台上,只需要加上addChild(_player);就可以

 

如果需要引用它的屬性,那就可以直接_player.屬性名稱(如果_player.level等級)

這個只做一個例子吧。好就寫到這裡

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.