小编Mei*_*mow的帖子

Angular2:鼠标事件处理(相对于当前位置的移动)

我的用户应该能够在画布中通过鼠标移动(或旋转)对象.当鼠标事件发生时,屏幕坐标用于计算最后一个事件的增量(方向和长度).没什么特别的...

  1. mousedown(获得第一个坐标)
  2. mousemove(获取第n个坐标,计算deltaXY,按deltaXY移动对象)
  3. mouseup(与步骤2相同,停止mousemove和mouseup事件处理)

在这一系列事件之后,应该可以重复相同的操作.

删除toRx呼叫后,此过时示例按预期工作.但是这里确定了第一个坐标的增量:github.com:rx-draggable

这是我努力调整示例中的代码:

@Component({
  selector: 'home',
  providers: [Scene],
  template: '<canvas #canvas id="3dview"></canvas>'
})
export class Home {
  @ViewChild('canvas') canvas: ElementRef;
  private scene: Scene;
  private mousedrag = new EventEmitter();
  private mouseup   = new EventEmitter<MouseEvent>();
  private mousedown = new EventEmitter<MouseEvent>();
  private mousemove = new EventEmitter<MouseEvent>();
  private last: MouseEvent;
  private el: HTMLElement;

  @HostListener('mouseup', ['$event'])
  onMouseup(event: MouseEvent) { this.mouseup.emit(event); }

  @HostListener('mousemove', ['$event'])
  onMousemove(event: MouseEvent) { this.mousemove.emit(event); }

  constructor(@Inject(ElementRef) elementRef: ElementRef, scene: Scene) {
    this.el = …
Run Code Online (Sandbox Code Playgroud)

mouseevent rxjs eventemitter typescript angular

14
推荐指数
2
解决办法
5万
查看次数

如何反转 GeoJson-Polygon

我可以反转一个国家的 GeoJson,以便将国家定义为世界地图多边形中的一个洞吗?我需要这个来在 OpenLayers 5.3 中创建 GeoJson VectorLayer 的蒙版。

geojson

7
推荐指数
2
解决办法
1379
查看次数

标签 统计

angular ×1

eventemitter ×1

geojson ×1

mouseevent ×1

rxjs ×1

typescript ×1