0
Pixi.js v 4.6.2でオブジェクトを回転しようとしています。回転メンバを設定したり、setTransform()を呼び出すたびにオブジェクトが回転しますが、移動される。私はピボットポイントを設定しようとしましたが、それは役に立たなかった。Pixi.jsでオブジェクトを回転しようとしていますv 4.6.2
私が試してみました:
compass.rotation += .5;
と:
compassContainer.setTransform(0, 0, 1, 1, 0.5, 0,0, 00,00);
をして:ここでは
compassContainer.rotation += 0.5;
は、すべてのコードです:
var app = new PIXI.Application(400, 400, { antialias: true });
document.body.appendChild(app.view);
// Render the compass
var compassContainer = new PIXI.Container();
var compass = new PIXI.Graphics();
compass.beginFill(0xFF3300);
compass.lineStyle(4, 0xffd900, 1);
compass.lineStyle(0);
compass.beginFill(0xFFFF0B, 0.5);
compass.drawCircle(200, 200, 180);
compass.endFill();
compass.lineStyle(0);
compass.beginFill(0xFFFFFF, 1);
compass.drawCircle(200, 200, 150);
compass.endFill();
compass.lineStyle(4, 0xFF0000, 1);
compass.moveTo(200, 20);
compass.lineTo(200, 40);
compassContainer.addChild(compass);
app.stage.addChild(compassContainer);
// Render the boat
var boat = new PIXI.Graphics();
boat.beginFill(0xFF3300);
boat.lineStyle(4, 0xffd900, 1);
boat.moveTo(200, 100);
boat.lineTo(175, 250);
boat.lineTo(225, 250);
boat.lineTo(200, 100);
boat.endFill();
// Add boat
app.stage.addChild(boat);
// Rotate compass
// compass.rotation += .5;
compassContainer.setTransform(0, 0, 1, 1, 0.5, 0,0, 00,00);
// compassContainer.rotation = 0;
ありがとうございます!あなたのフィドルはまだ少しでも動揺します。 compassContainer.pivot.x(およびy)を200に設定することでそれを修正しました。これは、親が200 x 200のアプリケーションなので、私が動作すると仮定します。別の質問、デルタはどこから来て、それは何ですか? PixiのドキュメントはTicker.add()にとってあまり役に立ちませんでした。 –
Opps ...私は親が400×400であることを意味しました。 –
デルタは数字です...したがって、デフォルトでは、テロップは60FPSをターゲットにしています。つまり、すべてがスムーズに進むと、その関数は16msごとに呼び出されます。そうであれば、そのデルタは「1」の値になります。コールとコール間の実際の時間の間の目標時間が一致します。しかし、アプリケーションが何らかの理由でゆっくり実行されていて、デルタ値が2になる33ms(半分の時間)ごとに更新を取得していただけの場合。 – themoonrat