InputNode.hx 765 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package arm.logicnode;
  2. import armory.logicnode.LogicNode;
  3. import armory.logicnode.LogicTree;
  4. import armory.math.Vec4;
  5. class InputNode extends LogicNode {
  6. var coords = new Vec4();
  7. var startX = 0.0;
  8. var startY = 0.0;
  9. var lockX = false;
  10. var lockY = false;
  11. public function new(tree:LogicTree) {
  12. super(tree);
  13. tree.notifyOnUpdate(function() {
  14. var mouse = armory.system.Input.getMouse();
  15. coords.x = mouse.x / iron.App.w();
  16. coords.y = mouse.y / iron.App.h();
  17. if (mouse.started()) {
  18. startX = mouse.x / iron.App.w();
  19. startY = mouse.y / iron.App.h();
  20. }
  21. var kb = iron.system.Input.getKeyboard();
  22. lockY = kb.down("shift");
  23. if (lockY) coords.y = startY;
  24. });
  25. }
  26. override function get(from:Int):Dynamic {
  27. return coords;
  28. }
  29. }