Vector2Editor.js 687 B

12345678910111213141516171819202122232425262728
  1. import { NumberInput, LabelElement } from '../../libs/flow.module.js';
  2. import { BaseNode } from '../core/BaseNode.js';
  3. import { Vector2 } from 'three';
  4. import { UniformNode } from 'three/nodes';
  5. export class Vector2Editor extends BaseNode {
  6. constructor() {
  7. const node = new UniformNode( new Vector2() );
  8. super( 'Vector 2', 2, node );
  9. const onUpdate = () => {
  10. node.value.x = fieldX.getValue();
  11. node.value.y = fieldY.getValue();
  12. };
  13. const fieldX = new NumberInput().setTagColor( 'red' ).onChange( onUpdate );
  14. const fieldY = new NumberInput().setTagColor( 'green' ).onChange( onUpdate );
  15. this.add( new LabelElement( 'XY' ).add( fieldX ).add( fieldY ) );
  16. }
  17. }