Konva-在不移动拖动元素的情况下反应拖放

时间:2018-10-11 20:25:34

标签: konvajs

类似于在不移动Konva中的元素的情况下进行拖放,是否有办法对Konva反应进行相同的操作?

尝试这样做。但是,找不到将克隆形状添加回图层的方法。

谢谢,我们将不胜感激。

更新: 使用的代码: 尝试在下面的代码中克隆“ Shp1”

class Shp1 extends Component {
  state = {
          x1: 0,
          y1: 0
  };

  handleDragStart = e => {
    e.target.setAttrs({
      scaleX: 1.1,
      scaleY: 1.1
    });
    //clone code goes here
  };

  handleDragEnd = e => {
    this.setState({
            x1: e.target.x(),
            y1: e.target.y()
    });
  };

    render() {
        return(
            <Group x={this.state.x1} y={this.state.y1}
                id="shp1" draggable onDragStart={this.handleDragStart} onDragEnd={this.handleDragEnd}
                onMouseOver={this.handleMouseOver} onMouseOut={this.handleMouseOut}>
            <RegularPolygon x={110} y={160} sides={3} radius={80} 
                fill="black" rotation={90}/>
            <Circle x={190} y={160} radius={30} 
                fill="black"/>

            </Group>
        );
    }
}


class App extends Component {
  render() {
    return (
      <Stage id='stg1' width={window.innerWidth} height={window.innerHeight} draggable={false}>
        <Layer id="menu" className="layer" x={0} y={0} width={200} height={window.innerHeight} visible={true}> 
                   <Shp1/>
        </Layer>
      </Stage>
    );
  }
}

0 个答案:

没有答案