jtopo吧 关注:76贴子:376
  • 25回复贴,共1

Jtopo能不能让Scene固定下来不拖动,求大神指教!!急,在线等!

只看楼主收藏回复

各位大神!!!!!


1楼2017-06-13 10:31回复
    scene.mode = "select";
    不知道你要的是不是这个


    IP属地:江苏2楼2017-06-25 10:51
    回复
      同问啊


      IP属地:湖南3楼2017-07-10 16:20
      回复
        var topo=topo||{};//新建一个Jtopo的类
        topo.canvas=$('#expCanvas');//expCanvas是h5中定义的div
        topo.stage = new JTopo.Stage(topo.canvas);
        topo.scene = new JTopo.Scene(topo.stage);
        topo.scene.mode="select";
        /*
        normal[默认]:可以点击选中单个节点(按住Ctrl可以选中多个),点中空白处可以拖拽整个画面
        drag: 该模式下不可以选择节点,只能拖拽整个画面
        select: 可以框选多个节点、可以点击单个节点
        edit: 在默认基础上增加了:选中节点时可以通过6个控制点来调整节点的宽、高
        */


        4楼2017-07-14 17:16
        收起回复
          我通过修改源码实现了


          IP属地:新疆5楼2017-07-27 18:04
          收起回复
            在this.mousedragHandler = function (b){}方法最前面添加 if (this.currentElement == null || this.currentElement.elementType=="link") return;即可


            IP属地:新疆6楼2017-07-27 18:07
            收起回复
              如果直接return可以屏蔽所有拖拽


              IP属地:新疆7楼2017-07-27 18:09
              收起回复
                我也想知道,楼主怎么解决的。


                8楼2017-08-10 16:05
                回复
                  scene.mode = "select";
                  scene.areaSelect = false;


                  IP属地:北京9楼2017-11-02 14:34
                  收起回复
                    scene.mode = "drag";


                    10楼2017-11-02 16:23
                    回复
                      scene.translate = false


                      IP属地:北京11楼2017-11-20 14:28
                      回复
                        stage.mousedrag(function(e){
                        stage.setCenter(canvasWidth/2, canvasHeight/2);
                        });
                        stage拖动的时候设置中心点为canvas中心点就行


                        12楼2017-12-29 10:50
                        回复
                          scene不拖动:stage = "drag".
                          场景里的节点不能拖动: scene = "drag"


                          IP属地:上海13楼2019-11-14 09:59
                          收起回复
                            1、找到SceneMode定义,增加nodrag属性:
                            SceneMode:{normal:"normal",drag:"drag",edit:"edit",select:"select",nodrag:"nodrag"},
                            2、给自己的场景Scene设定mode属性:
                            myScene.mode = "nodrag";
                            3、修改mousedragHandler的响应:
                            this.mousedragHandler=function(b){if(this.mode==a.SceneMode.nodrag)return; ....... }
                            这样不影响其他原来的mode,可以安全实现你的需求。


                            IP属地:辽宁14楼2020-07-08 07:43
                            回复