Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Single header C library for parsing/using exported data and playing animations

オープン
#84 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
15/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
c

調査の方向性

The payload names no source files or tests. The exported JSON shape is in the issue body: sprites entries with origin and source, and animations with frames holding sprite_index and ms. Start by agreeing with the maintainer on a better name for origin, since the first checkbox is a naming decision. The C library is an open design question with no scope, so a newcomer should not start it without a maintainer decision. Done means an agreed field name and a settled library scope.

索引モデルが issue の本文から書いたものです。

説明

@ZackeryRSmith

Reasoning

This is an extension of a note that parsing the atlas requires a lot of manual labor. The goal of the project was to export a simple json file that included all the data needed to align the sprites back to a grid using the offset and source for each sprite, and then animations being just lists that include timings for each sprite index.

{
    "sprites": [
        {
            "origin": [
                0,
                22
            ],
            "source": [
                0,
                0,
                22,
                22
            ]
        },

...

"animations": [
        {
            "name": "pencil_default",
            "frames": [
                {
                    "sprite_index": 0,
                    "ms": 1000
                }
            ]
        },
...

this describes the pencil used in Pixi as a cursor. It is the first sprite in the atlas, and the origin is set to the pencil tip such that it is drawn at the mouse position offset from the top left.

However, It seems to really trip people up that this origin value includes the origin of the sprite set through Pixi. We currently do not have UI to set the sprite origin, so every sprite currently defaults to an origin at the top left corner.

This means the exported atlas data includes the distance the sprite shrunk when it was packed, such that each sprite can be back aligned to stack with other sprites of the same origin.

When Pixi allows users to set a per-sprite origin, this will allow the artist to specify the origin point at design-time and the programmer no longer has to choose and set an origin, or manage setting these origins per sprite later on when drawing them in-game. The idea would be that the final sprite rendering code just offsets the sprite position by the origin value and the sprites would be drawn correctly. i.e. origin at characters feet rather than the top left of the sprite.

Proposed changes

I don't really believe theres much of an issue with the data we are exporting. But I want to make using that data easier.

  • Potentially just find a better name for origin such that it better describes that the value includes the offset to realign the sprite at the origin the user specifies.

  • Eventually write a small portable single-header C library that can be consumed in other languages that can help users interpret the data Pixi exports. I think this would be a great bridge to allow other frameworks and engines to very simply import and use Pixi data

主要言語
Zig
スター
1.5k
フォーク
40
平均マージ
5時間 35分
マージ済み PR(30日)
151

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

fizzyedit/fizzy のほかの issue

fizzyedit/fizzy の issue をすべて見る

似ている issue

DevTools の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。