Fixed pointer effects

This commit is contained in:
Devine Lu Linvega 2016-12-20 11:53:36 -07:00
parent 27117db46c
commit bfaa5310f6
4 changed files with 28 additions and 15 deletions

View File

@ -36,8 +36,8 @@
<script type="text/javascript" src="scripts/core/cursor.js"></script> <script type="text/javascript" src="scripts/core/cursor.js"></script>
<script type="text/javascript" src="scripts/core/command.js"></script> <script type="text/javascript" src="scripts/core/command.js"></script>
<script type="text/javascript" src="scripts/core/commander.js"></script> <script type="text/javascript" src="scripts/core/commander.js"></script>
<script type="text/javascript" src="scripts/core/commander.hint.js"></script>
<script type="text/javascript" src="scripts/core/ronin.js"></script> <script type="text/javascript" src="scripts/core/ronin.js"></script>
<script type="text/javascript" src="scripts/core/hint.js"></script>
<script type="text/javascript" src="scripts/core/widget.js"></script> <script type="text/javascript" src="scripts/core/widget.js"></script>
<link rel="stylesheet" type="text/css" href="links/main.css"/> <link rel="stylesheet" type="text/css" href="links/main.css"/>

View File

@ -7,7 +7,7 @@ function Pointer(offset = new Position(), color = new Color('000000'))
this.distance = 0; this.distance = 0;
// Parameters // Parameters
this.thickness = function() this.thickness = function()
{ {
var ratio = 10/this.position().distance_to(this.position_prev); var ratio = 10/this.position().distance_to(this.position_prev);
@ -41,23 +41,15 @@ function Pointer(offset = new Position(), color = new Color('000000'))
this.position = function() this.position = function()
{ {
if(this.angle){ if(this.angle && this.offset){
var angle_radian = this.angle.degrees * Math.PI / 180; return this.position_rotation();
var deltaX = ronin.brush.position.x - this.offset.x;
var deltaY = ronin.brush.position.y - this.offset.y;
var t = Math.atan2(deltaY, deltaX) + angle_radian;
var radius = ronin.brush.position.distance_to(this.offset);
var x = Math.cos(t) * radius;
var y = Math.sin(t) * radius;
return new Position(x + this.offset.x,y + this.offset.y);
} }
else if(this.mirror && this.mirror.width > 0){ else if(this.mirror && this.mirror.width > 0){
return new Position((2 * this.mirror.width) - (ronin.brush.position.x + this.offset.x), 0 + (ronin.brush.position.y + this.offset.y)); return this.position_mirror_x();
} }
else if(this.mirror && this.mirror.height > 0){ else if(this.mirror && this.mirror.height > 0){
return new Position((ronin.brush.position.x + this.offset.x), (2 * this.mirror.height) - (ronin.brush.position.y + this.offset.y)); return this.position_mirror_y();
} }
return this.position_default(); return this.position_default();
} }
@ -68,6 +60,28 @@ function Pointer(offset = new Position(), color = new Color('000000'))
return ronin.cursor.position.add(this.offset); return ronin.cursor.position.add(this.offset);
} }
this.position_mirror_x = function()
{
return new Position((2 * this.mirror.width) - (ronin.cursor.position.x + this.offset.x), 0 + (ronin.cursor.position.y + this.offset.y));
}
this.position_mirror_y = function()
{
return new Position((ronin.cursor.position.x + this.offset.x), (2 * this.mirror.height) - (ronin.cursor.position.y + this.offset.y));
}
this.position_rotation = function()
{
var angle_radian = this.angle.degrees * Math.PI / 180;
var deltaX = ronin.cursor.position.x - this.offset.x;
var deltaY = ronin.cursor.position.y - this.offset.y;
var t = Math.atan2(deltaY, deltaX) + angle_radian;
var radius = ronin.cursor.position.distance_to(this.offset);
var x = Math.cos(t) * radius;
var y = Math.sin(t) * radius;
return new Position(x + this.offset.x,y + this.offset.y);
}
this.start = function() this.start = function()
{ {
} }

View File

@ -21,7 +21,6 @@ function Module(rune)
if(!cmd.variable(key)){ continue; } if(!cmd.variable(key)){ continue; }
this.variables[key] = cmd.variable(key).value; this.variables[key] = cmd.variable(key).value;
} }
console.log(this.variables);
} }
this.hint = function(cmd) this.hint = function(cmd)