Loading...
Loading...
Compare original and translation side by side
SpriteNineSliceSpriteTilingSpriteAnimatedSpriteSpritepixijs-scene-core-conceptsContainerSpriteNineSliceSpriteTilingSpriteAnimatedSpriteSpritepixijs-scene-core-conceptsContainerconst texture = await Assets.load("bunny.png");
const sprite = new Sprite({
texture,
anchor: 0.5,
tint: 0xff8888,
});
sprite.x = app.screen.width / 2;
sprite.y = app.screen.height / 2;
app.stage.addChild(sprite);app.screen.width / 2xyContainerpixijs-scene-core-conceptspixijs-assetspixijs-scene-particle-containerpixijs-performanceconst texture = await Assets.load("bunny.png");
const sprite = new Sprite({
texture,
anchor: 0.5,
tint: 0xff8888,
});
sprite.x = app.screen.width / 2;
sprite.y = app.screen.height / 2;
app.stage.addChild(sprite);app.screen.width / 2xyContainerpixijs-scene-core-conceptspixijs-assetspixijs-scene-particle-containerpixijs-performance| Variant | Use when | Trade-offs | Reference |
|---|---|---|---|
| Draw a single texture at a position | Fixed size = texture size | references/sprite.md |
| Frame-based animation from a texture array or spritesheet | Pre-rendered frames only; no tweening | references/animated-sprite.md |
| Resizable UI panels, buttons, dialog frames | Border width is fixed; center stretches | references/nineslice-sprite.md |
| Scrolling backgrounds, parallax, repeating patterns | Single texture repeated; | references/tiling-sprite.md |
AnimatedSpriteSpriteSpritereferences/{variant}.mdContainerpositionscaletintlabelfilterszIndexskills/pixijs-scene-core-concepts/references/constructor-options.md| 变体类型 | 适用场景 | 优缺点 | 参考文档 |
|---|---|---|---|
| 在指定位置绘制单个纹理 | 尺寸固定为纹理尺寸 | references/sprite.md |
| 通过纹理数组或精灵表实现逐帧动画 | 仅支持预渲染帧;不支持补间动画 | references/animated-sprite.md |
| 可调整大小的UI面板、按钮、对话框边框 | 边框宽度固定;中间区域会被拉伸 | references/nineslice-sprite.md |
| 滚动背景、视差效果、重复图案 | 仅重复单个纹理;通过 | references/tiling-sprite.md |
AnimatedSpriteSpriteSpritereferences/{variant}.mdContainerpositionscaletintlabelfilterszIndexskills/pixijs-scene-core-concepts/references/constructor-options.mdSpriteAnimatedSpritesheet.animations['walk']references/animated-sprite.mdNineSliceSpritewidthheightreferences/nineslice-sprite.mdTilingSpritetilePositionreferences/tiling-sprite.mdParticleContainerParticlepixijs-scene-particle-containerGraphicspixijs-scene-graphicsSpriteAnimatedSpritesheet.animations['walk']references/animated-sprite.mdNineSliceSpritewidthheightreferences/nineslice-sprite.mdTilingSpritetilePositionreferences/tiling-sprite.mdParticleContainerParticlepixijs-scene-particle-containerGraphicspixijs-scene-graphicsSprite.anchor[0, 1]Container.pivotanchor.set(0.5)Sprite.anchor[0, 1]Container.pivotanchor.set(0.5)Sprite.from(id)await Assets.load(...)Texturenew Sprite(texture)Sprite.from(id)await Assets.load(...)Texturenew Sprite(texture)frametexture.dynamic = truesprite['onViewUpdate']()frametexture.dynamic = truesprite['onViewUpdate']()Texture.from(url)Texture.from(url)const texture = Texture.from("https://example.com/image.png");const texture = await Assets.load("https://example.com/image.png");Texture.from()Assets.load()const texture = Texture.from("https://example.com/image.png");const texture = await Assets.load("https://example.com/image.png");Texture.from()Assets.load()sprite.pivot.set(sprite.width / 2, sprite.height / 2);sprite.anchor.set(0.5);anchorpivotsprite.pivot.set(sprite.width / 2, sprite.height / 2);sprite.anchor.set(0.5);anchorpivotNineSlicePlaneNineSlicePlaneNineSlicePlaneNineSliceSpritenew NineSliceSprite({ texture, leftWidth, topHeight, rightWidth, bottomHeight })NineSlicePlaneNineSliceSpritenew NineSliceSprite({ texture, leftWidth, topHeight, rightWidth, bottomHeight })SpriteNineSliceSpriteTilingSpriteallowChildren = falseContainerSpriteNineSliceSpriteTilingSpriteallowChildren = falseContainer