這次帶給大家使用Pixi.js的總結,使用Pixi.js的注意事項有哪些,下面就是實戰案例,一起來看一下。
Pixi.js是一個用JavaScript寫的2D渲染引擎,可以用來在瀏覽器裡做互動圖形、動畫和遊戲等的「富視覺」應用,主打支援硬體GPU渲染的WebGL API,如瀏覽器不支援WebGL,Pixi則會退用HTML5 Canvas來渲染。 Pixi主要負責渲染畫面,許多其它功能開發者得自己寫或搭配其它庫來使用,如用來開發網頁遊戲的Phaser框架就是使用Pixi來做渲染。以下內容選自Learning Pixi.js一書,可以來小試試看Pixi。
備註:範例中的JavaScript用的是ES6,var 變成 let, function(){} 變成 () => {}。
製作精靈(sprites)
Pixi中的基礎建造模組是一個叫做sprite的物件。 sprite就是可以用程式碼控制的圖形。 你可以控制它們的位置、尺寸和一些其他屬性,用以製作互動和動畫圖形。學習如何製作和控制sprite確是學習使用Pixi最重要的事情,如果你知道如何製作和顯示sprite,你就離開始製作遊戲或其他任何一種互動程式只有一小步的距離了。
本章, 你將學習在Pixi的Canvas中顯示和定位sprite所需的必備知識,包括下列內容:
如何製作root container(根容器),叫做stage(舞台)
如何新建一個renderer(渲染器)
使用載入器載入圖形到Pixi的紋理快取中(texture cache)
使用載入後的圖形包括tilesets和texture atlases,製作sprite
在開始製作sprite之前,讓我們來建立一個用於顯示它們的類似長方形的螢幕。
創建renderer和stage
Pixi有一個渲染器物件(renderer)給你用來創建一個顯示螢幕。它會自動產生一個HTML
//Create the renderer 建立一個渲染器let renderer = PIXI.autoDectectRenderer(256, 256);//Add the canvas to the HTML document 在HTML文件中加入canvasdocunment.body.appendChild(renderer.view);//Create a container object called the ' stage' 建立一個叫stage的容器物件let stage = new PIXI.Container();//Tell the 'renderer' to 'render' the 'stage' 告訴渲染器去渲染一個舞台renderer.render(stage);
這就是開始使用Pixi所需的最基礎的程式碼,它產生了一個256像素X 256像素大小的黑色canvas元素,並將之添加到HTML文件中
這個簡單的黑色方塊應該會為你小小的心靈帶來純純的愉悅!那是因為要讓Pixi開始顯示內容,這既是首要的一步,也是最重要的一步,讓我們仔細分解這些程式碼的功用。
渲染選項
Pixi的autoDetectRenderer方法會根據可用狀態,自動選擇是使用Canvas API還是WebGL去渲染影像。
let renderer = PIXI.autoDetectRenderer(256, 256);
上面程式碼的第一個和第二個參數分別表示canvas畫布的寬和高。 然而還可以加入第三個可選的參數供你並設一些附加值,這第三參數是一個物件直接量,下面程式碼就是設定渲染器抗鋸齒、透明和解析度的範例:
renderer = PIXI.autoDetectRenderer( 256, 256, { antialias: false, transparent: false, resolution: 1 } );
用不用第三參數是可選的,如果你滿意Pixi的預設值就不用管它,一般來說都不用改。但最好了解這些設定有哪些用處,抗鋸齒(antialias)可以使字體和圖形的邊緣變得平滑(WebGL的anti-aliasing還沒有適用於所有平台,所以最好在你的應用平台上測試此功能)。透明選項可以使canvas的背景變為透明。解析度選項使得匹配不同解析度和像素密度變得更容易,一般設定為1就可應對多數項目,更多關於解析度匹配的資訊請參閱第六章。
提示 此渲染器還有另一個第四選項叫做preserveDrawingBuffer,缺省值為false。唯一需要設定它為true的情況是:在WebGL上下文情境中呼叫一個Pixi的特殊方法dataToURL。如果你需要將一個Pixi的canvas轉換成一個HTML圖片物件時,你可能不得不這麼做。
Pixi的autoDetectRenderer将决定使用canvas绘图接口还是WebGL来显示图像。缺省是WebGL,这是好的,因为WebGL特别的快而且能使用很多引人入胜的特效,这些你都能在本书后面学到。但是如果你想强制使用canvas绘图接口而不是
WebGL,你可以这么写:
renderer = new PIXI.CanvasRenderer(256, 256);
上面的情况只需要头两个参数:宽和高。
你也可以强制使用WebGL渲染器,如下所示:
renderer = new PIXI.WebGLRenderer(256, 256);
现在我们再来看看如何增强渲染器的外表
定制canvas
renderer.view对象只是一个普通平常的
renderer.view.style.border = "1px dashed black";
如果新建canvas之后,你需要改变它的背景颜色,那就给渲染器对象的backgroundColor设置任何十六进制颜色值即可,下面的代码给了一个纯白色的背景:
renderer.backgroundColor = 0xFFFFFF;
提示 网上可以搜索到很多十六进制配色表,你可以很容易选择一个合适的背景色。
如果你想知道渲染器的宽和高,使用renderer.view.width和renderer.view.height即可。
要改变canvas的大小,使用渲染器的resize()方法,然后应用新的宽高值,如下所示:
renderer.resize(512, 512);
如果想让canvas充满整个窗口,你可以使用如下CSS样式:
renderer.view.style.position = "absolute"; renderer.view.style.width = window.innerWidth + "px"; renderer.view.style.height = window.innerHeight + "px"; renderer.viwe.sytle.display = "block";
注意,如果要这么做,你必须还得将所有HTML元素的padding和margin值都设为0, 如下所示:
(上面的*号是CSS里的通配选择器,就是指所有标签)如果没有上面这条CSS样式,你可能会发现在Pixi画布与浏览器边缘之间有几像素的空隙。
相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读:
一个用Vue.js 2.0+做出的石墨文档样式的富文本编辑器
以上是使用Pixi.js的總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中