OnCanvasElement node now takes into account anchoring points
This commit is contained in:
parent
d815a5fc98
commit
91988372fd
|
@ -1,5 +1,6 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import zui.Canvas.Anchor;
|
||||
import iron.Scene;
|
||||
import armory.trait.internal.CanvasScript;
|
||||
|
||||
|
@ -52,48 +53,31 @@ class OnCanvasElementNode extends LogicNode {
|
|||
var mouseY = mouse.y;
|
||||
var x2 = x1 + canvas.getElement(element).width;
|
||||
var y2 = y1 + canvas.getElement(element).height;
|
||||
|
||||
switch(anchor)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
case Top:
|
||||
mouseX -= cx/2 - canvas.getElement(element).width/2;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
case TopRight:
|
||||
mouseX -= cx - canvas.getElement(element).width;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
case CenterLeft:
|
||||
mouseY -= cy/2 - canvas.getElement(element).height/2;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
case Anchor.Center:
|
||||
mouseX -= cx/2 - canvas.getElement(element).width/2;
|
||||
mouseY -= cy/2 - canvas.getElement(element).height/2;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
case CenterRight:
|
||||
mouseX -= cx - canvas.getElement(element).width;
|
||||
mouseY -= cy/2 - canvas.getElement(element).height/2;
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
case BottomLeft:
|
||||
mouseY -= cy - canvas.getElement(element).height;
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
case Bottom:
|
||||
mouseX -= cx/2 - canvas.getElement(element).width/2;
|
||||
mouseY -= cy - canvas.getElement(element).height;
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
case BottomRight:
|
||||
mouseX -= cx - canvas.getElement(element).width;
|
||||
mouseY -= cy - canvas.getElement(element).height;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if((mouseX >= x1) && (mouseX <= x2))
|
||||
{
|
||||
if((mouseY >= y1) && (mouseY <= y2))
|
||||
|
|
Loading…
Reference in a new issue