Pixi官方文档译文(1)
安装
用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)相关推荐
- Pixi官方文档译文(2)
通过纹理集创建Sprite(Make a sprite from a tileset sub-image) 如果你开发的游戏很复杂,庞大,那么使用纹理集的方式去创建sprite是非常高效的一种行为.一 ...
- reactor官方文档译文(2)Reactor-core模块
You should never do your asynchronous work alone. - Jon Brisbin 完成Reactor 1后写到 You should never do y ...
- reactor官方文档译文(1)Reactor简介
原文地址:http://projectreactor.io/docs/reference/ Reactor简介 Reactor是一个基础库,用在构建实时数据流应用.要求有容错和低延迟至毫秒.纳秒.皮秒 ...
- TensorFlow 官方文档中文版发布啦(持续维护)
TensorFlow 是 Google 研发的第二代人工智能学习系统,是 Google 为了帮助全球开发者们更加方便和高效地开发机器学习 (Machine Learning)和人工智能 (AI) 应用 ...
- TensorFlow 官方文档中文版发布啦(持续维护) 1
TensorFlow 是 Google 研发的第二代人工智能学习系统,是 Google 为了帮助全球开发者们更加方便和高效地开发机器学习 (Machine Learning)和人工智能 (AI) 应用 ...
- 2DToolkit官方文档中文版打地鼠教程(一):初始设置
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
- Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译
Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译 1. Getting Started Building Your First App: 原文: https://d ...
- OpenCV-Python官方文档学习笔记(上)
整理自OpenCV-Python官方文档 一. OpenCV-Python Tutorials 1 安装及验证 2 图片读写,展示 3 视频读写,展示 4 绘图功能(绘制几何形状:线.圆.椭圆.矩形. ...
- Ant Design 入门-参照官方文档使用组件
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 先来一个按钮组件使用的对比,官方文档的(不能直接用)和实际能用的. 官网demo: import { Tabl ...
- 坑爹的微软官方文档:SQL无人值守安装
我在部署项目的时候,需要用批处理无人值守安装SQLserver,.Net等组件. 于是查了微软官方文档,其中一项内容如下: http://msdn.microsoft.com/zh-cn/librar ...
最新文章
- 卸载 流程_「工具」Windows 卸载软件,这一个就够了
- 自定义流操作符 重载wcout
- linux删除、读取文件原理
- Debian Linux安装OpenSSH(sshd-server)
- 微信开发之测试号申请
- Python请求webserver服务用到的suds、suds-jurko、zeep库相关踩坑指南
- PPT制作基础知识(师从于珞珈老师)
- 基于Multisim的简易数字钟
- linux查看历史命令history
- [ActionScript 3] 【开源】D5Power RPG网页游戏开发套件
- Android APP开机自启动基本方法
- 那些年我们用过的显示器接口
- 深信服2023秋季校园招聘C++笔试A卷
- ESPG和OGC、SRS、SRID指的是什么
- 基于SSH的实验室预约管理系统
- ThinkPHP5远程代码执行漏洞
- Linux 阻塞和非阻塞 IO 实验
- 学python-学 Python 都用来干嘛的?
- 英文paper常见同义词转换总结
- python统计次数正则_Python提取信息必学基础——正则表达式
热门文章
- appcan与java_APPCAN学习笔记004---AppCan与Hybrid,appcan概述
- win10进程太多怎么优化_教你优化Windows7后台进程,让你的电脑启动更快、运行更流畅...
- 雾霾不散,课就不得不停?
- 【UE5】使用快捷键切换编辑器中英文设置
- gen-cpp/.deps/ChildService.Plo: No such file or directory
- 百合佳缘伐谋、珍爱网伐交、伊对伐兵
- “一线城市,年薪30万+,我却裸辞回老家”一个寒门贵子的10年职业思考
- android打开sd卡文件,从Android中的SD卡读取特定文件
- SEO优化 关键词部署策略
- mac远程连接服务器问题 不存在该共享,Mac无法访问Windows共享服务器的解决方案...