首页
学习
活动
专区
圈层
工具
发布

学习 PixiJS — 视觉效果

(texture, width, height); 参数: 名称 默认值 描述 texture 平铺精灵的纹理 width 100 平铺精灵的宽度 height 100 平铺精灵的高度 除此之外,平铺精灵具有与普通精灵所有相同的属性...你可以使用 tilePosition.x 和 tilePosition.y 属性来移动平铺精灵使用的纹理。以下是如何将平铺精灵使用的纹理移动30像素。...以下是如何将平铺精灵使用的纹理的大小增加到1.5倍的关键代码: tilingSprite.tileScale.x = 1.5; tilingSprite.tileScale.y = 1.5; 原图 与...因为你可以移动纹理的位置,所以你可以使用平铺精灵创建无缝的滚动背景。这对于许多类型的游戏都非常有用。让我们来看看如何做到这一点。 首先,从无缝平铺图像开始。无缝图像是图案在各方面匹配的图像。...Pixi 会自动调整像素密度,以匹配运行内容的设备的分辨率。你所要做的就是为高分辨率和低分辨率提供不同的图像,Pixi 将帮助你根据当前的设备像素比选择正确的图像。

3.7K40

30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

它包含多个参数,例如宽度、颜色、连接方式等,可以用来调整线条效果的外观和行为。 使用Line Renderer可以在游戏中创建各种线条效果,例如绘画、图表、游戏中的路径等。...Capsule Collider 组件提供了许多属性,例如半径、高度、方向等,可以用来调整碰撞体的形状和大小,以便更好地适应不同类型的物体。...与其他类型的碰撞体相比,Mesh Collider 具有更高的准确度和自由度。它能够精确地匹配游戏对象的形状,从而实现更加精细的物理交互。...Streaming Controller可以根据游戏场景的需求,动态加载和卸载游戏资源。它可以设置资源的加载优先级、卸载条件、缓存大小等参数,用于控制资源的加载和卸载。...Content Size Fitter可以设置UI元素的最小和最大尺寸,还可以设置UI元素的宽度和高度是否应该根据其内容自动调整。

4.4K35
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Cocos2d-x】Cocos2d-x精灵的性能优化

    Cocos2d-x精灵的性能优化-使用纹理图集和精灵帧缓存 使用纹理图集 纹理图集(Texture)也称为精灵表(Sprite Sheet) 使用纹理图集的优点: 1、减少文件读取次数,读取一张图片比读取一推小文件要快...2、减少OpenGL ES绘制调用并且加速渲染 OpenGL ES 1.1仅仅能够使用2的n次幂大小的图片(即宽度或者高度是2、4、8、64…)。...如果采用小图片OpenGL ES1.1会分配给每个图片2的n次幂大小的内存空间,即使这张图片达不到这样的宽度和高度也会分配大于此图片的2的n次幂大小的空间。...这是很耗时的。实际上这是可以由软件(Zwoptex和TexturePacker)来完成的。 做出来的纹理图集由两部分构成。一部分是存有纹理的,也就是大图文件。...将一个图读到精灵帧缓存中,同时也会加载到纹理缓存中 3、动画缓存(AnimationCache) 动画缓存主要用于精灵动画,精灵动画中的每一帧是从动画缓存中获取的 SpriteFrameCache

    69120

    (译)SDL编程入门(11)裁剪渲染和精灵表

    裁剪渲染和精灵表 有时你只想渲染纹理的一部分。很多时候,游戏喜欢将多个图像保留在同一张精灵表上,而不是拥有一堆纹理。使用剪辑渲染,我们可以定义要渲染的纹理的一部分,而不是渲染整个对象。...SDL_Texture* mTexture; //Image dimensions int mWidth; int mHeight; }; 在这里,我们对纹理类中的渲染函数做了一个小小的调整...并将每个精灵渲染在不同的角落: ? 所以我们需要一个纹理图像和4个矩形来定义精灵,这就是你看到的这里声明的变量。...它和之前的纹理渲染函数大部分是一样的,但是有两个变化。 首先,当你在裁剪时,你使用的是裁剪矩形的尺寸而不是纹理,我们要将目标矩形(这里称为renderQuad)的宽度/高度设置为裁剪矩形的尺寸。...,然后如果成功加载纹理,则为圆形精灵定义裁剪矩形。

    87430

    《Cocos2D权威指南》——3.5 CCTexture纹理类「建议收藏」

    3.5 CCTexture纹理类 游戏运行中,所有图像文件(PNG、PVR)都被加载成GPU可以理解的OpenGL ES纹理,而精灵则对应着这些纹理图。...3.5.1 纹理和纹理图集 所有游戏角色都是以图像的形式存储在iPhone和iPad设备的内存中,通常使用的格式是PNG或JPEG。这些图像一旦被加载入内存,它们将以一种未压缩的纹理格式来存储。...让这种内存限制更捉襟见肘的是,旧版iOS设备中,图像填充到纹理中时,其长度和宽度必须使用2的乘方。...根据创建CCTexture2D对象的方法不同,纹理的真实图片大小可能和纹理大小略有差异。另外需要注意的是,纹理内容通常是上下颠倒的!关于该类的更多内容,可以参考CCTexture2D.h。...CCTextureCache(纹理缓存)作为单例使用,用于加载和管理纹理。一旦纹理加载完成,下次使用时可使用它返回之前加载的纹理,从而减少对GPU和CPU内存的占用。

    1.2K10

    OpenGL ES学习阶段性总结

    在自定义UIView实现渲染时,需要在调整视图大小的回调中(layoutSubviews),调用-renderbufferStorage:fromDrawable: 方法来调整视图的尺寸,从而匹配层的新尺寸...万向节死锁:Wiki解释 如果是用高度角和偏航角来解释,就是当高度角等于90°的时候,偏航角的维度已经丢失,不管你怎么转都不会产生结果。...图像数据在内存中很少以紧密的形式存在,出于性能的考虑,每一行都该从特定的字节对齐地址开始。 OpenGL 采用4个字节的对齐方式。 存储大小 != 像素宽度 * 高度值。...应该是每行宽度 * 高度值,每行宽度可能会有填充的空字节。...) glTexImage2D (1D和3D在ES2的头文件没找到,3D可以在ES3找到)加载纹理,纹理对象需要通过glGenTexture和glDelete 来创建和销毁。

    2.3K80

    AssetBundle使用模式

    如果一个AssetBundle被不恰当的卸载了,这可能会引起Object在内存中存重复存在。不恰当的卸载AssetBundle在某些情况下也会导致与期望不符的表现,比如:引起纹理的缺失。...举例来说,假设材质M从AssetBundleAB中加载,并且假设M当前正在激活的场景中。 如果AB.Unload(true)被调用,那么M将会从场景中被移除,销毁和卸载。...如果不匹配,或者没有其他缓存好的AssetBundle了,Unity就会去下载一个新的副本[1]。然后将这个新的拷贝与这个新的版本号关联起来。...如果精灵Objects被分配到多个AssetBundles,那么精灵图集将不会只分配到一个AssetBundle,会重复。...接下来,用供应商指定的纹理压缩格式(如:DXT5,PVRTC和ATITC),来创建这些格式的AssetBundle Variants来支持不兼容ETC2格式的部分Android系统。

    2.4K20

    Unity Sprite Altas「建议收藏」

    P.S.这里可以支持多种类型,包括单个Sprite、Sliced Sprite、文件夹,以及这些类型的任意组合。 操作更加方便,对用户更友好。可以将文件夹,纹理或精灵分配给Sprite Atlas。...可以将整个文件夹分配给Sprite Atlas资产,该文件夹中的所有纹理(包括子文件夹)都将被打包。不考虑相同纹理内的其他精灵。...它会复制原有图集的贴图,并根据一个比例系数来调整复制贴图的大小。 这样的Variant通常用于为高分辨率和低分辨率的屏幕准备不同的图集。...这样做的好处是,让用户可以更加直接地随时编辑图集,而且不用去单独加载图集中的每个精灵。...下面是一段动态换装的代码,该脚本通过LoadAsset加载SpriteAtlas类型的资源,再通过SpriteAtlas的GetSprite接口获取图集中的精灵,最后将精灵传递给SpriteRenderer

    2.2K20

    LayaAir 2.0 正式版发布了,重要特性全面介绍

    这将大幅度的减少程序管理内存成本,可以增大美术发挥的空间,让游戏画质变的更加精美了。 并且在Layabox的推动下,从微信7.0版本开始,微信小游戏底层也支持了GPU纹理压缩。...,碰撞数量获取接口 物理引擎的碰撞事件增加碰撞点信息获取方法 调整更改物理引擎RigidBody的linearVelocity属性为object类型 引擎Loader增加对sk,ani等文件后缀的自动识别...库动态加载皮肤的组件,加载完成后增加resize事件的派发 IDE中新增同类型节点多选,显示本类型更多属性功能 IDE中新增style文件(资源默认属性)变化检测功能,如果发现style发生变化,IDE...会自动提示刷新,有效防止出现效果显示不对的问题 IDE中新增九宫格设置界面的输入框tab切换功能 IDE中新增纹理图片转换工具,可大大减少安卓和ios文件内存占用大小(VIP功能) IDE场景页面右键增加查找引用功能...Tips:脚本和页面继承相比,如果是页面级的逻辑,需要频繁访问页面内多个元素,使用继承式写法,如果是独立小模块,功能单一复用,建议用脚本方式实现。

    4.9K20

    Unity性能调优手册7:渲染优化,DrawCall,剔除,Shader,LOD,TextureStreaming

    SpriteAtlas通过将多个精灵组合到单个纹理中来减少绘图调用 要创建SpriteAtlas,首先进入包管理器并点击2D Sprite,必须首先从包管理器安装到项目中 安装完成后,右键单击Project...集成的SpriteAtlas纹理将在绘制目标精灵时被引用。 精灵也可以直接从SpriteAtlas获得,例如以下代码。...Sprite比只加载一个Sprite消耗更多的内存,因为整个图集的纹理都是加载的。...这个设置决定了在Unity中每个单元分配多少光图纹理,并且由于最终的光图大小取决于这个值,它对存储和内存容量,纹理访问速度和其他因素有重大影响。...Texture Streaming Unity的纹理流可以用来减少纹理所需的内存占用和加载时间。纹理流是一种通过基于场景中的摄像机位置加载mipmaps来节省GPU内存的功能。

    3.7K64

    H5游戏开发指南

    一直以来,游戏开发都是把前沿技术运用到极致的媒介,H5游戏也不例外,这篇文章会从带你从浅入手,深入H5游戏开发的世界。...如果有滑动的交互操作,用户很有可能触发浏览器页面的滑动,导致较差的用户体验。 下图为腾讯新闻客户端和微信内置浏览器的占位高度,在640x1136(iphone5s)上他们的高度是一样的。...也就是说一个完整的H5游戏,至少有3个页面不可或缺,就是加载页、游戏页、结果页。由此也可以延伸出多个页面,比如开始页,分享页等。 ?...它可以完美的用于标识、背景、简单的按钮和其他非精灵类图形。 精灵(Sprite): 精灵是游戏的生命体,几乎可用于所有的可视化物体。基本上,精灵是有一套坐标和渲染在画布上的纹理所组成。...精灵也包括了一些额外的属性,例如物理移动、输入处理、事件、动画等等。 瓦片(TileSprite):瓦片精灵是个有着重复纹理的精灵。纹理可以被滚动、缩放,并且自动包裹边缘。

    4.8K112

    资源加载(上)

    this.texture 属性内来完成精灵纹理素材加载的。...比如我们先定义一个资源总包 AssetsPacks,然后把项目中用到的资源粗略分为 GAME_AUDIO 游戏音频和 SPRITE_TEXTURE 精灵纹理两个子包: import { Texture...加载资源 我们从最基本的流程开始,先不考虑分包优化,为 AssetsManager 增加一个 init() 方法,用于加载项目的所有分包资源。...游戏入口改动 虽然从之前的代码提示看来,我们已经能拿到 AssetsPacks 内的成员字段,但那只是我们通过 as 关键字断言设定的成员类型。...实际上,如果我们不执行 AssetsManager.init() 做初始化的话,这些成员并没有真正加载完毕,只能拿到我们在 as 左侧设置的空对象。

    3.6K71

    (译)SDL编程入门(10)Color Key

    例如,如果你想获得某些关于纹理的信息,如它的宽度或高度,你将不得不使用一些SDL函数来查询纹理的信息。相反,我们要做的是使用一个类来封装和存储纹理的信息。 从设计上来说,这是一个相当直接的类。...它有一个构造函数/析构函数对,一个文件加载器,一个deallocator,一个接收位置的渲染器,以及获取纹理尺寸的函数。对于成员变量,它有我们要包裹的纹理,以及存储宽度/高度的变量。...= NULL; } 纹理加载功能的工作原理和之前的纹理加载课程中的差不多,但做了一些小的但重要的调整。首先,我们对纹理进行重新分配,以防有一个已经加载的纹理。...在对加载的表面进行颜色键控后,我们从加载和颜色键控的表面创建一个纹理。如果纹理创建成功,我们存储纹理的宽度/高度,并返回纹理是否加载成功。...当渲染某个地方的纹理时,你需要指定一个目标矩形,设置x/y位置和宽度/高度。在不知道原始图像的尺寸的情况下,我们无法指定宽度/高度。

    1.3K20

    眨个眼就学会了Pixi.js

    比如: backgroundColor: 'rgb(100, 0, 100)' backgroundColor: '#1182af' backgroundColor: 0x1182af 自动调整大小 如果希望画布跟随父元素大小改变...语法 drawEllipse(x, y, width, height) x 和 y 是椭圆的圆心位置。 width 是椭圆的宽度,height 是椭圆的高度。...该参数可以不填。 endArc 环形结束位置,默认是 Math.PI * 2,单位是弧度。该参数可以不填。 如果不填写 startArc 和 endArc ,画出来的是一个没缺口的环形。...图片 在 Pixi.js 里,加载图片资源需要做以下操作: 加载图片纹理 将纹理放入“精灵”对象 将“精灵”添加到画布中 // 创建画布 let app = new PIXI.Application(...(sprite) 使用 PIXI.Texture 方法加载图片纹理,但这个方法前面是不需要 new 的,这点要注意!

    7.6K10

    第九章:舞台(Stage)简介舞台类以及使用

    功能很重要,用于演员的盛装和管理。...简介 1.API定义:拥有多个层次结构的二维场景,场景中有许多演员,处理纹理图片和接收的输入事件,以及负责操作游戏视角、 2.特点:盛装演员,监听并接收触屏事件,处理Group Actors。...以及封装了一个精灵类(SpriteBatch) 特点: 1.Stage可以铺满屏幕,设置视角大小,同时设置照相机 2.调配Actor,Group 与 Screen之间的关系转换,一个Stage必须负责接收输入事件...2.height 舞台高度 3.keepAspectRatio 设置舞台是否铺满屏幕,true 则不铺满,false 则铺满。...4.传入声明的精灵类。 常用方法: public void act (float delta) 在一定事件内,更新舞台状态。

    52230

    「学习笔记」CSS基础

    行内块元素的特点 和相邻行内元素(行内块)在一行上,但是之间会有空白风险。一行可以显示多个 默认宽度就是它本身内容的宽度。 高度,行高,外边距以及内边距都可以控制。...它本身内容的宽度 容纳文本或则其他行内元素 行内块元素 一行放多个行内块元素 可以设置宽度和高度 它本身内容的宽度 ---- CSS背景(background) 「1....(Width为内容宽度) 盒子的实际大小:内容的宽度和高度 + 内边距 + 边框 IE盒子模型 IE 盒子模型的 content 部分包含了 border 和 pading 当设置为box-sizing...为什么需要精灵技术:为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度。...5.2 精灵技术使用的核心总结 首先我们知道,css精灵技术主要针对于背景图片,插入的图片img 是不需要这个技术的。 精确测量,每个小背景图片的大小和 位置。

    3.7K30

    Unity通用渲染管线(URP)系列(十六)——渲染缩放(Scaling Up and Down)

    剔除成功后,在Render中设置适当的缓冲区大小。如果按比例缩放渲染,则按比例缩放摄影机的像素宽度和高度,并将结果转换为整数,向下取舍。 ?...在安Setup中获取相机附件的渲染纹理时,请使用此缓冲区大小。 ? 如果需要,还可以用于颜色和深度纹理。 ? 最初尝试时不带任何Post FX。...我们将使用与Unity用于_TexelSize向量的格式相同的格式,因此,宽度和高度的倒数紧随宽度和高度之后。 ? 将向量添加到Fragment中。 ?...现在,我们需要在DoColorGradingAndToneMapping中使用哪种方法取决于我们是否正在使用调整后的渲染比例。可以通过将缓冲区大小与相机的像素大小进行比较来进行检查。检查宽度就足够了。...如果它们相等,我们将像以前一样绘制最终的Pass,现在以Pass.Final作为参数显式地绘制。 ? 但是,如果需要重新缩放,则必须绘制两次。首先获得一个与当前缓冲区大小匹配的新临时渲染纹理。

    5K20

    Unity性能调优手册4:资源优化,Texture,Mesh,Material,Animation,ParticleSystem,Audio,ScriptableObject

    翻译自https://github.com/CyberAgentGameEntertainment/UnityPerformanceTuningBible/ 游戏制作涉及处理大量不同类型的资产,如纹理...此设置通常用于3D对象,以减少远距离对象的锯齿和纹理传输。对于2D精灵和UI图像来说,它基本上是不必要的,所以应该禁用它。...(字节) = 纹理宽度 x 纹理高度 x 像素字节 像素字节 = 像素通道数(R/G/B/A) x 通道大小(1字节/半字节)(不压缩情况下) 所以要对图片进行压缩: ASTC 4x4:每个像素1byte...它适用于不希望直接解压缩到内存中的文件大小较大的声音,或者不受轻微播放延迟影响的声音。它常用于语音对话。 Streaming 流媒体,顾名思义,是一种加载和播放声音的方法。...Tips 使用ScriptableObjects时的一个常见错误是类名和源代码文件名不匹配。类和文件必须具有相同的名称。在创建类时要小心命名,并确保.asset文件被正确序列化并保存为二进制格式。

    2.3K32

    CSS 常见面试题速查

    默认宽度为父元素宽度,可设置宽高,换行显示 none 缺省值。象行内元素类型一样显示 inline 行内元素类型。...块级元素(block)特性: 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制...内联元素(inline)特性: 和相邻的内联元素在同一行; 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top...# 关于媒体查询 是什么 媒体查询由一个可选的媒体类型和零个或多个使用媒体功能的限制样式表范围的表达式组成,例如宽度、高度和颜色 媒体查询在 CSS3 中出现,允许内容的呈现针对一个特定范围的输出设备而进行裁剪...怎么使用 媒体查询包含一个可选的媒体类型和,满足 CSS3 规范的条件下,包含零个或多个表达式,这些表达式描述了媒体特征,最终会被解析为 true 或 false 如果媒体查询中指定的媒体类型匹配展示文档所使用的设备类型

    1.2K10

    16 Python 基础: 重点知识点--Pygame的基础知识梳理

    ], [500,400], 5) # # 通过设置多个点绘制线段,参数1绘制到窗口,参数2设置线段的颜色,参数3设置线段是否是闭合线段,参数4设置多个点的列表,参数5设置线段宽度 #...,参数3绘制的位置和大小以列表或者元组的形式传入,参数4设置相对应的宽度 # pygame.draw.ellipse(screen, RED, [225, 10, 50, 20],2) #...pygame.transform.flip - 垂直和水平翻转 pygame.transform.scale - 调整大小到新的分辨率 pygame.transform.rotate...的尺寸 pygame.Surface.get_width - 获取Surface的宽度 pygame.Surface.get_height - 获得Surface的高度 pygame.Surface.get_rect...__init__(self) 精灵对象,必须要有2个属性,image属性(用来显示什么图像)和rect属性(用来决定精灵大小和位置) 之所以精灵会有动画,是根据不断调用update方法,来更改image

    3.9K31
    领券