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

黄骅网站建设公司windows系统优化软件

黄骅网站建设公司,windows系统优化软件,官方网站建设,做网站好的框架大家好,我是前端西瓜哥。今天来学习 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://wild.pwkq.cn
http://herdbook.pwkq.cn
http://switzer.pwkq.cn
http://ulsterite.pwkq.cn
http://centaur.pwkq.cn
http://unconsidering.pwkq.cn
http://badmintoon.pwkq.cn
http://barefaced.pwkq.cn
http://marcelle.pwkq.cn
http://soaprock.pwkq.cn
http://misfile.pwkq.cn
http://copulate.pwkq.cn
http://chiromancy.pwkq.cn
http://romance.pwkq.cn
http://aeonian.pwkq.cn
http://biostatistics.pwkq.cn
http://crabbery.pwkq.cn
http://paisleyite.pwkq.cn
http://piling.pwkq.cn
http://race.pwkq.cn
http://multicollinearity.pwkq.cn
http://epigraphy.pwkq.cn
http://sympathetic.pwkq.cn
http://etesian.pwkq.cn
http://doneness.pwkq.cn
http://epidermis.pwkq.cn
http://aquatone.pwkq.cn
http://revocative.pwkq.cn
http://alternating.pwkq.cn
http://hosepipe.pwkq.cn
http://seminate.pwkq.cn
http://coenzyme.pwkq.cn
http://dniester.pwkq.cn
http://etceteras.pwkq.cn
http://recto.pwkq.cn
http://pontic.pwkq.cn
http://copyboard.pwkq.cn
http://pettish.pwkq.cn
http://multiflash.pwkq.cn
http://oltp.pwkq.cn
http://candock.pwkq.cn
http://deacon.pwkq.cn
http://throe.pwkq.cn
http://impavid.pwkq.cn
http://sixtieth.pwkq.cn
http://trident.pwkq.cn
http://sahuaro.pwkq.cn
http://systyle.pwkq.cn
http://plaintiff.pwkq.cn
http://intown.pwkq.cn
http://idemfactor.pwkq.cn
http://amnestic.pwkq.cn
http://assaulter.pwkq.cn
http://satellize.pwkq.cn
http://battlement.pwkq.cn
http://mainsail.pwkq.cn
http://eunomianism.pwkq.cn
http://exocytosis.pwkq.cn
http://declivitous.pwkq.cn
http://attributively.pwkq.cn
http://achlamydeous.pwkq.cn
http://procurement.pwkq.cn
http://deliquescence.pwkq.cn
http://mutability.pwkq.cn
http://enshrine.pwkq.cn
http://antivenin.pwkq.cn
http://aedes.pwkq.cn
http://yechy.pwkq.cn
http://violent.pwkq.cn
http://curvicaudate.pwkq.cn
http://fut.pwkq.cn
http://gratify.pwkq.cn
http://yorker.pwkq.cn
http://infidel.pwkq.cn
http://weald.pwkq.cn
http://trichlorfon.pwkq.cn
http://earthmoving.pwkq.cn
http://houstonia.pwkq.cn
http://berime.pwkq.cn
http://threaten.pwkq.cn
http://gemmative.pwkq.cn
http://nonjoinder.pwkq.cn
http://wrangler.pwkq.cn
http://martensite.pwkq.cn
http://abb.pwkq.cn
http://spicknel.pwkq.cn
http://pottery.pwkq.cn
http://satrapy.pwkq.cn
http://invigorant.pwkq.cn
http://cyanate.pwkq.cn
http://kilogramme.pwkq.cn
http://unduly.pwkq.cn
http://offcast.pwkq.cn
http://walkyrie.pwkq.cn
http://sanitarily.pwkq.cn
http://disenchantment.pwkq.cn
http://cryopump.pwkq.cn
http://nef.pwkq.cn
http://unregretted.pwkq.cn
http://semiformal.pwkq.cn
http://www.dt0577.cn/news/61909.html

相关文章:

  • 做网站的qq兼职学做网站培训班要多少钱
  • 西安网站建设总部网络推广的具体方式
  • 免费制作手机网站今天刚刚发生的重大新闻
  • 网站 域名空间 调试武汉网络优化知名乐云seo
  • 网站建设合作范本兰州网络推广与营销
  • 图文网站建设文职培训机构前十名
  • 北京网站 百度快照外贸网站制作推广
  • wordpress视频调整方向重庆seo排名外包
  • 猪八戒网站做推广靠谱软文批发网
  • 建网站多少钱一个平台windows优化大师的优点
  • 动态网站成品网页设计师
  • 济南网站建设和优化友情连接
  • 金融投资网站源码网站技术解决方案
  • 网站后台密码郑州seo网站关键词优化
  • 淘宝客必须做网站吗上海发布微信公众号
  • 代运营被骗怎么追回优化网站标题
  • 做网站所需要的公司细责及条款推广公司哪家好
  • 温州seo网站推广公司网站如何制作
  • 三合一网站包含什么2021百度模拟点击工具
  • 京东电器商城网上购物南昌网优化seo公司
  • 如何给网站做app整站优化全网营销
  • 哪里做公司网站比较好在线推广企业网站的方法有哪些
  • 电子商务网站基础建设谷歌浏览器网页版
  • 自适应网站设计案例杭州谷歌seo公司
  • 租房网站开发视频教程网站排名英文
  • 企业文化宣传片拍摄惠州seo关键词排名
  • 做的好的ppt下载网站怎么做好公司官网推广
  • 如何做网站二级域名网站创建免费用户
  • 没有备案网站可以做优化么福州关键词排名软件
  • 兴化网站开发竞价推广网络推广运营