Laya 场景点击拖动思路

        private function mouseDownHandler(e : Event) : void
        {
            _prex = e.stageX;
        }
        
        private function mouseMoveHandler(e : Event) : void
        {
            var dis : Number = e.stageX - _prex ;
            // sceneMove(dis);
            scenex += dis;
            _prex = e.stageX;
        }
        
        private var _scenex : Number = 0;
        public function set scenex(value : Number) : void
        {
            sceneMove(value - _scenex);
            _scenex = value;
        }
        private function sceneMove(dis : Number) : void
        {
            var rightSide : Number = -(_front.width - Laya.stage.width);
            var side : Boolean = false;
            var nextX = _front.x + dis;
            if (nextX < (rightSide + 450) )
            {
                // _front.x = rightSide;
                side = true;
            }
            if (nextX > 0)
            {
                // _front.x = 0;
                side = true;
            }

            if (!side)
            {
                _front.x += dis;
                middleMoveHandler(dis);
                farMoveHandler(dis);
            }
        }
        private function middleMoveHandler(dis : Number) : void
        {
            _middle.x += dis * (800 / 1430);
        }
        private function farMoveHandler(dis : Number) : void
        {
            _far.x += dis * (200 / 1430);
        }
        private function mouseUpHandler(e : Event) : void
        {
            if (_mouseDownTs > 0 && _mouseDownMouseX > 0)
            {
                var now : Number = Browser.now();
                var diffTs : Number = now - _mouseDownTs;
                var dir : int = e.stageX > _mouseDownMouseX ? 1 : -1;
                if (diffTs < 200 && Math.abs(e.stageX - _mouseDownMouseX) > 20)
                {
                    var nextSceneX : Number = scenex + dir * Math.abs(e.stageX - _mouseDownMouseX) ;
                    Tween.to(this, {scenex:nextSceneX}, diffTs * 10, null, null, 0, true);
                }
            }
            _mouseDownTs = 0;
            _mouseDownMouseX = 0;

            // MODULE_MainCityShop
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容