pixijs-scene-sprite
PixiJS v8で画像描画を行う際に使用するスキルです。アンカー・色調・テクスチャを設定する`Sprite`、フレームアニメーション用の`AnimatedSprite`、リサイズ可能なUIパネル向けの`NineSliceSprite`、スクロール・繰り返し背景用の`TilingSprite`を網羅しており、各種コンストラクタオプションや`tilePosition`・`animationSpeed`・`gotoAndPlay`などのプロパティ・メソッドの利用時にトリガーされます。
description の原文を見る
Use this skill when drawing images in PixiJS v8. Covers Sprite with anchor/tint/texture, AnimatedSprite for frame animation, NineSliceSprite for resizable UI panels, TilingSprite for scrolling/repeating backgrounds. Triggers on: Sprite, AnimatedSprite, NineSliceSprite, TilingSprite, Sprite.from, anchor, tint, tilePosition, animationSpeed, gotoAndPlay, leftWidth, topHeight, constructor options, SpriteOptions, AnimatedSpriteOptions, NineSliceSpriteOptions, TilingSpriteOptions.
SKILL.md 本文
PixiJS には異なる描画タスク用の 3 つのスプライトクラスがあります。Sprite は標準的な画像描画の葉ノード、NineSliceSprite はコーナーアートを保持する resizable UI パネルのバリアント、TilingSprite はテクスチャを領域全体に繰り返します。AnimatedSprite は Sprite のサブクラスで、フレームベースのアニメーション用にテクスチャフレームをサイクルさせます。
pixijs-scene-core-concepts に関する知識があることを前提としています。すべてのスプライトクラスは葉ノードであり、子要素を持つことはできません。複数のスプライトをグループ化するには、Container でラップしてください。
クイックスタート
const 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 / 2 がライブレンダラーサイズに依存するためです。リテラル位置は x/y 経由(Container から継承)でオプションオブジェクトに直接指定できます。
関連スキル: pixijs-scene-core-concepts(葉、変換)、pixijs-assets(テクスチャ読み込み)、pixijs-scene-particle-container(数千のスプライト)、pixijs-performance(スプライトシート、バッチング)。
バリアント
| バリアント | 使用場面 | トレードオフ | リファレンス |
|---|---|---|---|
Sprite | 単一テクスチャを位置に描画 | 固定サイズ = テクスチャサイズ | references/sprite.md |
AnimatedSprite | テクスチャ配列またはスプライトシートからフレームアニメーション | プリレンダフレームのみ、tweening は不可 | references/animated-sprite.md |
NineSliceSprite | Resizable UI パネル、ボタン、ダイアログフレーム | ボーダー幅は固定、中央は拡大 | references/nineslice-sprite.md |
TilingSprite | スクロール背景、パララックス、繰り返しパターン | 単一テクスチャ繰り返し、tilePosition でスクロール | references/tiling-sprite.md |
AnimatedSprite は Sprite のサブクラスであり、すべての Sprite プロパティ(anchor、tint、position)が適用されます。
各バリアントのコンストラクタオプションは、それぞれのサブリファレンスファイル(references/{variant}.md)に記載されています。すべてのバリアントは Container オプション(position、scale、tint、label、filters、zIndex など)も受け付けます — skills/pixijs-scene-core-concepts/references/constructor-options.md を参照してください。
何をどんな時に使うか
- 「単一の画像を位置に描画したい」 →
Sprite。2D ゲームとアプリコンテンツの 90% のデフォルト選択。 - 「キャラクターを一連のフレームでアニメーションさせたい」 →
AnimatedSprite。Assets 経由でスプライトシートを読み込み、sheet.animations['walk']を渡してください。references/animated-sprite.mdを参照。 - 「UI ボタン/パネルをボーダーを伸ばさずに resizable にしたい」 →
NineSliceSprite。ボーダー幅を設定してからwidth/heightを設定してください。references/nineslice-sprite.mdを参照。 - 「スクロール繰り返し背景が欲しい」 →
TilingSprite。tilePositionをアニメーションさせてスクロールしてください。references/tiling-sprite.mdを参照。 - 「数千の同一スプライトが欲しい」 → 通常のスプライトではなく、
ParticleContainerとParticleインスタンスを使用してください(pixijs-scene-particle-containerを参照)。 - 「シェイプまたはパスを描画したい」 → スプライトではなく
Graphicsを使用してください(pixijs-scene-graphicsを参照)。
クイックコンセプト
Anchor vs pivot
Sprite.anchor は normalized [0, 1] で、テクスチャ描画のオリジンのみをシフトします。位置オフセットはありません。Container.pivot はピクセル空間で、変換オリジンと視覚的位置の両方をシフトします。スプライトをセンタリングする場合は、常に anchor.set(0.5) を使用してください。
作成前のロード
Sprite.from(id) は Assets キャッシュのみを読み込みます。フェッチはしません。常に最初に await Assets.load(...) を実行するか、返された Texture を new Sprite(texture) に直接渡してください。
ダイナミックテクスチャ
テクスチャが読み込まれた後、その frame を変更するか、ソースをスワップしても、スプライトに自動的に通知されません。一度 texture.dynamic = true を設定するか、変更後に sprite['onViewUpdate']() を手動で呼び出してください。
よくある間違い
[HIGH] Texture.from(url) を使用して読み込む
間違い:
const texture = Texture.from("https://example.com/image.png");
正しい:
const texture = await Assets.load("https://example.com/image.png");
Texture.from() は v8 ではキャッシュのみを読み込みます。最初に Assets.load() を使用してください。その戻り値がテクスチャです。
[HIGH] anchor と pivot を混同する
間違い:
sprite.pivot.set(sprite.width / 2, sprite.height / 2);
正しい:
sprite.anchor.set(0.5);
anchor は描画オリジンのみをシフトします。pivot は変換オリジンと視覚的位置の両方をシフトし、スプライトが予期せず移動します。
[HIGH] 古い NineSlicePlane 名
NineSlicePlane は v8 で NineSliceSprite に改名され、オプションオブジェクトコンストラクタに切り替わりました: new NineSliceSprite({ texture, leftWidth, topHeight, rightWidth, bottomHeight })。
[MEDIUM] スプライトに子要素を追加する
Sprite、NineSliceSprite、TilingSprite はすべて allowChildren = false を設定します。スプライトを他のコンテンツとグループ化するには Container でラップしてください。
API リファレンス
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- pixijs
- リポジトリ
- pixijs/pixijs-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/pixijs/pixijs-skills / ライセンス: MIT
関連スキル
nano-banana-2
inference.sh CLIを通じてGoogle Gemini 3.1 Flash Image Preview(Nano Banana 2)で画像を生成します。テキストから画像を生成する機能、画像編集、最大14枚の複数画像入力、Google Searchグラウンディング機能に対応しています。トリガーワード:「nano banana 2」「nanobanana 2」「gemini 3.1 flash image」「gemini 3 1 flash image preview」「google image generation」
octocode-slides
洗練されたマルチファイル形式のHTMLプレゼンテーションを生成します。6段階のフロー(概要 → リサーチ → アウトライン → デザイン → 実装 → レビュー)で構成されています。各スライドは独立したHTMLファイルとなり、iframeで読み込まれます。「スライドを作成してほしい」「プレゼンテーションを作ってほしい」「HTMLスライドを生成してほしい」「デックを構築してほしい」といった依頼や、ノート・ドキュメント・コードを洗練されたプレゼンテーションに変換する際に使用できます。
gpt-image2-ppt
OpenAIのgpt-image-2を使用して、視覚的に優れたPPTスライドを生成します。Spatial Glass、Tech Blue、Editorial Monoなど10種類のキュレーション済みスタイルに対応し、ユーザーが提供したPPTXファイルを模倣するテンプレートクローンモードも搭載しています。HTMLビューアと16:9形式のPPTXファイルを出力します。プレゼンテーション、スライド、ピッチデック、投資家向けPPT、雑誌風PPTの作成依頼などで活用してください。
nano-banana
Nano Banana PRO(Gemini 3 Pro Image)およびNano Banana(Gemini 2.5 Flash Image)を使用したAI画像生成機能です。以下の場合に活用できます:(1)テキストプロンプトからの画像生成、(2)既存画像の編集、(3)インフォグラフィックス、ロゴ、商品写真、ステッカーなどのプロフェッショナルなビジュアルアセット制作、(4)複数画像での人物キャラクターの一貫性保持、(5)正確なテキスト描画を含む画像生成、(6)AI生成ビジュアルが必要なあらゆるタスク。「画像を生成」「画像を作成」「写真を作る」「ロゴをデザイン」「インフォグラフィックスを作成」「AI画像」「nano banana」またはその他の画像生成リクエストをトリガーとして機能します。
oiloil-ui-ux-guide
モダンでクリーンなUI/UXガイダンス・レビュースキルです。新機能や既存システム(Webアプリ)に対して、実行可能なUI/UX改善提案、デザイン原則、デザインレビューチェックリストが必要な場合に活用できます。CRAP(コントラスト・反復・配置・近接)をベースに、タスクファーストなUX、情報設計、フィードバック・システムステータス、一貫性、affordances、エラー防止・復旧、認知負荷を重視します。モダンミニマルスタイル(クリーン・余白・タイポグラフィ主導)を強制し、不要なテキストを削減、アイコンとしての絵文字を禁止し、統一されたアイコンセットから直感的で洗練されたアイコンを推奨します。
axiom-hig-ref
Apple Human Interface Guidelines リファレンス — 色(セマンティックカラー、カスタムカラー、パターン)、背景(マテリアル階層、ダイナミック背景)、タイポグラフィ(標準スタイル、カスタムフォント、Dynamic Type)、SF Symbols(レンダリングモード、色、多言語対応)、ダークモード、アクセシビリティ、プラットフォーム固有の考慮事項を網羅したガイドラインです。