Я пытаюсь создать круговую диаграмму с помощью Phaser, используя graphics
, чтобы нарисовать каждый фрагмент круговой диаграммы (graphics.arc(...)
).Проблема в том, что когда он рендерится, я получаю (что я думаю) неожиданный результат.
Я просто хочу нарисовать 3 среза одинакового размера, код, который я использую, выглядит примерно так:
function degToRad(degrees) {
return (degrees * Math.PI)/180;
}
var total = 3;
var width = 300;
for (var i = 0; i < total; i++) {
var radius = Math.floor(width / 2);
var deg = 360 / total;
var start = degToRad(i * deg);
var end = degToRad((i + 1) * deg);
graphics = game.add.graphics()
graphics.beginFill(0xFF0000)
graphics.lineStyle(2, 0x000000)
graphics.moveTo(0, 0);
graphics.arc(0, 0, radius, start, end, false);
graphics.endFill()
}
Я создал 3 скрипки, чтобы показать разницу между примерами на основе canvas, pixi и phaser, каждый из которых использует один и тот же процесс для рисования фрагментов:
canvas: https://jsfiddle.net/oL414v9t/1/
pixi: http://jsfiddle.net/ngma7snq/59/
phaser: https://jsfiddle.net/1ck39fos/1/
Кто-нибудь знает, почему это происходит и как я могу добиться того, чего хочу?