安装

用cdn方式安装:

<script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/4.2.2/pixi.min.js"></script>

目前引擎支持的特性

  • WebGL渲染模式(非常快的渲染模式)
  • Canvas渲染模式(老式最快)
  • 全场景
  • 便捷的API
  • 支持纹理图片
  • 支持雪碧图(sprite sheet)
  • 自动选择渲染模式
  • 完整的交互支持
  • 文本
  • 图片文本
  • 多行文本
  • 纹理渲染
  • 绘制元件
  • 遮罩
  • 颜色过滤器

————————————————————- 官方入门文档 —————————————————————-

首先,我们需要创建一个渲染对象(renderer,后面不再使用中文)和舞台(stage,后面不再使用中文)。

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>lala</title><meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1, minimum-scale=1,maximum-scale=1,target-densitydpi=device-dpi"><meta name="apple-mobile-web-app-capable" content="yes"></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/pixi.js/4.2.2/pixi.min.js"></script><script>//Create the renderervar renderer = PIXI.autoDetectRenderer(256, 256);//Add the canvas to the HTML documentdocument.body.appendChild(renderer.view);//Create a container object called the `stage`var stage = new PIXI.Container();//Tell the `renderer` to `render` the `stage`renderer.render(stage);</script>
</body></html>

到这一步,我们已经创建好了一个基本的舞台。可以往上面添加内容了。

Pixi sprite

刚我们创建的stage只是一个容器,让我们的对象能够有父-子关系,形成树形结构,方便管理对象同步移动、变形等等。

renderer.render(stage);

这一段代码是告诉渲染器去渲染什么内容。

那我们需要放什么东西到stage里面去呢?有一个特殊的对象是sprite。Spritte就看做成一个可以用代码操纵的图片。可以控制它的坐标、旋转和大小等等。也可以在它上面做触摸或者点击交互。
Pixi有三种方法创建它们:

  • 图片文件路径 (直接用图片路径去加载,但webgl模式不能这样用,必须要先加载,然后用纹理去创建sprite)
  • 块地图
  • 图片纹理

加载图片并获得图片的纹理对象(texture)

由于使用的是WebGL模式渲染,图片需要提供GPU能够处理的格式。所以我们在使用一个图片之前,先把它加载并转换成WebGL的纹理格式。为了让开发更有效率,Pixi提供了一个texture cache的对象去存储所有图片的纹理及其对应的名字。
如果你需要用一个文件,可以这样加载:

var texture = PIXI.utils.TextureCache["images/anySpriteImage.png"];
var sprite = new PIXI.Sprite(texture); // 用创建的纹理来创建一个spritge对象

当我们刚只说了如何把图片转换成webgl可以识别的纹理对象,但是如何提前加载这些图片呢?
Pixi有一个内置的loader对象:

PIXI.loader.add("images/anyImage.png").load(setup); // 加载images/anyImage.png图片,并且加载完后执行setup函数function setup() {var sprite = new PIXI.Sprite(PIXI.loader.resources["images/anyImage.png"].texture); // 根据纹理对象创建Sprite图片对象
}

还可以连续加载

PIXI.loader.add(["images/imageOne.png","images/imageTwo.png","images/imageThree.png"]).load(setup);

下面用一个简单的例子学习基本API的使用:

var stage = new PIXI.Container(),renderer = PIXI.autoDetectRenderer(256, 256);
document.body.appendChild(renderer.view);//预加载图片
PIXI.loader.add("images/cat.png").load(setup);// 当图片加载完后,会执行setup函数
function setup() {// 根据纹理对象,创建一个sprite对象var cat = new PIXI.Sprite(PIXI.loader.resources["images/cat.png"].texture);// 把cat加入舞台stage.addChild(cat);// 显示舞台中所有内容 renderer.render(stage);
}

制定代码后,可以看到这样的内容:

Pixi官方文档译文(1)相关推荐

  1. Pixi官方文档译文(2)

    通过纹理集创建Sprite(Make a sprite from a tileset sub-image) 如果你开发的游戏很复杂,庞大,那么使用纹理集的方式去创建sprite是非常高效的一种行为.一 ...

  2. reactor官方文档译文(2)Reactor-core模块

    You should never do your asynchronous work alone. - Jon Brisbin 完成Reactor 1后写到 You should never do y ...

  3. reactor官方文档译文(1)Reactor简介

    原文地址:http://projectreactor.io/docs/reference/ Reactor简介 Reactor是一个基础库,用在构建实时数据流应用.要求有容错和低延迟至毫秒.纳秒.皮秒 ...

  4. TensorFlow 官方文档中文版发布啦(持续维护)

    TensorFlow 是 Google 研发的第二代人工智能学习系统,是 Google 为了帮助全球开发者们更加方便和高效地开发机器学习 (Machine Learning)和人工智能 (AI) 应用 ...

  5. TensorFlow 官方文档中文版发布啦(持续维护) 1

    TensorFlow 是 Google 研发的第二代人工智能学习系统,是 Google 为了帮助全球开发者们更加方便和高效地开发机器学习 (Machine Learning)和人工智能 (AI) 应用 ...

  6. 2DToolkit官方文档中文版打地鼠教程(一):初始设置

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  7. Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译

    Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译 1. Getting Started Building Your First App: 原文: https://d ...

  8. OpenCV-Python官方文档学习笔记(上)

    整理自OpenCV-Python官方文档 一. OpenCV-Python Tutorials 1 安装及验证 2 图片读写,展示 3 视频读写,展示 4 绘图功能(绘制几何形状:线.圆.椭圆.矩形. ...

  9. Ant Design 入门-参照官方文档使用组件

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 先来一个按钮组件使用的对比,官方文档的(不能直接用)和实际能用的. 官网demo: import { Tabl ...

  10. 坑爹的微软官方文档:SQL无人值守安装

    我在部署项目的时候,需要用批处理无人值守安装SQLserver,.Net等组件. 于是查了微软官方文档,其中一项内容如下: http://msdn.microsoft.com/zh-cn/librar ...

最新文章

  1. 卸载 流程_「工具」Windows 卸载软件,这一个就够了
  2. 自定义流操作符 重载wcout
  3. linux删除、读取文件原理
  4. Debian Linux安装OpenSSH(sshd-server)
  5. 微信开发之测试号申请
  6. Python请求webserver服务用到的suds、suds-jurko、zeep库相关踩坑指南
  7. PPT制作基础知识(师从于珞珈老师)
  8. 基于Multisim的简易数字钟
  9. linux查看历史命令history
  10. [ActionScript 3] 【开源】D5Power RPG网页游戏开发套件
  11. Android APP开机自启动基本方法
  12. 那些年我们用过的显示器接口
  13. 深信服2023秋季校园招聘C++笔试A卷
  14. ESPG和OGC、SRS、SRID指的是什么
  15. 基于SSH的实验室预约管理系统
  16. ThinkPHP5远程代码执行漏洞
  17. Linux 阻塞和非阻塞 IO 实验
  18. 学python-学 Python 都用来干嘛的?
  19. 英文paper常见同义词转换总结
  20. python统计次数正则_Python提取信息必学基础——正则表达式

热门文章

  1. appcan与java_APPCAN学习笔记004---AppCan与Hybrid,appcan概述
  2. win10进程太多怎么优化_教你优化Windows7后台进程,让你的电脑启动更快、运行更流畅...
  3. 雾霾不散,课就不得不停?
  4. 【UE5】使用快捷键切换编辑器中英文设置
  5. gen-cpp/.deps/ChildService.Plo: No such file or directory
  6. 百合佳缘伐谋、珍爱网伐交、伊对伐兵
  7. “一线城市,年薪30万+,我却裸辞回老家”一个寒门贵子的10年职业思考
  8. android打开sd卡文件,从Android中的SD卡读取特定文件
  9. SEO优化 关键词部署策略
  10. mac远程连接服务器问题 不存在该共享,Mac无法访问Windows共享服务器的解决方案...