官方文档地址:www.pixijs.com/
中文文档:www.bookstack.cn/read/Learni…
源码地址:github.com/pixijs/pixi…
简介:
PixiJS 是一个超快的2D渲染引擎。它自动侦测使用 WebGL 或者 Canvas。开发者无需专门学习 WebGL 就能感受到强大的硬件加速的力量。PixiJS 会帮助你用 JavaScript 或者其他 HTML5 技术来显示媒体,创建动画或管理交互式图像,从而制作一个游戏或应用。它拥有语义化的,简洁的 API 接口并且加入了一些非常有用的特性。比如支持纹理贴图集和为精灵(交互式图像)提供了一个简单的动画系统。它也提供了一个完备的场景图,你可以在精灵图层里面创建另一个精灵,当然也可以让精灵响应你的鼠标或触摸事件。
使用:
① 安装
(npm安装)
npm install pixi.js
import * as PIXI from 'pixi.js'
(cdn安装)
<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/5.1.3/pixi.min.js"></script>
也可以直接去 Github 下载 js 文件。
② Application 应用 使用PIXI.Application() 方法可以new一个,这个方法可以传入一个对象参数,这个对象中,可以设置 Pixi 应用的宽、高、是否透明。
参数:
Width 渲染器视宽度
height 渲染视图高度
View 使用canvas作为视图
Transparent 视图是否透明
Resolution 分辨率,渲染器设备像素比,R屏默认为2
antialias 是否平滑抗锯齿,取消字体平滑,抗混叠
forceCanvas 是否强制使用canvas渲染模式
// 创建一个Pixi应用
let app = new PIXI.Application({width: 256, height: 256});
// 把Pixi应用中创建出来的canvas添加到页面上
document.body.appendChild(app.view);
在使用 PIXI.Application() 方法时,PIXI.Application建立的同时会自动建立render、ticker、root container。如果你没有给传入的参数对象设置 view 属性,它会自动创建一个 canvas 元素,创建出来的 canvas 元素就在 Pixi 应用的 view 属性中。
③ Pixi主要包括: Stage 舞台,根显示容器,pixi创建的根容器,游戏中的精灵或容器都要添加到舞台上才能显示。Sprite精灵,是可以放在容器里的特殊图像对象。精灵是你能用代码控制图像的基础。你能够控制他们的位置,大小,和许多其他有用的属性来产生交互和动画。创建一个精灵需要用 PIXI.Sprite() 方法。Container容器是用来装载多个显示对象的,它可以用 PIXI.Container() 方法来创建,而我们创建的Pixi应用的 stage 属性就是一个容器对象,它被当作根容器使用,它将包裹所有你想用 Pixi 显示的东西。
let container = new PIXI.Container();
container.addChild(sprite);
Renderer 渲染器,WebGL渲染器,可使用CanvasRenderer。获取当前应用渲染器的类型、修改canvas标签背景色。
const rendererType = app.renderer.type;
const rendererType = PIXI.RENDERER_TYPE;
app.renderer.backgroundColor = 0xff0000;。
Loader 加载器实例用于资源加载,用于加载静态资源。
④ 纹理Pixi用WebGL和GPU去渲染图像,所以图像需要转化成GPU可以处理的格式。可以被GPU处理的图像被称作纹理。在你让精灵显示图片之前,需要将普通的图片转化成WebGL纹理。为了让所有工作执行的快速有效率,Pixi使用纹理缓存来存储和引用所有你的精灵需要的纹理。纹理的名称字符串就是图像的地址。这意味着如果你有从"images/cat.png" 加载的图像,你可以在纹理缓存中这样找到他:
PIXI.utils.TextureCache["images/cat.png"];