Pixi.js: アンカーを設定しても、displayobjectのコンテンツは再描画されません。

作成日 2018年04月11日  ·  4コメント  ·  ソース: pixijs/pixi.js

こんにちは、

そのピボットとアンカーは非常に混乱していますが、フォトショップまたは古いフラッシュエディタで回転ポイントとして設定できるラウンドポイントとしてアンカーを想像すると、pixiで発生するのは、すべてのdisplayobjectコンテンツが再描画されてアンカーが原点として設定されることですポイント。

var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb});
document.body.appendChild(app.view);

var bunny = PIXI.Sprite.fromImage('required/assets/basics/bunny.png');

var container = new PIXI.Sprite();
container.addChild(bunny);
container.x = 0;
container.y = 0;

app.stage.addChild(container);

bunny.anchor.set(0.5);
//bunny_c.pivot.set(15,5);

この例では、バニーは回転に影響を与えるアンカーを持っていると思いますが、バニーは再描画されません!

💾 v4.x (Legacy) 🤔 Question

全てのコメント4件

各要素には、位置/回転/ピボットである変換があります
スプライトにはアンカーがあります。これは、「テクスチャのこのポイントはローカル座標系の(0,0)にある必要がある」ことを意味します。

回転ピボットは常にローカル座標系の(0,0)です。

別の動作が必要な場合は、Transformクラスを変更して、影響を受ける要素に対してパッチを適用したTransformのインスタンスを作成できます。

https://github.com/pixijs/pixi.js/blob/dev/src/core/display/TransformStatic.js
https://github.com/pixijs/pixi.js/blob/dev/src/core/sprites/Sprite.js#L174

また、バニーはpixiのすべてのフレームでredrawnです。 ライブラリには、すべての変更を追跡するメカニズムはありません。機能するだけです。 そうでなければ、3MB以上の重さになる可能性があります:)

あなたの場合、ピボットをバニーの中心に設定する方が良いでしょう。 必ず定数で実行してください。ロードされたときにのみbunny.texture.width使用してください。

@DavidGOrtegaは、あなたの質問に回答したと感じたので、これを閉じます。 さらに問題が発生した場合は、お気軽に再開してください。

このスレッドは、クローズ後に最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価