pixi初探筆記(1)

pixi.js是一個(gè)極快2D渲染引擎铡溪,他可以幫助我們制作動(dòng)畫待牵,制作游戲馒过。

  • 下載安裝
    • git安裝
      通過命令行創(chuàng)建一個(gè)文件夾 然后cd進(jìn)入后輸入
      git clone git@github.com:pixijs/pixi.js.git
      然后
      git checkout tags/v4.0.0
      切到4.0.0版本的分支 可以看到所需要的pixi.js文件就在bin下面
      <!doctype html>
      

<html>
<head>
<meta charset="utf-8">
<title>Hello World</title>
</head>
<body>
<script src="../pixi.js/bin/pixi.js"></script>
</body>
<script type="text/javascript">
var type = "WebGL"
if(!PIXI.utils.isWebGLSupported()){
type = "canvas"
}

PIXI.utils.sayHello(type)

</script>
</html>
```
如果可以在控制臺(tái)看到
Pixi.js 4.0.0 - ? WebGL ? http://www.pixijs.com/ ???
那么就代表引入成功了

  • 創(chuàng)建renderer和stage
    • renderer即渲染器坚俗,就是pixi提供的一個(gè)渲染對(duì)象
       //Create the renderer
      var renderer = PIXI.autoDetectRenderer(256, 256);
      
      //Add the canvas to the HTML document
      document.body.appendChild(renderer.view);
      
      renderer.view就是我們所熟悉的canvas標(biāo)簽禽作,可以通過renderer.view.style修改canvas的樣式尸昧,代碼通過原生api將canvas添加到dom中
      // 適應(yīng)全屏幕
      renderer.view.style.position = "absolute";
      

renderer.view.style.display = "block";
renderer.autoResize = true;
renderer.resize(window.innerWidth, window.innerHeight);
pixi的渲染器默認(rèn)會(huì)使用WebGL進(jìn)行渲染繪制,因?yàn)樗拥目焖倏醭ィ贿^也可以通過強(qiáng)制設(shè)定使用canvas來渲染繪制
// canvas
renderer = new PIXI.CanvasRenderer(256, 256);
// WebGL
renderer = new PIXI.WebGLRenderer(256, 256);
```

  • stage即舞臺(tái) 是pixi的Container對(duì)象 包容了所有需要展示的舞臺(tái)對(duì)象
 //Create a container object called the `stage`
 var stage = new PIXI.Container();

 //Tell the `renderer` to `render` the `stage`
 renderer.render(stage);

使用渲染器渲染舞臺(tái)可以將添加到舞臺(tái)的所有可見元素渲染出來

  • loader
    因?yàn)閜ixi使用WebGL在GPU渲染圖片 所以需要格式化到GPU能處理的格式 所以需要loader的api來加載到cache中
PIXI.loader
  .add("images/anyImage.png")
  .load(setup);

  function setup() {
    var sprite = new PIXI.Sprite(
      PIXI.loader.resources["images/anyImage.png"].texture
    );
  }

sprite為創(chuàng)建的精靈對(duì)象
也可以用數(shù)組方式來加載

PIXI.loader
  .add([
    "images/imageOne.png",
    "images/imageTwo.png",
    "images/imageThree.png"
  ])
  .load(setup);
  • 展示精靈
var stage = new PIXI.Container(),
    renderer = PIXI.autoDetectRenderer(256, 256);
    document.body.appendChild(renderer.view);

    //Use Pixi's built-in `loader` object to load an image
    PIXI.loader
      .add("images/cat.png")
      .load(setup);

      //This `setup` function will run when the image has loaded
      function setup() {

      //Create the `cat` sprite from the texture
      var cat = new PIXI.Sprite(
        PIXI.loader.resources["images/cat.png"].texture
      );

      //Add the cat to the stage
      stage.addChild(cat);

      //Render the stage   
      renderer.render(stage);
    }

添加后必須渲染才可以看到添加后的結(jié)果

  • loading
    PIXI.loader
        .add([
        "images/one.png",
        "images/two.png",
        "images/three.png"
        ])
        .on("progress", loadProgressHandler)
        .load(setup);
    
    function loadProgressHandler(loader, resource) {
    
       //Display the file `url` currently being loaded
       console.log("loading: " + resource.url); 
    
       //Display the precentage of files currently loaded  
       console.log("progress: " + loader.progress + "%"); 
    
      //If you gave your files names as the first argument 
      //of the `add` method, you can access them like this
      //console.log("loading: " + resource.name);
    }
    
    function setup() {
       console.log("All files loaded");
    }
    

有了這個(gè)接口我們可以非常方便的寫載入進(jìn)度條了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末烹俗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子狸捅,更是在濱河造成了極大的恐慌衷蜓,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尘喝,死亡現(xiàn)場(chǎng)離奇詭異磁浇,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)朽褪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門置吓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缔赠,你說我怎么就攤上這事衍锚。” “怎么了嗤堰?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵戴质,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我踢匣,道長(zhǎng)告匠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任离唬,我火速辦了婚禮后专,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘输莺。我一直安慰自己戚哎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布嫂用。 她就那樣靜靜地躺著型凳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘱函。 梳的紋絲不亂的頭發(fā)上啰脚,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音实夹,去河邊找鬼橄浓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛亮航,可吹牛的內(nèi)容都是我干的荸实。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缴淋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼准给!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起重抖,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤露氮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后钟沛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畔规,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年恨统,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了叁扫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畜埋,死狀恐怖莫绣,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悠鞍,我是刑警寧澤对室,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站咖祭,受9級(jí)特大地震影響掩宜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜心肪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一锭亏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧硬鞍,春花似錦慧瘤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至伐坏,卻和暖如春怔匣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工每瞒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留金闽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓剿骨,卻偏偏與公主長(zhǎng)得像代芜,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浓利,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 時(shí)態(tài)(Tense)是表示行為挤庇、動(dòng)作和狀態(tài)在各種時(shí)間條件下的動(dòng)詞形式。因此贷掖,當(dāng)我們說時(shí)態(tài)結(jié)構(gòu)的時(shí)候嫡秕,指的是相應(yīng)時(shí)態(tài)下...
    PMPEnglish閱讀 1,178評(píng)論 0 2
  • 要有愛,但不要有期待苹威; 要改變昆咽,但要看清什么可以改變; 做自己屠升,不累靈魂潮改,不臟皮囊。
    7958e590248c閱讀 193評(píng)論 0 1
  • 我發(fā)現(xiàn)自己慢慢養(yǎng)成了一個(gè)習(xí)慣腹暖,通郴阍冢看到一本好書的時(shí)候,越到后面就越想?yún)s又越舍不得把它看完~怕知道結(jié)局脏答,有的時(shí)...
    晨曦的書閱讀 245評(píng)論 0 0
  • 泰戈?duì)栐?jīng)說過,世界以痛吻我黄绩,要我回報(bào)以歌羡洁。但自己最早接觸這句話,還要追溯到高中時(shí)代爽丹,語文老師叫我們寫的一篇作文筑煮。...
    北堂野望閱讀 509評(píng)論 0 6