var lib; var mainContainer; var bg; function stageInitialized(libRef) { lib = libRef; initContent(); } function initContent() { if( createjs.Touch.isSupported() ) createjs.Touch.enable(stage); exportRoot.v2s.alpha = 0; mainContainer = new createjs.Container(); mainContainer.x = mainContainer.y = 0; stage.addChild(mainContainer); bg = new createjs.Shape(); mainContainer.addChild(bg); var listener = stage.on('drawstart', e => { stage.off('drawstart',listener); createjs.Tween.get(exportRoot.v2s).to({alpha:1},300).call( _ => { initSliders(); updateView(); }); },null,true); } function updateView() { exportRoot.v2s.myAnim.gotoAndStop( getSliderVal() ); } //////////////// function initSliders() { sliderWidth = exportRoot.v2s.channel.nominalBounds.width; sliderMinX = exportRoot.v2s.channel.x - sliderWidth/2; sliderMaxX = exportRoot.v2s.channel.x + sliderWidth/2; var options0 = { minVal: sliderMinX, maxVal: sliderMaxX }; setupSlider(exportRoot.v2s.mySlider,null,sliderMoveHandler,sliderUpHandler,options0); updateSlider(); } function updateSlider() { } function sliderMoveHandler(e) { updateSlider(); updateView(); } function sliderUpHandler(e) { updateSlider(); updateView(); } function getSliderVal() { var stepSize = sliderWidth/exportRoot.v2s.myAnim.totalFrames; var dist = exportRoot.v2s.mySlider.x - sliderMinX; var value = Math.floor(dist/stepSize); value = Math.min(exportRoot.v2s.myAnim.totalFrames-1,value); return value; } function enableSliders(enable) { exportRoot.v2s.mySlider.mouseEnabled = enable; } ////// function setupSlider(obj,downHandler,moveHandler,upHandler,options) { obj.mouseChildren = false; var direction = "horizontal"; var minVal = 0; var maxVal = Infinity; var stepSize = 1; if( options ) { if(options.direction !== undefined && options.direction !== null) direction = options.direction; if(options.minVal !== undefined && options.minVal !== null) minVal = options.minVal; if(options.maxVal !== undefined && options.maxVal !== null) maxVal = options.maxVal; if(options.stepSize !== undefined && options.maxVal !== null) stepSize = options.stepSize; } if( obj.dragHandler ) { obj.removeEventListener("mousedown",obj.dragHandler); obj.dragHandler = null; } obj.addEventListener("mousedown",drag); obj.dragHandler = drag; obj.moveHandler = move; obj.dropHandler = drop; function drag(e) { dragObj = e.target; stage.addEventListener("pressmove", move); stage.addEventListener("pressup", drop); if(downHandler) downHandler(e); } function move(e) { if( dragObj && (dragObj.visible && dragObj.alpha == 1)) { if( dragObj ) { var pt = (e.dragPt) ? e.dragPt : dragObj.parent.globalToLocal(e.stageX, e.stageY); if(direction == "horizontal") dragObj.x = Math.min( maxVal,Math.max(minVal,pt.x) ); else dragObj.y = Math.min( maxVal,Math.max(minVal,pt.y) ); } if(moveHandler) moveHandler(e); } } function drop(e) { var dropResponse = null; if( upHandler) dropResponse = upHandler(e); if(dropResponse && dropResponse.remove) dragObj.removeEventListener("mousedown",drag); stage.removeEventListener("pressmove",move); stage.removeEventListener("pressup", drop); dragObj = null; } }