|
3 | 3 | var game = new Phaser.Game(this, 'game', 800, 600, init, create, update, render); |
4 | 4 | function init() { |
5 | 5 | game.load.image('box2', 'assets/tests/320x200.png'); |
6 | | - game.load.image('box1', 'assets/sprites/oz_pov_melting_disk.png'); |
7 | | - game.load.image('box', 'assets/sprites/bunny.png'); |
| 6 | + game.load.image('box', 'assets/sprites/oz_pov_melting_disk.png'); |
| 7 | + game.load.image('box1', 'assets/sprites/bunny.png'); |
8 | 8 | game.load.start(); |
9 | 9 | } |
10 | 10 | var sprite; |
11 | 11 | var rotate = false; |
12 | 12 | function create() { |
13 | 13 | game.stage.backgroundColor = 'rgb(0,0,0)'; |
14 | | - game.stage.disablePauseScreen = true; |
15 | 14 | sprite = game.add.sprite(game.stage.centerX, game.stage.centerY, 'box'); |
16 | 15 | //sprite.transform.scale.setTo(0.5, 0.5); |
17 | | - sprite.transform.origin.setTo(0.3, 0.3); |
| 16 | + sprite.transform.origin.setTo(0, 0); |
| 17 | + //sprite.transform.origin.setTo(0.5, 0.5); |
18 | 18 | game.input.onTap.add(rotateIt, this); |
19 | | - game.add.tween(sprite.transform.scale).to({ |
20 | | - x: 0.5, |
21 | | - y: 0.5 |
22 | | - }, 2000, Phaser.Easing.Linear.None, true, 0, true); |
23 | | - points = [ |
24 | | - new Phaser.Point(), |
25 | | - new Phaser.Point(), |
26 | | - new Phaser.Point(), |
27 | | - new Phaser.Point() |
28 | | - ]; |
29 | | - } |
| 19 | + //game.add.tween(sprite.transform.scale).to({ x: 0.5, y: 0.5 }, 2000, Phaser.Easing.Linear.None, true, 0, true); |
| 20 | + } |
30 | 21 | function rotateIt() { |
31 | 22 | if(rotate == false) { |
32 | 23 | rotate = true; |
|
39 | 30 | sprite.rotation++; |
40 | 31 | } |
41 | 32 | } |
42 | | - var points; |
43 | 33 | function render() { |
44 | | - /* |
45 | | - points = Phaser.SpriteUtils.getCornersAsPoints3(sprite); |
46 | | - |
47 | | - game.stage.context.fillStyle = 'rgb(255,255,0)'; |
48 | | - game.stage.context.fillRect(points[0].x, points[0].y, 2, 2); |
49 | | - game.stage.context.fillRect(points[1].x, points[1].y, 2, 2); |
50 | | - game.stage.context.fillRect(points[2].x, points[2].y, 2, 2); |
51 | | - game.stage.context.fillRect(points[3].x, points[3].y, 2, 2); |
52 | | - */ |
53 | | - var originX = sprite.transform.origin.x * sprite.width; |
54 | | - var originY = sprite.transform.origin.y * sprite.height; |
55 | | - var centerX = 0.5 * sprite.width; |
56 | | - var centerY = 0.5 * sprite.height; |
57 | | - var distance = Math.sqrt(((originX - centerX) * (originX - centerX)) + ((originY - centerY) * (originY - centerY))); |
58 | | - var originAngle = Math.atan2(centerY - originY, centerX - originX); |
59 | | - var sin = Math.sin((sprite.transform.rotation + sprite.transform.rotationOffset) * Phaser.GameMath.DEG_TO_RAD); |
60 | | - var cos = Math.cos((sprite.transform.rotation + sprite.transform.rotationOffset) * Phaser.GameMath.DEG_TO_RAD); |
61 | | - //var px = sprite.x + distance * Math.cos((sprite.transform.rotation * Math.PI / 180) + originAngle); |
62 | | - //var py = sprite.y + distance * Math.sin((sprite.transform.rotation * Math.PI / 180) + originAngle); |
63 | | - // WORKS |
64 | | - //var px = sprite.x + sprite.transform.distance * Math.cos((sprite.transform.rotation * Math.PI / 180) + sprite.transform.angleToCenter); |
65 | | - //var py = sprite.y + sprite.transform.distance * Math.sin((sprite.transform.rotation * Math.PI / 180) + sprite.transform.angleToCenter); |
66 | | - // Upper Left |
67 | | - //points[0].setTo(px + (sprite.width / 2) * cos - (sprite.height / 2) * sin, py + (sprite.height / 2) * cos + (sprite.width / 2) * sin); |
68 | | - // Upper Right |
69 | | - //points[1].setTo(px - (sprite.width / 2) * cos - (sprite.height / 2) * sin, py + (sprite.height / 2) * cos - (sprite.width / 2) * sin); |
70 | | - // Bottom Left |
71 | | - //points[2].setTo(px + (sprite.width / 2) * cos + (sprite.height / 2) * sin, py - (sprite.height / 2) * cos + (sprite.width / 2) * sin); |
72 | | - // Bottom Right |
73 | | - //points[3].setTo(px - (sprite.width / 2) * cos + (sprite.height / 2) * sin, py - (sprite.height / 2) * cos - (sprite.width / 2) * sin); |
74 | | - points = Phaser.SpriteUtils.getCornersAsPoints3(sprite); |
75 | | - game.stage.context.save(); |
76 | | - game.stage.context.fillStyle = 'rgb(0,255,255)'; |
77 | | - //game.stage.context.fillRect(px, py, 2, 2); |
78 | | - game.stage.context.fillText('rect width: ' + originX + ' height: ' + originY, 32, 32); |
79 | | - game.stage.context.fillText('center x: ' + centerX + ' centerY: ' + centerY, 32, 52); |
80 | | - game.stage.context.fillText('angle: ' + sprite.rotation, 32, 72); |
81 | | - game.stage.context.fillText('point of rotation x: ' + sprite.transform.origin.x + ' y: ' + sprite.transform.origin.y, 32, 92); |
82 | | - game.stage.context.fillText('x: ' + sprite.x + ' y: ' + sprite.y, sprite.x + 4, sprite.y); |
83 | | - game.stage.context.fillRect(points[0].x, points[0].y, 2, 2); |
84 | | - game.stage.context.fillRect(points[1].x, points[1].y, 2, 2); |
85 | | - game.stage.context.fillRect(points[2].x, points[2].y, 2, 2); |
86 | | - game.stage.context.fillRect(points[3].x, points[3].y, 2, 2); |
87 | | - game.stage.context.restore(); |
88 | 34 | game.stage.context.save(); |
89 | | - game.stage.context.fillStyle = 'rgba(255,255,255,0.1)'; |
90 | | - game.stage.context.beginPath(); |
91 | | - game.stage.context.moveTo(sprite.x, sprite.y); |
92 | | - game.stage.context.arc(sprite.x, sprite.y, distance, 0, Math.PI * 2); |
93 | | - game.stage.context.closePath(); |
94 | | - game.stage.context.fill(); |
| 35 | + game.stage.context.fillStyle = 'rgb(255,0,255)'; |
| 36 | + game.stage.context.fillText('x: ' + Math.round(sprite.transform.upperLeft.x) + ' y: ' + Math.round(sprite.transform.upperLeft.y), sprite.transform.upperLeft.x, sprite.transform.upperLeft.y); |
| 37 | + game.stage.context.fillText('x: ' + Math.round(sprite.transform.upperRight.x) + ' y: ' + Math.round(sprite.transform.upperRight.y), sprite.transform.upperRight.x, sprite.transform.upperRight.y); |
| 38 | + game.stage.context.fillText('x: ' + Math.round(sprite.transform.bottomLeft.x) + ' y: ' + Math.round(sprite.transform.bottomLeft.y), sprite.transform.bottomLeft.x, sprite.transform.bottomLeft.y); |
| 39 | + game.stage.context.fillText('x: ' + Math.round(sprite.transform.bottomRight.x) + ' y: ' + Math.round(sprite.transform.bottomRight.y), sprite.transform.bottomRight.x, sprite.transform.bottomRight.y); |
| 40 | + var minX = Math.min(sprite.transform.upperLeft.x, sprite.transform.upperRight.x, sprite.transform.bottomLeft.x, sprite.transform.bottomRight.x); |
| 41 | + var minY = Math.min(sprite.transform.upperLeft.y, sprite.transform.upperRight.y, sprite.transform.bottomLeft.y, sprite.transform.bottomRight.y); |
| 42 | + var maxX = Math.max(sprite.transform.upperLeft.x, sprite.transform.upperRight.x, sprite.transform.bottomLeft.x, sprite.transform.bottomRight.x); |
| 43 | + var maxY = Math.max(sprite.transform.upperLeft.y, sprite.transform.upperRight.y, sprite.transform.bottomLeft.y, sprite.transform.bottomRight.y); |
| 44 | + var width = maxX - minX; |
| 45 | + var height = maxY - minY; |
| 46 | + game.stage.context.fillText('minX: ' + minX + ' minY: ' + minY, 32, 32); |
| 47 | + game.stage.context.fillText('maxX: ' + maxX + ' maxY: ' + maxY, 32, 64); |
| 48 | + game.stage.context.fillRect(sprite.transform.center.x, sprite.transform.center.y, 2, 2); |
| 49 | + game.stage.context.fillRect(sprite.transform.upperLeft.x, sprite.transform.upperLeft.y, 2, 2); |
| 50 | + game.stage.context.fillRect(sprite.transform.upperRight.x, sprite.transform.upperRight.y, 2, 2); |
| 51 | + game.stage.context.fillRect(sprite.transform.bottomLeft.x, sprite.transform.bottomLeft.y, 2, 2); |
| 52 | + game.stage.context.fillRect(sprite.transform.bottomRight.x, sprite.transform.bottomRight.y, 2, 2); |
| 53 | + game.stage.context.strokeStyle = 'rgb(255,255,0)'; |
| 54 | + game.stage.context.strokeRect(sprite.cameraView.x, sprite.cameraView.y, sprite.cameraView.width, sprite.cameraView.height); |
| 55 | + //game.stage.context.strokeRect(minX, minY, width, height); |
95 | 56 | game.stage.context.restore(); |
96 | 57 | } |
97 | 58 | })(); |
0 commit comments