Improve Get Mouse Movement
node
This commit is contained in:
parent
2ca088fb85
commit
0acadd2e74
|
@ -1,29 +1,28 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.math.Vec4;
|
||||
import kha.FastFloat;
|
||||
|
||||
class GetMouseMovementNode extends LogicNode {
|
||||
|
||||
var coords = new Vec4();
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
override function get(from: Int): Dynamic {
|
||||
var mouse = iron.system.Input.getMouse();
|
||||
var multX: Float = inputs[0].get();
|
||||
var multY: Float = inputs[1].get();
|
||||
var multDelta: Float = inputs[2].get();
|
||||
|
||||
var multX: FastFloat = inputs[0].get();
|
||||
var multY: FastFloat = inputs[1].get();
|
||||
var multWheelDelta: FastFloat = inputs[2].get();
|
||||
|
||||
return switch (from) {
|
||||
case 0: mouse.movementX;
|
||||
case 1: mouse.movementY;
|
||||
case 2: mouse.wheelDelta;
|
||||
case 3: mouse.movementX * multX;
|
||||
case 4: mouse.movementY * multY;
|
||||
case 5: mouse.wheelDelta * multDelta;
|
||||
default: null;
|
||||
case 2: mouse.movementX * multX;
|
||||
case 3: mouse.movementY * multY;
|
||||
case 4: mouse.wheelDelta;
|
||||
case 5: mouse.wheelDelta * multWheelDelta;
|
||||
default: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
|
||||
class GetMouseMovementNode(ArmLogicTreeNode):
|
||||
"""Returns the movement coordinates of the mouse."""
|
||||
"""Get the movement coordinates of the mouse and the mouse wheel delta.
|
||||
The multiplied output variants default to -1 to invert the values."""
|
||||
bl_idname = 'LNGetMouseMovementNode'
|
||||
bl_label = 'Get Mouse Movement'
|
||||
arm_section = 'mouse'
|
||||
|
@ -9,13 +11,14 @@ class GetMouseMovementNode(ArmLogicTreeNode):
|
|||
|
||||
def init(self, context):
|
||||
super(GetMouseMovementNode, self).init(context)
|
||||
self.add_input('NodeSocketFloat', 'X Multiplier' , default_value=-1.0)
|
||||
|
||||
self.add_input('NodeSocketFloat', 'X Multiplier', default_value=-1.0)
|
||||
self.add_input('NodeSocketFloat', 'Y Multiplier', default_value=-1.0)
|
||||
self.add_input('NodeSocketFloat', 'Delta Multiplier', default_value=-1.0)
|
||||
self.add_input('NodeSocketFloat', 'Wheel Delta Multiplier', default_value=-1.0)
|
||||
|
||||
self.add_output('NodeSocketFloat', 'X')
|
||||
self.add_output('NodeSocketFloat', 'Y')
|
||||
self.add_output('NodeSocketInt', 'Delta')
|
||||
self.add_output('NodeSocketFloat', 'Multiplied X')
|
||||
self.add_output('NodeSocketFloat', 'Multiplied Y')
|
||||
self.add_output('NodeSocketFloat', 'Multiplied Delta')
|
||||
self.add_output('NodeSocketInt', 'Wheel Delta')
|
||||
self.add_output('NodeSocketFloat', 'Multiplied Wheel Delta')
|
||||
|
|
Loading…
Reference in a new issue