Pixi.js 超快 HTML5 的 2D webGL Canvas 游戏动画渲染引擎
Pixi.js 是一款超快的开源 HTML5 2D 渲染引擎,使用带有 Canvas 回调功能的 WebGL。作为 JavaScript 的 2D 渲染器,Pixi 的目标是,可以提供一个快速且轻量级的 2D 库,并能兼容所有设备。此外让开发者无需了解 WebGL,就可以感受到硬件加速的力量。
Pixi.js作为一款开源的HTML5 2D渲染引擎,旨在为开发者提供一个快速且轻量级的2D库,并能兼容所有设备。能够兼容所有设备,简单得说也就是跨平台了,其实说到跨平台的开发工具,为数已经不少了,就小编知道的DevStore平台就已经收录很多了。
主要特性
- 真正的跨平台:在今天,开发工具跨平台已经不是什么稀奇的事了。不过 Pixi.js 则是一个可以兼容所有设备的超快 HTML5 2D 渲染引擎,并且拥有 Canvas 回调功能的 WebGL,实现真正的跨平台。
- 交互式多点触控:Pixi不仅支持移动和平板设备,还具有完整的多点触控输入识别,让开发者可以发挥自己的能力去挖掘出它所有的潜力。
- WebGL过滤器:当使用WebGL时,Pixi允许你使用自己熟悉且现有的过滤器。当然,你也可以使用自己创建的独一无二的过滤器,比如自定位移和半色调效果。
- 着色和混合模式:对设计师来说,会很喜欢这个,Pixi.js允许用户着色和使用混合模式就像其他常见的视觉包比如Photoshop或Flash。
- 渲染器自动检测:这个算是Pixi的一大特色,虽然Pixi是主要作为WebGL 2D渲染器而创建的,但仍支持非WebGL平台。其解决方案就是创建一个Canvas回调系统,只需一次编码,Pixi就可无缝管理回调。
- 简易API:设计直观,易于上手。
- 资源加载:精灵表单、图形、字体和动画数据等都可通过Pixi.js来加载和处理。
- 支持精灵表单(Sprite sheet)。
Pixi.js在跨平台特性上有什么过人之处呢?
它的独特之处在于其拥有了canvas回调功能的WebGL,使之可以兼容所有设备,并且速度会更快。
当使用WebGL时,Pixi允许你使用自己熟悉且现有的过滤器。当然,你也可以使用自己创建的独一无二的过滤器,比如自定位移和半色调效果。
Pixi不仅支持移动和平板设备,还具有完整的多点触控输入识别,让开发者可以自由发挥自己的能力去挖掘出它所有的潜力。除此之外,Pixi.js还允许用户着色和使用混合模式。
但是 Pixi 最大的一个特色要属渲染器自动检测了。虽然 Pixi 是主要作为 WebGL 2D 渲染器而创建的,但依然支持非WebGL平台。其解决方案就是创建一个Canvas回调系统,只需一次编码,Pixi 就可无缝管理回调了。
一款产品界面的美观与否,渲染引擎的选择真真是极重要的。
部分示例页面
- WebGL Filters!
- Run pixie run
- Fight for Everyone
- Flash vs HTML
- Bunny Demo
- Storm Brewing
- Filters Demo
- Render Texture Demo
- Primitives Demo
- Masking Demo
- Interaction Demo
- photonstorm’s Balls Demo
- photonstorm’s Morph Demo
快速使用
// 创建pixi的stagevar stage = new PIXI.Stage(0x222222);
// 创建一个渲染
var renderer = PIXI.autoDetectRenderer(400, 300);
// 添加到页面
document.body.appendChild(renderer.view);
requestAnimFrame( animate );
以上生成了最简单的pixi,下面创建游戏元素:
// 创建添加一个素材var texture = PIXI.Texture.fromImage("img/fist.png");
// 使用素材创建一个动画元素
var bunny = new PIXI.Sprite(texture);
// 居中
bunny.anchor.x = .5;
bunny.anchor.y = .5;
// 移动到游戏屏幕中央
bunny.position.x = 200;
bunny.position.y = 150;
stage.addChild(bunny);
最后是动画效果代码:
function animate() {requestAnimFrame( animate );
//添加旋转效果
bunny.rotation += 0.1;
//添加缩放效果
if(bunny.scale.x>=1){
scaleflag = 1;
}else if(bunny.scale.x<=0.5){
scaleflag = 0;
}
scaleflag?bunny.scale.x -= 0.05: bunny.scale.x +=0.05;
scaleflag?bunny.scale.y -= 0.05: bunny.scale.y +=0.05;
renderer.render(stage);
}
相关链接
- 项目地址:http://www.pixijs.com/
- Github地址:https://github.com/GoodBoyDigital/pixi.js
- Mobilehub主页:http://mobilehub.io/products/Pixi-js
以上是 Pixi.js 超快 HTML5 的 2D webGL Canvas 游戏动画渲染引擎 的全部内容, 来源链接: utcz.com/p/232192.html