原创 TypeScript 旅途5:泛型,設計一個雙向鏈表

當我們設計組件的時候,我們總是希望組件能支持足夠多的數據類型,甚至是將來可能會添加的數據類型或者是自定義的數據類型,這樣在構建系統的時候就提供了非常靈活的功能。像C++、Java、C#一樣,TypeScript的泛型就是用來提供這

原创 如何製作一張RPG遊戲地圖

我們使用Tiled來製作地圖,工具下載地址。 首先新建一張地圖,點擊菜單新建,如圖所示。 塊的大小根據右側選擇的圖塊大小來設置,過大或過小都不合適,這裏的圖塊中每一個小塊都16X16像素的。 新建了地圖後,選擇要使用的圖塊

原创 TypeScript 旅途4:函數

在JavaScript中,函數是一等公民。在TypeScript中雖然已經支持類,命名空間和模塊,但函數的使用頻率仍然是非常高的,而且還添加了額外的功能,使用起來更方便了。 函數定義 先來看一下在TypeScript中函數的定義。

原创 骨骼動畫

爲了實現動畫效果,我們可以使用序列圖,或者可以選擇骨骼動畫。這裏的動畫效果,並不是說圖片通過變形拉伸等等實現的效果,如下圖,這個就是簡單的變形實現的動效。 **序列圖**,比如之前文章裏的像素鳥,三個不同動作的圖片,通過循環播放,就實現

原创 實現一個跑酷遊戲

Phaser入門教程 當使用谷歌瀏覽器訪問網頁的時候,如果斷網了,這時候頁面就會現一個跑酷的小遊戲。按下空格,這個遊戲就開始了。 本篇教程就使用phaser來實現這個遊戲。演示圖如下所示。 一個簡單的跑酷遊戲需要一個不斷移動

原创 TypeScript 旅途6:泛型,設計一個棧結構

TypeScript中的泛型功能非常強大,本節使用泛型來實現常見的數據結構:棧(Stack)。 棧的簡介 棧的特點 棧(Stack)是一種線性存儲結構,它具有如下特點: 棧中的數據元素遵守先進後出(First In Last Out)的

原创 實現一個像素鳥

Phaser入門教程 有了前面的入門教程,這篇教程理解起來會簡單很多。先來張圖看看遊戲效果。 本教程源碼地址: 碼雲 github 現在開始分析這個遊戲如何製作。我們首先添加幾個遊戲場景。 game.states = {};

原创 實現一款簡單的RPG遊戲

RPG遊戲地圖教程 相信很多人的童年是在紅白機、世嘉遊戲機下長大的,那些經典的遊戲如:魂鬥羅,超級瑪麗,世嘉的戰斧、怒之鐵拳等等一系列的經典。如今那些經典的記憶,已經隨着時間的沖刷慢慢減淡了。 今天就來看看如何使用phaser引擎製作一

原创 TypeScript 旅途3:類

傳統的JavaScript程序使用函數和基於原型的繼承來創建可重用的組件,但是我們更習慣於使用面向對象的方式來開發。ES6已經可以使用class關鍵字進行面向對象的方式開發了,使用TypeScript不管要編譯到哪個ES規範版本的Java

原创 TypeScript 旅途2:接口

接口就像協議規範一樣。比如USB協議,而各個廠商可以有不同的實現方式,但是要遵循這個協議,實現出來的USB設備才能在其它遵循USB協議的設備上使用。在這裏不同的廠商就是接口的不同的實現者。 接口定義與可選屬性 interface Pe

原创 TypeScript 旅途1:基礎類型

相信你在寫JavaScript代碼的時候也碰到過很頭疼的時刻,比如對象的屬性名或方法名大小寫錯了,或是記不得某個對象有沒有某個屬性,害怕最新的ES標準有的瀏覽器還沒有支持…等等種種問題,那麼你需要使用TypeScript,你會愛上她的(