8 years ago by orangebread
Trying to trigger my animation based on where the angle of the mouse was clicked. Is my approach incorrect or how I'm calculating the math?
toAngle: function( x ) { return (x > 0 ? x : (2*Math.PI + x)) * 360 / (2*Math.PI); }, // ATTACK if (pressed_shoot) { var radians = Math.atan2(this.pos.y - ig.input.mouse.y, this.pos.x - ig.input.mouse.x); var dest = this.toAngle(radians); //Down-Left if (290.0 <= dest < 350.0) { console.log('down left'); this.flip = true; this.currentAnim = this.anims.shootDownRightFront; } // down 1.3 < x < 1.7 else if (260.0 <= dest < 290.0) { console.log('down'); this.flip = false; this.currentAnim = this.anims.shootDown; } // downright 0.1 <= x < 1.3 else if (190.0 <= dest < 260.0) { console.log('down right'); this.flip = false; this.currentAnim = this.anims.shootDownRightFront; } // right -.1 <= x < 0 || 0 < x < 0.1 else if (170.0 <= dest <= 190.0) { console.log('right'); this.flip = false; this.currentAnim = this.anims.shootRightFront; } // upright -1.3 <= x < -.1 else if (100.0 <= dest < 170.0) { this.flip = false; this.currentAnim = this.anims.shootUpRightFront; }