Phaser Point Rotation

Phaser Point Rotation

by robotron9000

HTML

<script src="https://cdn.jsdelivr.net/npm/phaser-ce@2.8.5/build/phaser.min.js"></script>
<div id='game'></div>

JavaScript

var game = new Phaser.Game(400, 300, Phaser.AUTO, 'game', {
  create: create,
  update: update
});
var green;
var red;

function create() {
  var green_g = game.add.graphics();
  var red_g = game.add.graphics();
  green_g.lineStyle(3, 0x00ff00);
  green_g.drawRect(0, 0, 100, 20);
  red_g.lineStyle(3, 0xff0000);
  red_g.drawRect(0, 0, 100, 20);
  red = game.add.sprite(200, 100, red_g.generateTexture());
  green = game.add.sprite(0, 0, green_g.generateTexture());
  red_g.destroy();
  green_g.destroy();
  red.anchor.set(0, 0.5);
  green.anchor.set(0, 0.5);
}

function update() {
	var dt = game.time.physicsElapsed;
	red.rotation +=1.3 * dt;
  green.position = new Phaser.Point(red.x, red.y).rotate(red.x, red.y, red.rotation, false, red.width);;
  green.rotation -=2.0 * dt;
}