试图在Pixi.js v 4.6.2中旋转对象

时间:2017-12-02 07:32:29

标签: pixi.js pixijs

我试图在Pixi.js v 4.6.2中旋转一个对象,每次设置旋转成员或调用setTransform()时,对象都会旋转,但它也会被移动。我尝试过设置枢轴点,但没有帮助。

Here is a fiddle

我试过了:

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;

1 个答案:

答案 0 :(得分:1)

我在这里有一个固定的小提琴:https://jsfiddle.net/themoonrat/cfaq34g7/

EXECUTE IMMEDIATE 'DELETE FROM dept WHERE deptno = :num' USING dept_id;

基本上,在绘制圆圈时,圆圈的定位,加上与半径相比的微小偏移,意味着中心点不在绘制图形的中间,因此“摆动”。在我的小提琴中,绘制圆圈的x和y pos现在都是180 ...与较大圆圈的半径相同

你使用枢轴的第一直觉是正确的,那个小提琴使用它。