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으로 설정하여이를 수정했습니다. 이는 parent가 200 x 200 응용 프로그램이기 때문에 작동한다고 가정합니다. 또 다른 질문은 델타가 어디서 왔고 그게 무엇인가? Pixi 문서는 Ticker.add()에 도움이되지 않았습니다. –
Opps ... 부모님이 400x400이라는 것을 의미했습니다. –
델타는 숫자입니다 ... 기본적으로 티커는 60FPS를 타겟팅합니다. 즉, 모든 것이 원활하게 진행된다면 그 함수는 매 16ms마다 호출됩니다. 그리고 있다면 델타 값은 "1"이됩니다. 호출 간 목표 시간과 호출 간 실제 시간이 일치합니다. 그러나 응용 프로그램이 어떤 이유로 천천히 실행 중이고 델타 값이 2가 될 때마다 33ms (절반의 시간)마다 업데이트를 얻는 경우입니다. – themoonrat