2014-02-12 6 views
1

새로운 pixi.js 버전에서 이상한 효과가 발생합니다. 문제를 재현하기 위해 예제에서 PIXI.Graphics 객체를 회전시키는 간단한 예제를 만들었습니다. 회전 (rotate)이 예상대로 작동하지 않는 것보다 (다른 것을 아직 시도하지 않은) Graphics 객체에서 (0,0) 이외의 피벗 점을 사용하는 것으로 보입니다. pixi.js 1.3.0에서는 작동하지만 1.4.3 및 1.5.0에서는 작동하지 않습니다. 회전 만하면되지만 장면에서도 움직입니다. 내가 뭔가 잘못하고 있는거야? 센터가 0,0 포인트가되도록 좌표를 변환 할 수 있다는 것을 알고 있지만 어떤 이유로 든 그렇게하지 않으려합니다 (물론 다른 방법으로는 가능하지 않은 경우 제외).피벗 및 회전이있는 Graphics 객체에 관한 pixi.js의 이상한 효과

예 :

테스트 페이지에
var stage = new PIXI.Stage(0x66FF99); 
var renderer = PIXI.autoDetectRenderer(400, 300, null, true); 

document.body.appendChild(renderer.view); 
renderer.view.style.position = "absolute"; 
renderer.view.style.top = "0px"; 
renderer.view.style.left = "0px"; 
requestAnimFrame(animate); 

var g = new PIXI.Graphics(); 
g.beginFill(0xddffdd); 
g.lineStyle(1, 0, 1); 
g.moveTo(0, 0); 
g.lineTo(60, 60); 
g.lineTo(0, 60); 
g.endFill(); 

g.position.x = 200; 
g.position.y = 150; 
g.pivot.x = 30; 
g.pivot.y = 30; 
stage.addChild(g); 

function animate() { 
    requestAnimFrame(animate); 
    g.rotation += 0.1; 
    renderer.render(stage); 
} 

두 URL의는 :

이 확인을 작동합니다 http://dev.progit.info/static/test-1.3.0.html

이되지 않습니다 http://dev.progit.info/static/test-1.4.3.html

+0

동일한 문제가 발생했습니다. 알아 내면 알려주세요. 나는 주인공을 만들었지 만 여전히 똑같은 문제가있어 수정되지 않았습니다. – Tim

+0

1.4.3 태그를 체크 아웃하고 빌드를 만들었습니다. 1.4.3 분 파일이 손상 되었기 때문에 이상하게 작동합니다. 나는 1.5.0 태그를 체크 아웃하고 고장났다. 피벗 포인트를 깨뜨린 태그 1.4.3과 1.5.0 사이에서 뭔가가 변경되었습니다. – Tim

답변

0

는 비교 태그 1.4에서 버그 발견 .3 내지 1.5.0. 행렬 변환 연산이 우연히 플러스로 바뀐 마이너스로 다시 작성된 것처럼 보입니다.

a02 = this.position.x + a00 * px - py * a01, 
a12 = this.position.y + a11 * py - px * a10, 

행 :

a02 = this.position.x - a00 * px - py * a01, 
a12 = this.position.y - a11 * py - px * a10, 

을하고 다시 예상대로 작동 시작 라인 (409) 및 (410)의 DisplayObject.js

은 변경할.

Github에서 문제를 제기하겠습니다.