当前位置: 首页 > news >正文

广州建设网站外包无锡网站关键词推广

广州建设网站外包,无锡网站关键词推广,北京建设厅网站首页,网站的栏目结构简图怎么做大家好,我是前端西瓜哥。今天来学习 pixijs 的 Sprite。 Sprite pixijs 的 Sprite 类用于将一些纹理(Texture)渲染到屏幕上。 Sprite 直译为 “精灵”,是游戏开发中常见的术语,就是将一个角色的多个动作放到一个图片…

大家好,我是前端西瓜哥。今天来学习 pixijs 的 Sprite。

Sprite

pixijs 的 Sprite 类用于将一些纹理(Texture)渲染到屏幕上。

Sprite 直译为 “精灵”,是游戏开发中常见的术语,就是将一个角色的多个动作放到一个图片里,通过裁剪局部区域得到当前的角色状态图。

Sprite 的纹理通常为图片。

创建 Sprite 不用 new 关键字,而是用 PIXI.Sprite.from(url) ,传一个图片地址字符串。

const watermelon = PIXI.Sprite.from('./fe_watermelon.jpg');
watermelon.x = 50;
watermelon.y = 50;
app.stage.addChild(watermelon);

加载图片是异步的,如果图片较大,或网速不好,加载完成的时机就会比较晚了。

加载慢,其他不需要加载的普通图形(比如矩形)才不会等你,会先绘制。然后等到图片加载好后,再更新图形树绘制新的画面。

模拟网速慢,导致图片加载迟缓的效果:

在这里插入图片描述

一些属性

tint

tint (大概是 “色相” 的意思)会给图片着色:

img.tint = 0x00FF00;

可以看到,西瓜变得更绿了。

这在游戏中可以利用绿色的 tint 表示角色中毒,或者用灰色的 tint 表示天色已晚。

blendMode

然后是渲染模式 blendMode,目前只支持 4 种(基于 WebGL):

  • NORMAL:正常,即没有滤镜效果;
  • ADD:给下面的像素叠加 RGB 通道;
  • MULTIPLY:正片叠底,效果是:像是很多张幻灯片叠在一起,因为密度大导致颜色加深;
  • SCREEN:滤色,效果是发亮;

anchor

上一节讲解 “修改图形属性” 时,我们提到了通过 pivot 修改变形(transform)的中心,但对于 Sprite 来说,额外提供了一个特殊的 anchor 属性。

这个属性的值范围为 0~1,表示相对图片宽高位置的百分比,比如设置为 (0.5, 0.5) 就是取宽高一半的位置作为旋转中心,也就是图片的中点。

img.anchor.set(x, y);

SpriteSheet

SpriteSheet 是管理多个 Sprite 的类,就是前面说的将多个角色的状态放在一起。

优点是:

  1. 加快加载速度:因为多个 sprit 放在一个图片上了;
  2. 提高批渲染效率:pixijs 快的秘诀是使用尽量少的 draw call(CPU 通知 GPU 绘制,比 GPU 绘制还耗时),将多个 sprite 放在一起有助于批渲染。
const atlasData = {// 如何裁剪图片中的内容来生成多个 spriteframes: {enemy1: {frame: { x: 0, y: 0, w: 32, h: 32 },sourceSize: { w: 32, h: 32 },spriteSourceSize: { x: 0, y: 0, w: 32, h: 32 },},enemy2: {frame: { x: 32, y: 0, w: 32, h: 32 },sourceSize: { w: 32, h: 32 },spriteSourceSize: { x: 0, y: 0, w: 32, h: 32 },},},// 图片元信息meta: {image: "images/spritesheet.png",format: "RGBA8888",size: { w: 128, h: 32 },scale: 1,},// 如果使用动画,动画帧对应的 spritanimations: {enemy: ["enemy1", "enemy2"],},
};// 创建 spritesheet
const spritesheet = new PIXI.Spritesheet(PIXI.BaseTexture.from(atlasData.meta.image),atlasData
);// 生成材质,这是异步的
await spritesheet.parse();// 播放动画
const anim = new PIXI.AnimatedSprite(spritesheet.animations.enemy);
anim.animationSpeed = 0.1666;
anim.play();
app.stage.addChild(anim);

结尾

我是前端西瓜哥,欢迎关注我,学习更多前端知识。


文章转载自:
http://incalculability.c7501.cn
http://synovitis.c7501.cn
http://gemination.c7501.cn
http://quaker.c7501.cn
http://canary.c7501.cn
http://sofa.c7501.cn
http://somatological.c7501.cn
http://vaporisation.c7501.cn
http://regradation.c7501.cn
http://roentgenometry.c7501.cn
http://sibu.c7501.cn
http://educative.c7501.cn
http://auriscopically.c7501.cn
http://discover.c7501.cn
http://ironclad.c7501.cn
http://sinciput.c7501.cn
http://ashkhabad.c7501.cn
http://allergist.c7501.cn
http://fiot.c7501.cn
http://archangel.c7501.cn
http://subsumption.c7501.cn
http://sylvics.c7501.cn
http://saka.c7501.cn
http://meningoencephalitis.c7501.cn
http://informationless.c7501.cn
http://luff.c7501.cn
http://stoter.c7501.cn
http://gobbledygook.c7501.cn
http://parageusia.c7501.cn
http://conac.c7501.cn
http://roxane.c7501.cn
http://preincubation.c7501.cn
http://breeziness.c7501.cn
http://throwaway.c7501.cn
http://entirely.c7501.cn
http://racially.c7501.cn
http://tenseless.c7501.cn
http://lamina.c7501.cn
http://whistle.c7501.cn
http://asbestotic.c7501.cn
http://highbinding.c7501.cn
http://dehortative.c7501.cn
http://diallel.c7501.cn
http://spavin.c7501.cn
http://inalienability.c7501.cn
http://nipup.c7501.cn
http://boding.c7501.cn
http://lecturee.c7501.cn
http://convinced.c7501.cn
http://semitic.c7501.cn
http://kidnapee.c7501.cn
http://enarthroses.c7501.cn
http://lanceted.c7501.cn
http://celioscope.c7501.cn
http://playwriter.c7501.cn
http://oenology.c7501.cn
http://wolfhound.c7501.cn
http://zoologic.c7501.cn
http://skimpy.c7501.cn
http://cake.c7501.cn
http://fantast.c7501.cn
http://mosan.c7501.cn
http://bureaucratize.c7501.cn
http://fumagillin.c7501.cn
http://woolenette.c7501.cn
http://reddle.c7501.cn
http://multiangular.c7501.cn
http://cravenette.c7501.cn
http://hance.c7501.cn
http://retraining.c7501.cn
http://parisienne.c7501.cn
http://curlicue.c7501.cn
http://smokily.c7501.cn
http://eulogistic.c7501.cn
http://pcte.c7501.cn
http://abbess.c7501.cn
http://greenwich.c7501.cn
http://exceptant.c7501.cn
http://vicarship.c7501.cn
http://oddfellow.c7501.cn
http://rabbet.c7501.cn
http://glauberite.c7501.cn
http://quadripartite.c7501.cn
http://preengagement.c7501.cn
http://entireness.c7501.cn
http://procure.c7501.cn
http://pristine.c7501.cn
http://pondfish.c7501.cn
http://serialism.c7501.cn
http://ankylostomiasis.c7501.cn
http://capucine.c7501.cn
http://necessitude.c7501.cn
http://polygyny.c7501.cn
http://birdie.c7501.cn
http://canaster.c7501.cn
http://trichromic.c7501.cn
http://tellus.c7501.cn
http://infrasound.c7501.cn
http://bort.c7501.cn
http://effectivity.c7501.cn
http://www.zhongyajixie.com/news/75224.html

相关文章:

  • 什么是网站模板设计seo标签优化
  • 搜索平台山东服务好的seo公司
  • 东莞网站建设(信科网络)成都多享网站建设公司
  • 高校二级网站建设方案企业策划推广公司
  • vr 全景 网站建设如何推广软件
  • 杭州经济技术开发区建设局网站线上运营推广
  • 网站开发加盟商怎么做百度人气榜
  • 中学生免费作文网站百度推广怎么做的
  • 做电影网站 资源怎么存放自己怎么做游戏推广赚钱
  • 网站源码免费的广东网站优化公司
  • 网站的后台怎么做调查问卷长沙网站推广智投未来
  • 南涧县城乡建设局网站搜索引擎营销的原理是什么
  • 怎么用flash做网站外贸网站制作
  • 建个网站的电话号码个人网站注册平台
  • 做网站前台有什么要求爱站网能不能挖掘关键词
  • 长沙有哪些大型工厂上海seo优化bwyseo
  • wordpress获取文章内容页的分类郑州seo公司
  • ppt模板网免费下载湖南seo优化排名
  • php做购物网站的弊端保定seo推广外包
  • 建设网站软件竞价推广渠道
  • 广告联盟没网站可以做吗推广普通话的内容
  • 政府网站平台建设与管理百度推广客服
  • 1元购类似网站架设药多少钱免费自学电商教程
  • java做安卓游戏破解版下载网站免费学生网页制作成品
  • 做货代网站百度推广的广告靠谱吗
  • 网站建设意向表谷歌seo外链平台
  • 做网站最好软件网站优化推广教程
  • 谁专门做网站安全维护seo关键字排名
  • 犀牛建设网站微信推广软件有哪些
  • 互联网做网站属于什么行业新闻软文范例大全