├── LICENSE ├── README.md ├── assets ├── arrow1.png ├── arrow2.png ├── blueBlock.png ├── box.png ├── cancel_paused.png ├── char1.png ├── char2.png ├── char3.png ├── char4.png ├── greenBlock.png ├── pinkBlock.png ├── purpleBlock.png ├── stripe.png └── yellowBlock.png ├── examples ├── core.js ├── core_example1.js ├── example1.html ├── index.html ├── phase-slide.js └── phaser.min.js ├── phase-slide.js └── phase-slider.min.js /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Michael Dobekidis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PhaseSlider 2 | A slider UI component for Phaser.io Javascript library 3 | 4 |

Initialize the slider in your preload function

5 | 6 | ``` 7 | slider = new phaseSlider(game); //make sure to have slider publicly available 8 | ``` 9 | 10 | And then simply construct your slider in the main function of your game or anywhere else 11 | 12 | ``` 13 | slider.createSlider({ 14 | customSliderBG: false, 15 | mode: "horizontal", 16 | sliderBGAlpha: 0.8, 17 | width: 500, 18 | height: 400, 19 | x: game.width / 2 - 500 / 2, 20 | y: game.height / 2 - 400 / 2, 21 | objects:[block1, block2, block3, block4, block5] 22 | }); 23 | ``` 24 | 25 | 26 | 27 | >View examples: 28 | Advanced example | 29 | Simple example 30 | 31 |
32 | 33 | General Options: 34 | 35 | 62 | 63 | API Functions 64 | 65 | 76 | 77 | 78 | *Note: When automatic rotation has started, navigating from the control arrows (next, prev) will stop the auto animation 79 | 80 | 81 |
82 | 83 | >Please let me know if you come across some bug or have something to contribute 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /assets/arrow1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/arrow1.png -------------------------------------------------------------------------------- /assets/arrow2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/arrow2.png -------------------------------------------------------------------------------- /assets/blueBlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/blueBlock.png -------------------------------------------------------------------------------- /assets/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/box.png -------------------------------------------------------------------------------- /assets/cancel_paused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/cancel_paused.png -------------------------------------------------------------------------------- /assets/char1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/char1.png -------------------------------------------------------------------------------- /assets/char2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/char2.png -------------------------------------------------------------------------------- /assets/char3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/char3.png -------------------------------------------------------------------------------- /assets/char4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/char4.png -------------------------------------------------------------------------------- /assets/greenBlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/greenBlock.png -------------------------------------------------------------------------------- /assets/pinkBlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/pinkBlock.png -------------------------------------------------------------------------------- /assets/purpleBlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/purpleBlock.png -------------------------------------------------------------------------------- /assets/stripe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/stripe.png -------------------------------------------------------------------------------- /assets/yellowBlock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/assets/yellowBlock.png -------------------------------------------------------------------------------- /examples/core.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netgfx/PhaseSlider/bb86f00c77316da49f8387be0bd1a30c6cf421c6/examples/core.js -------------------------------------------------------------------------------- /examples/core_example1.js: -------------------------------------------------------------------------------- 1 | // Copyright © 2015 Michael Dobekidis 2 | // Licensed under the terms of the MIT License 3 | var reg = {}; 4 | var GameState = function (game) {}; 5 | var slider; 6 | // Load images and sounds 7 | GameState.prototype.preload = function () { 8 | this.load.image('bg', "http://i221.photobucket.com/albums/dd22/djmid71/bg1_zpsxrhh1f86.jpg"); 9 | this.load.image("block1", "../assets/pinkBlock.png"); 10 | this.load.image("block2", "../assets/blueBlock.png"); 11 | this.load.image("block3", "../assets/greenBlock.png"); 12 | this.load.image("block4", "../assets/yellowBlock.png"); 13 | this.load.image("block5", "../assets/purpleBlock.png"); 14 | 15 | this.load.image("arrow1", "../assets/arrow1.png"); 16 | this.load.image("arrow2", "../assets/arrow2.png"); 17 | this.load.image("accept", "../assets/stripe.png"); 18 | this.load.image("box", "../assets/box.png"); 19 | this.load.image("cancel", "../assets/cancel_paused.png"); 20 | this.load.image("char1", "../assets/char1.png"); 21 | this.load.image("char2", "../assets/char2.png"); 22 | this.load.image("char3", "../assets/char3.png"); 23 | this.load.image("char4", "../assets/char4.png"); 24 | slider = new phaseSlider(game); 25 | }; 26 | 27 | // Setup the example 28 | GameState.prototype.create = function () { 29 | // Set stage background to something sky colored 30 | this.game.stage.backgroundColor = 0xcdcdcd; 31 | this.add.image(0, 0, "bg"); 32 | var char1 = game.add.image(0,0,"char1"); 33 | var char2 = game.add.image(0,0,"char2"); 34 | var char3 = game.add.image(0,0,"char3"); 35 | var char4 = game.add.image(0,0,"char4"); 36 | 37 | var group1 = game.add.group(); 38 | group1.width = 500; 39 | group1.height = 400; 40 | char1.scale.setTo(0.5, 0.5); 41 | char1.x = 500/2 - char1.width/2; 42 | char1.y = 100; 43 | 44 | ////////// 45 | var group2 = game.add.group(); 46 | group2.width = 500; 47 | group2.height = 400; 48 | char2.scale.setTo(0.5, 0.5); 49 | char2.x = 500/2 - char2.width/2; 50 | char2.y = 100; 51 | /////////// 52 | var group3 = game.add.group(); 53 | group3.width = 500; 54 | group3.height = 400; 55 | char3.scale.setTo(0.5, 0.5); 56 | char3.x = 500/2 - char3.width/2; 57 | char3.y = 100; 58 | //////////// 59 | var group4 = game.add.group(); 60 | group4.width = 500; 61 | group4.height = 400; 62 | char4.scale.setTo(0.5, 0.5); 63 | char4.x = 500/2 - char4.width/2; 64 | char4.y = 100; 65 | 66 | 67 | 68 | var block1 = game.add.image(0,0,"block1"); 69 | var block2 = game.add.image(0,0,"block1"); 70 | var block3 = game.add.image(0,0,"block1"); 71 | var block4 = game.add.image(0,0,"block1"); 72 | 73 | group1.add(block1); 74 | group1.add(char1); 75 | ///// 76 | group2.add(block2); 77 | group2.add(char2); 78 | ///// 79 | group3.add(block3); 80 | group3.add(char3); 81 | ///// 82 | group4.add(block4); 83 | group4.add(char4); 84 | 85 | 86 | slider.createSlider({ 87 | customSliderBG: false, 88 | sliderBGAlpha: 0.8, 89 | x: game.width / 2 - 500 / 2, 90 | y: game.height / 2 - 400 / 2, 91 | customHandleNext: "arrow2", 92 | customHandlePrev: "arrow1", 93 | objects:[group1, group2, group3, group4], 94 | onNextCallback: function() { 95 | window.console.log("next"); 96 | }, 97 | onPrevCallback: function(){ 98 | window.console.log("prev") 99 | } 100 | }); 101 | 102 | var btn = game.add.image((game.width/2 - 80/2), (game.height / 2 - 80 / 2)+180, "accept"); 103 | btn.inputEnabled = true; 104 | btn.events.onInputDown.add(function (e, pointer) { 105 | var index = slider.getCurrentIndex(); 106 | var text = game.add.text(0,0,"You selected -> ",{ 107 | fontSize: 22, 108 | fill: "#1e1e1e" 109 | }); 110 | text.updateText(); 111 | 112 | text.x = game.width/2 - text.width/2; 113 | text.y = 80; 114 | 115 | var img = game.add.image(text.x+text.width+10, text.y-30, "char"+(index+1)); 116 | img.scale.setTo(0.2, 0.2); 117 | 118 | },this); 119 | }; 120 | 121 | 122 | 123 | // The update() method is called every frame 124 | GameState.prototype.update = function () { 125 | 126 | }; 127 | 128 | var game = new Phaser.Game(1024, 691, Phaser.CANVAS, 'game'); 129 | game.state.add('game', GameState, true); -------------------------------------------------------------------------------- /examples/example1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | CodePen - Phase-Slide 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /examples/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | CodePen - Phase-Slide 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /examples/phase-slide.js: -------------------------------------------------------------------------------- 1 | /** 2 | * PHASE-SLIDE IS A UI SLIDER FOR PHASER.IO LIBRARY 3 | * 4 | * COPYWRITE-2015 5 | * AUTHOR: MICHAEL DOBEKIDIS (NETGFX.COM) 6 | * 7 | */ 8 | 9 | var phaseSlider = phaseSlider || {}; 10 | 11 | 12 | phaseSlider = function (game) { 13 | 14 | var _this = this; 15 | 16 | game.phaseSlider = _this; 17 | _this.game = game; 18 | _this.locked = false; 19 | _this.slideIndex = 0; 20 | _this.slider_timer = null; 21 | _this.tweenObj = {}; 22 | 23 | var chevron_left = "data:image/png;base64,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"; 24 | 25 | var chevron_right = "data:image/png;base64,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"; 26 | 27 | game.load.image("slider_chevron_left", chevron_left); 28 | game.load.image("slider_chevron_right", chevron_right); 29 | 30 | _this.goToNext = function () { 31 | _this.locked = true; 32 | if (_this.options._mode === "horizontal") { 33 | var finalX = _this.sliderMainGroup.x + (_this.options._width * -1); 34 | 35 | if ((_this.slideIndex >= _this.options._objects.length - 1) && _this.options.autoAnimate === false) { 36 | _this.stopSlider(); 37 | return false; 38 | } 39 | 40 | // animate loop 41 | if (_this.options.autoAnimate === true) { 42 | if (_this.slideIndex >= _this.options._objects.length - 1) { 43 | _this.slideIndex = 0; 44 | _this.sliderMainGroup.x = _this.options._x; 45 | this.locked = false; 46 | return true; 47 | } 48 | } 49 | 50 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 51 | x: finalX 52 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 53 | _this.tweenObj.onComplete.add(function () { 54 | this.locked = false; 55 | this.slideIndex += 1; 56 | if (_this.options.autoAnimate === false && this.slideIndex >= _this.options._objects.length - 1) { 57 | if (_this.options._showHandles === true) { 58 | this.sliderControlsGroup.children[0].alpha = 0; 59 | } 60 | } 61 | 62 | // enable prev 63 | if (_this.options._showHandles === true) { 64 | this.sliderControlsGroup.children[1].alpha = 1; 65 | } 66 | }, _this); 67 | } else { 68 | 69 | var finalY; 70 | if (_this.options._mode === "vertical-from-top") { 71 | finalY = _this.sliderMainGroup.y + (_this.options._height); 72 | } else if (_this.options._mode === "vertical-from-bottom") { 73 | finalY = _this.sliderMainGroup.y + (_this.options._height * -1); 74 | } 75 | 76 | if ((_this.slideIndex >= _this.options._objects.length - 1) && _this.options.autoAnimate === false) { 77 | _this.stopSlider(); 78 | return false; 79 | } 80 | 81 | // animate loop 82 | if (_this.options.autoAnimate === true) { 83 | if (_this.slideIndex >= _this.options._objects.length - 1) { 84 | _this.slideIndex = 0; 85 | _this.sliderMainGroup.y = _this.options._y; 86 | this.locked = false; 87 | return true; 88 | } 89 | } 90 | 91 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 92 | y: finalY 93 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 94 | _this.tweenObj.onComplete.add(function () { 95 | this.locked = false; 96 | this.slideIndex += 1; 97 | 98 | if (_this.options.autoAnimate === false && this.slideIndex >= _this.options._objects.length - 1) { 99 | if (_this.options._showHandles === true) { 100 | this.sliderControlsGroup.children[0].alpha = 0; 101 | } 102 | } 103 | 104 | // enable prev 105 | if (_this.options._showHandles === true) { 106 | this.sliderControlsGroup.children[1].alpha = 1; 107 | } 108 | }, _this); 109 | } 110 | }; 111 | _this.goToPrev = function () { 112 | _this.locked = true; 113 | if (_this.options._mode === "horizontal") { 114 | var finalX = _this.sliderMainGroup.x + (_this.options._width); 115 | 116 | if (_this.slideIndex <= 0 && _this.options.autoAnimate === false) { 117 | _this.stopSlider(); 118 | return false; 119 | } 120 | 121 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 122 | x: finalX 123 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 124 | _this.tweenObj.onComplete.add(function () { 125 | this.locked = false; 126 | this.slideIndex -= 1; 127 | 128 | if (this.slideIndex < 0) { 129 | this.slideIndex = 0; 130 | } 131 | 132 | if (_this.options.infiniteLoop === false && this.slideIndex <= 0) { 133 | // enable prev 134 | if (_this.options._showHandles === true) { 135 | this.sliderControlsGroup.children[1].alpha = 0; 136 | } 137 | } 138 | 139 | // enable next 140 | if (_this.options._showHandles === true) { 141 | this.sliderControlsGroup.children[0].alpha = 1; 142 | } 143 | 144 | }, _this); 145 | } else { 146 | var finalY; 147 | if (_this.options._mode === "vertical-from-top") { 148 | finalY = _this.sliderMainGroup.y + (_this.options._height * -1); 149 | } else if (_this.options._mode === "vertical-from-bottom") { 150 | finalY = _this.sliderMainGroup.y + (_this.options._height); 151 | } 152 | if (_this.slideIndex <= 0 && _this.options.autoAnimate === false) { 153 | _this.stopSlider(); 154 | return false; 155 | } 156 | 157 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 158 | y: finalY 159 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 160 | _this.tweenObj.onComplete.add(function () { 161 | this.locked = false; 162 | this.slideIndex -= 1; 163 | 164 | if (this.slideIndex < 0) { 165 | this.slideIndex = 0; 166 | } 167 | 168 | if (_this.options.autoAnimate === false && this.slideIndex <= 0) { 169 | if (_this.options._showHandles === true) { 170 | this.sliderControlsGroup.children[1].alpha = 0; 171 | } 172 | } 173 | 174 | // enable prev 175 | if (_this.options._showHandles === true) { 176 | this.sliderControlsGroup.children[0].alpha = 1; 177 | } 178 | }, _this); 179 | } 180 | }; 181 | 182 | _this.startSlider = function () { 183 | var _timer = game.time.create(false); 184 | _timer.start(); 185 | _timer.loop(Phaser.Timer.SECOND * _this.options.animationDelay, _this.goToNext, _this); 186 | _this.slider_timer = _timer; 187 | }; 188 | _this.stopSlider = function () { 189 | if (_this.slider_timer !== null) { 190 | _this.slider_timer.stop(true); 191 | _this.slider_timer = null; 192 | } else { 193 | return false; 194 | } 195 | }; 196 | 197 | _this.moveToSlide = function (index, animate) { 198 | var finalX; 199 | if (index >= _this.options._objects.length) { 200 | return false; 201 | } 202 | if (_this.options._mode === "horizontal") { 203 | finalX = (_this.options._x - (_this.options._width * (index))); 204 | if (animate === true) { 205 | 206 | var tweenObj = game.add.tween(_this.sliderMainGroup).to({ 207 | x: finalX 208 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 209 | } else { 210 | _this.sliderMainGroup.x = finalX; 211 | } 212 | } else if (_this.options._mode === "vertical-from-top") { 213 | //TODO: ADD VERTICAL-FROM-TOP 214 | } else if (_this.options._mode === "vertical-from-bottom") { 215 | //TODO: ADD VERTICAL-FROM-BOTTOM 216 | } 217 | }; 218 | ///////////////////////////////////////////////////////////////////////////////////////// 219 | /// 220 | _this.onDragStart = function (sprite, pointer, dragX, dragY) { 221 | _this.dragInit = pointer.x; 222 | _this.lastDrag = pointer.x; 223 | }; 224 | 225 | _this.onDragStop = function (e) { 226 | 227 | }; 228 | _this.dragUpdate = function (sprite, pointer, dragX, dragY) { 229 | 230 | var finalX = dragX; // - _this.options._x; 231 | // going left 232 | if (pointer.x < _this.dragInit) { 233 | var diff = Math.abs(pointer.x) - Math.abs(_this.lastDrag); 234 | // going right 235 | if (diff < 0) { 236 | finalX = _this.sliderMainGroup.x - 1; 237 | } else { 238 | finalX = _this.sliderMainGroup.x + 1; 239 | } 240 | } else { 241 | var diff = Math.abs(pointer.x) - Math.abs(_this.lastDrag); 242 | // going right 243 | if (diff < 0) { 244 | finalX = _this.sliderMainGroup.x - 1; 245 | } else { 246 | finalX = _this.sliderMainGroup.x + 1; 247 | } 248 | } 249 | 250 | if (finalX <= (_this.options._x + (_this.options._width * (_this.options._objects.length - 2))) * -1) { 251 | finalX = (_this.options._x + (_this.options._width * (_this.options._objects.length - 2))) * -1; 252 | } else if (finalX >= _this.options._x) { 253 | finalX = _this.options._x; 254 | } 255 | _this.sliderMainGroup.x = finalX; 256 | _this.lastDrag = pointer.x; 257 | }; 258 | 259 | return { 260 | createSlider: function (options) { 261 | // initialize index 262 | _this.slideIndex = 0; 263 | 264 | _this.options = { 265 | _mode: options.mode || "horizontal", // horizontal, vertical-from-top, vertical-from-bottom 266 | _width: options.width || 500, 267 | _height: options.height || 400, 268 | _animationEffect: options.animationEffect || "slide", // slide, fade, cover 269 | autoAnimate: options.autoAnimate || false, 270 | infiniteLoop: options.infiniteLoop || false, 271 | animationDelay: options.animationDelay || 2, 272 | animationDuration: options.animationDuration || 600, 273 | animationEasing: options.animationEasing || Phaser.Easing.Cubic.Out, //Phaser.Easing.Linear.None, 274 | _x: options.x || 0, 275 | _y: options.y || 0, 276 | _objects: options.objects || [], // can take: single-sprite, single-image, group 277 | sliderBG: options.sliderBG || 0x35d2e0, 278 | customSliderBG: options.customSliderBG || false, 279 | sliderBGAlpha: options.sliderBGAlpha || 1, 280 | _customHandleNext: options.customHandleNext || "", 281 | _customHandlePrev: options.customHandlePrev || "", 282 | _showHandles: options.showHandles == undefined ? true : options.showHandles, 283 | _onNextCallback: options.onNextCallback || false, 284 | _onPrevCallback: options.onPrevCallback || false, 285 | _addModal: options.modal || false, 286 | _modalAlpha: options.modalAlpha || 0.7, 287 | _staticElements: options.staticElements || [] 288 | }; 289 | 290 | ////////////////////////////////////////////////////////////////////////////////////////////// 291 | 292 | var bgRect; 293 | _this._modal = {}; 294 | if(_this.options._addModal === true) { 295 | _this._modal = game.add.graphics(game.width, game.height); 296 | _this._modal.beginFill(0x000000, _this.options._modalAlpha); 297 | _this._modal.x = 0; 298 | _this._modal.y = 0; 299 | _this._modal.inputEnabled = true; 300 | _this._modal.drawRect(0, 0, _this.game.width, _this.game.height); 301 | } 302 | else { 303 | _this._modal = false; 304 | } 305 | 306 | //////// OBJECTS GROUP 307 | /// 308 | _this.sliderBGGroup = _this.game.add.group(); 309 | _this.sliderMainGroup = _this.game.add.group(); 310 | _this.sliderBGGroup.width = _this.options._width; 311 | _this.sliderMainGroup.width = _this.options._width; 312 | if (_this.options._mode === "horizontal") { 313 | _this.sliderMainGroup.width = _this.options._width * _this.options._objects.length; 314 | 315 | // if used as a placeholder don't make the width = 0 316 | if (_this.options._objects.length === 0) { 317 | _this.sliderMainGroup.width = _this.options._width; 318 | } 319 | } else { 320 | _this.sliderMainGroup.height = _this.options._height * _this.options._objects.length; 321 | 322 | // if used as a placeholder don't make the height = 0 323 | if (_this.options._objects.length === 0) { 324 | _this.sliderMainGroup.height = _this.options._height; 325 | } 326 | } 327 | _this.sliderMainGroup.height = _this.options._height; 328 | _this.sliderMainGroup.x = _this.options._x; 329 | _this.sliderMainGroup.y = _this.options._y; 330 | // 331 | _this.sliderBGGroup.height = _this.options._height; 332 | _this.sliderBGGroup.x = _this.options._x; 333 | _this.sliderBGGroup.y = _this.options._y; 334 | 335 | /// DRAG for horizontal 336 | /*var draggableSprite = _this.game.add.sprite(_this.options._x, _this.options._y); 337 | draggableSprite.width = (_this.options._objects.length+5) * _this.options._width; 338 | draggableSprite.height = _this.options._height; 339 | draggableSprite.y = _this.options._y; 340 | draggableSprite.inputEnabled = true; 341 | draggableSprite.input.enableDrag(); 342 | draggableSprite.input.allowVerticalDrag = false; 343 | // draggableSprite.input.enableSnap(_this.options._width, _this.options._height, true, true); 344 | draggableSprite.events.onDragStart.add(_this.onDragStart, _this); 345 | draggableSprite.events.onDragStop.add(_this.onDragStop, _this); 346 | draggableSprite.events.onDragUpdate.add(_this.dragUpdate, _this); 347 | _this._draggableSprite = draggableSprite;*/ 348 | 349 | /////// END OF OBJECTS GROUP 350 | 351 | //////// CONTROLS GROUP 352 | _this.sliderControlsGroup = _this.game.add.group(); 353 | _this.sliderControlsGroup.width = _this.options._width; 354 | _this.sliderControlsGroup.height = _this.options._height; 355 | _this.sliderControlsGroup.x = _this.options._x; 356 | _this.sliderControlsGroup.y = _this.options._y; 357 | 358 | //////// END OF CONTROLS GROUP 359 | 360 | //MASK 361 | var maskGraphics = game.add.graphics(0, 0); 362 | maskGraphics.beginFill(0xffffff); 363 | maskGraphics.drawRect(_this.options._x, _this.options._y, _this.options._width, _this.options._height); 364 | _this.sliderMainGroup.mask = maskGraphics; 365 | 366 | /// create main bg 367 | if (_this.options.customSliderBG === false) { 368 | bgRect = game.add.graphics(_this.options._width, _this.options._height); 369 | bgRect.beginFill(_this.options.sliderBG, _this.options.sliderBGAlpha); 370 | bgRect.x = _this.options._x; 371 | bgRect.y = _this.options._y; 372 | 373 | bgRect.drawRect(0, 0, _this.options._width, _this.options._height); 374 | _this.sliderMainGroup.add(bgRect); 375 | } else { 376 | _this.sliderBGGroup.add(_this.options.customSliderBG); 377 | } 378 | // add controls 379 | if (_this.options._showHandles === true) { 380 | 381 | var chevronRight; 382 | var chevronLeft; 383 | 384 | if (_this.options._customHandleNext === "") { 385 | chevronRight = game.add.image(0, 0, "slider_chevron_right"); 386 | chevronRight.scale.setTo(0.6, 0.6); 387 | } else { 388 | chevronRight = game.add.image(0, 0, _this.options._customHandleNext); 389 | } 390 | chevronRight.x = _this.options._width - (chevronRight.width + 10); //_this.options._x+_this.options._width - (chevronRight.width+10); 391 | chevronRight.y = (_this.options._height / 2) - chevronRight.height / 2; 392 | chevronRight.inputEnabled = true; 393 | chevronRight.events.onInputDown.add(function (e, pointer) { 394 | if (_this.options._onNextCallback) { 395 | _this.options._onNextCallback(); 396 | } 397 | 398 | if (_this.tweenObj.isRunning !== true) { 399 | _this.stopSlider(); 400 | _this.goToNext(); 401 | } 402 | 403 | }, _this); 404 | 405 | 406 | if (_this.options._customHandlePrev === "") { 407 | chevronLeft = game.add.image(0, 0, "slider_chevron_left"); 408 | chevronLeft.scale.setTo(0.6, 0.6); 409 | } else { 410 | chevronLeft = game.add.image(0, 0, _this.options._customHandlePrev); 411 | } 412 | chevronLeft.x = 10; 413 | chevronLeft.y = (_this.options._height / 2) - chevronLeft.height / 2; 414 | chevronLeft.inputEnabled = true; 415 | chevronLeft.events.onInputDown.add(function (e, pointer) { 416 | if (_this.options._onPrevCallback) { 417 | _this.options._onPrevCallback(); 418 | } 419 | 420 | if (_this.tweenObj.isRunning !== true) { 421 | _this.stopSlider(); 422 | _this.goToPrev(); 423 | } 424 | 425 | }, _this); 426 | 427 | 428 | 429 | // if not infinite initialy hide it 430 | if (_this.options.infiniteLoop === false) { 431 | chevronLeft.alpha = 0; 432 | } 433 | } 434 | else { 435 | 436 | } 437 | 438 | 439 | // ADDING THE BLOCKS 440 | if (_this.options._objects.length > 0) { 441 | var objArr = _this.options._objects.slice(0); 442 | var length = Number(objArr.length); 443 | for (var i = 0; i < length; i++) { 444 | var x; 445 | var y; 446 | // mode 447 | if (_this.options._mode === "horizontal") { 448 | objArr[i].x = (_this.options._width * i); 449 | } else if (_this.options._mode === "vertical-from-top") { 450 | objArr[i].y = (_this.options._height * i) * -1; 451 | 452 | } else if (_this.options._mode === "vertical-from-bottom") { 453 | objArr[i].y = (_this.options._height * i); 454 | } 455 | _this.sliderMainGroup.add(objArr[i]); 456 | } 457 | _this.options._objects = _this.sliderMainGroup.children; 458 | //window.console.log(_this.options._objects.length, _this.options._objects, _this.sliderMainGroup.children.length); 459 | } 460 | 461 | 462 | // ADDING STATIC ELEMENTS 463 | if(_this.options._staticElements.length > 0) { 464 | for (var i = 0;i<_this.options._staticElements.length;i++ ) { 465 | game.world.bringToTop(_this.options._staticElements[i]); 466 | _this.sliderBGGroup.add(_this.options._staticElements[i]); 467 | } 468 | } 469 | 470 | 471 | // move the chevrons to top 472 | if (_this.options._showHandles === true) { 473 | _this.sliderControlsGroup.add(chevronRight); 474 | _this.sliderControlsGroup.add(chevronLeft); 475 | } 476 | 477 | //////////// AUTO ANIMATE 478 | if (_this.options.autoAnimate === true) { 479 | _this.startSlider(); 480 | } 481 | 482 | }, 483 | startSlider: function () { 484 | _this.startSlider(); 485 | }, 486 | stopSlider: function () { 487 | _this.startSlider(); 488 | }, 489 | moveToSlide: function (index, animate) { 490 | 491 | _this.moveToSlide(index, animate); 492 | }, 493 | goToNext: function () { 494 | _this.goToNext(); 495 | }, 496 | goToPrev: function () { 497 | _this.goToPrev(); 498 | }, 499 | getCurrentIndex: function () { 500 | return _this.slideIndex; 501 | }, 502 | refreshSlider: function() { 503 | 504 | }, 505 | removeItemAt: function(index) { 506 | _this.sliderMainGroup.removeChildAt(index); 507 | _this.options._objects = _this.sliderMainGroup.children; 508 | }, 509 | hideSlider: function() { 510 | _this.sliderMainGroup.visible = false; 511 | _this.sliderControlsGroup.visible = false; 512 | _this.sliderBGGroup.visible = false; 513 | if(_this._modal) { 514 | _this._modal.visible = false; 515 | } 516 | }, 517 | showSlider: function() { 518 | _this.sliderMainGroup.visible = true; 519 | _this.sliderControlsGroup.visible = true; 520 | _this.sliderBGGroup.visible = true; 521 | if(_this._modal) { 522 | _this._modal.visible = true; 523 | } 524 | } 525 | }; 526 | }; 527 | -------------------------------------------------------------------------------- /phase-slide.js: -------------------------------------------------------------------------------- 1 | /** 2 | * PHASE-SLIDE IS A UI SLIDER FOR PHASER.IO LIBRARY 3 | * 4 | * COPYWRITE-2015 5 | * AUTHOR: MICHAEL DOBEKIDIS (NETGFX.COM) 6 | * 7 | */ 8 | 9 | var phaseSlider = phaseSlider || {}; 10 | 11 | 12 | phaseSlider = function(game) { 13 | 14 | var _this = this; 15 | 16 | game.phaseSlider = _this; 17 | _this.game = game; 18 | _this.locked = false; 19 | _this.slideIndex = 0; 20 | _this.slider_timer = null; 21 | _this.tweenObj = {}; 22 | 23 | var chevron_left = "data:image/png;base64,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"; 24 | 25 | var chevron_right = "data:image/png;base64,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"; 26 | 27 | game.load.image("slider_chevron_left", chevron_left); 28 | game.load.image("slider_chevron_right", chevron_right); 29 | 30 | _this.goToNext = function() { 31 | 32 | if (_this.locked === true) { 33 | return false; 34 | } 35 | 36 | if (_this.options._mode === "horizontal") { 37 | var finalX = _this.sliderMainGroup.x + (_this.options._width * -1); 38 | 39 | if ((_this.slideIndex >= _this.options._objects.length - 1) && _this.options.autoAnimate === false) { 40 | _this.stopSlider(); 41 | return false; 42 | } 43 | 44 | // animate loop 45 | if (_this.options.autoAnimate === true) { 46 | if (_this.slideIndex >= _this.options._objects.length - 1) { 47 | _this.slideIndex = 0; 48 | _this.sliderMainGroup.x = _this.options._x; 49 | this.locked = false; 50 | return true; 51 | } 52 | } 53 | _this.locked = true; 54 | 55 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 56 | x: finalX 57 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 58 | _this.tweenObj.onComplete.add(function() { 59 | this.locked = false; 60 | this.slideIndex += 1; 61 | if (_this.options.autoAnimate === false && this.slideIndex >= _this.options._objects.length - 1) { 62 | if (_this.options._showHandles === true) { 63 | this.sliderControlsGroup.children[0].alpha = 0; 64 | } 65 | } 66 | 67 | // enable prev 68 | if (_this.options._showHandles === true) { 69 | this.sliderControlsGroup.children[1].alpha = 1; 70 | } 71 | }, _this); 72 | } else { 73 | 74 | var finalY; 75 | if (_this.options._mode === "vertical-from-top") { 76 | finalY = _this.sliderMainGroup.y + (_this.options._height); 77 | } else if (_this.options._mode === "vertical-from-bottom") { 78 | finalY = _this.sliderMainGroup.y + (_this.options._height * -1); 79 | } 80 | 81 | if ((_this.slideIndex >= _this.options._objects.length - 1) && _this.options.autoAnimate === false) { 82 | _this.stopSlider(); 83 | return false; 84 | } 85 | 86 | // animate loop 87 | if (_this.options.autoAnimate === true) { 88 | if (_this.slideIndex >= _this.options._objects.length - 1) { 89 | _this.slideIndex = 0; 90 | _this.sliderMainGroup.y = _this.options._y; 91 | this.locked = false; 92 | return true; 93 | } 94 | } 95 | 96 | _this.locked = true; 97 | 98 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 99 | y: finalY 100 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 101 | _this.tweenObj.onComplete.add(function() { 102 | this.locked = false; 103 | this.slideIndex += 1; 104 | 105 | if (_this.options.autoAnimate === false && this.slideIndex >= _this.options._objects.length - 1) { 106 | if (_this.options._showHandles === true) { 107 | this.sliderControlsGroup.children[0].alpha = 0; 108 | } 109 | } 110 | 111 | // enable prev 112 | if (_this.options._showHandles === true) { 113 | this.sliderControlsGroup.children[1].alpha = 1; 114 | } 115 | }, _this); 116 | } 117 | }; 118 | _this.goToPrev = function() { 119 | 120 | if (_this.locked === true) { 121 | return false; 122 | } 123 | 124 | if (_this.options._mode === "horizontal") { 125 | var finalX = _this.sliderMainGroup.x + (_this.options._width); 126 | 127 | if (_this.slideIndex <= 0 && _this.options.autoAnimate === false) { 128 | _this.stopSlider(); 129 | return false; 130 | } 131 | 132 | _this.locked = true; 133 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 134 | x: finalX 135 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 136 | _this.tweenObj.onComplete.add(function() { 137 | this.locked = false; 138 | this.slideIndex -= 1; 139 | 140 | if (this.slideIndex < 0) { 141 | this.slideIndex = 0; 142 | } 143 | 144 | if (_this.options.infiniteLoop === false && this.slideIndex <= 0) { 145 | // enable prev 146 | if (_this.options._showHandles === true) { 147 | this.sliderControlsGroup.children[1].alpha = 0; 148 | } 149 | } 150 | 151 | // enable next 152 | if (_this.options._showHandles === true) { 153 | this.sliderControlsGroup.children[0].alpha = 1; 154 | } 155 | 156 | }, _this); 157 | } else { 158 | var finalY; 159 | if (_this.options._mode === "vertical-from-top") { 160 | finalY = _this.sliderMainGroup.y + (_this.options._height * -1); 161 | } else if (_this.options._mode === "vertical-from-bottom") { 162 | finalY = _this.sliderMainGroup.y + (_this.options._height); 163 | } 164 | if (_this.slideIndex <= 0 && _this.options.autoAnimate === false) { 165 | _this.stopSlider(); 166 | return false; 167 | } 168 | _this.locked = true; 169 | _this.tweenObj = game.add.tween(_this.sliderMainGroup).to({ 170 | y: finalY 171 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 172 | _this.tweenObj.onComplete.add(function() { 173 | this.locked = false; 174 | this.slideIndex -= 1; 175 | 176 | if (this.slideIndex < 0) { 177 | this.slideIndex = 0; 178 | } 179 | 180 | if (_this.options.autoAnimate === false && this.slideIndex <= 0) { 181 | if (_this.options._showHandles === true) { 182 | this.sliderControlsGroup.children[1].alpha = 0; 183 | } 184 | } 185 | 186 | // enable prev 187 | if (_this.options._showHandles === true) { 188 | this.sliderControlsGroup.children[0].alpha = 1; 189 | } 190 | }, _this); 191 | } 192 | }; 193 | 194 | _this.startSlider = function() { 195 | var _timer = game.time.create(false); 196 | _timer.start(); 197 | _timer.loop(Phaser.Timer.SECOND * _this.options.animationDelay, _this.goToNext, _this); 198 | _this.slider_timer = _timer; 199 | }; 200 | _this.stopSlider = function() { 201 | if (_this.slider_timer !== null) { 202 | _this.slider_timer.stop(true); 203 | _this.slider_timer = null; 204 | } else { 205 | return false; 206 | } 207 | }; 208 | 209 | _this.moveToSlide = function(index, animate) { 210 | var finalX; 211 | if (index >= _this.options._objects.length) { 212 | return false; 213 | } 214 | if (_this.options._mode === "horizontal") { 215 | finalX = (_this.options._x - (_this.options._width * (index))); 216 | if (animate === true) { 217 | 218 | var tweenObj = game.add.tween(_this.sliderMainGroup).to({ 219 | x: finalX 220 | }, _this.options.animationDuration, _this.options.animationEasing, true, 0, 0, false); 221 | } else { 222 | _this.sliderMainGroup.x = finalX; 223 | } 224 | } else if (_this.options._mode === "vertical-from-top") { 225 | //TODO: ADD VERTICAL-FROM-TOP 226 | } else if (_this.options._mode === "vertical-from-bottom") { 227 | //TODO: ADD VERTICAL-FROM-BOTTOM 228 | } 229 | }; 230 | ///////////////////////////////////////////////////////////////////////////////////////// 231 | /// 232 | _this.onDragStart = function(sprite, pointer, dragX, dragY) { 233 | _this.dragInit = pointer.x; 234 | _this.lastDrag = pointer.x; 235 | }; 236 | 237 | _this.onDragStop = function(e) { 238 | 239 | }; 240 | _this.dragUpdate = function(sprite, pointer, dragX, dragY) { 241 | 242 | var finalX = dragX; // - _this.options._x; 243 | // going left 244 | if (pointer.x < _this.dragInit) { 245 | var diff = Math.abs(pointer.x) - Math.abs(_this.lastDrag); 246 | // going right 247 | if (diff < 0) { 248 | finalX = _this.sliderMainGroup.x - 1; 249 | } else { 250 | finalX = _this.sliderMainGroup.x + 1; 251 | } 252 | } else { 253 | var diff = Math.abs(pointer.x) - Math.abs(_this.lastDrag); 254 | // going right 255 | if (diff < 0) { 256 | finalX = _this.sliderMainGroup.x - 1; 257 | } else { 258 | finalX = _this.sliderMainGroup.x + 1; 259 | } 260 | } 261 | 262 | if (finalX <= (_this.options._x + (_this.options._width * (_this.options._objects.length - 2))) * -1) { 263 | finalX = (_this.options._x + (_this.options._width * (_this.options._objects.length - 2))) * -1; 264 | } else if (finalX >= _this.options._x) { 265 | finalX = _this.options._x; 266 | } 267 | _this.sliderMainGroup.x = finalX; 268 | _this.lastDrag = pointer.x; 269 | }; 270 | 271 | return { 272 | createSlider: function(options) { 273 | // initialize index 274 | _this.slideIndex = 0; 275 | 276 | _this.options = { 277 | _mode: options.mode || "horizontal", // horizontal, vertical-from-top, vertical-from-bottom 278 | _width: options.width || 500, 279 | _height: options.height || 400, 280 | _animationEffect: options.animationEffect || "slide", // slide, fade, cover 281 | autoAnimate: options.autoAnimate || false, 282 | infiniteLoop: options.infiniteLoop || false, 283 | animationDelay: options.animationDelay || 2, 284 | animationDuration: options.animationDuration || 600, 285 | animationEasing: options.animationEasing || Phaser.Easing.Cubic.Out, //Phaser.Easing.Linear.None, 286 | _x: options.x || 0, 287 | _y: options.y || 0, 288 | _objects: options.objects || [], // can take: single-sprite, single-image, group 289 | sliderBG: options.sliderBG || 0x35d2e0, 290 | customSliderBG: options.customSliderBG || false, 291 | sliderBGAlpha: options.sliderBGAlpha || 1, 292 | _customHandleNext: options.customHandleNext || "", 293 | _customHandlePrev: options.customHandlePrev || "", 294 | _showHandles: options.showHandles == undefined ? true : options.showHandles, 295 | _onPreNextCallback: options.onPreNextCallback || false, 296 | _onPrePrevCallback: options.onPrePrevCallback || false, 297 | _onAfterNextCallback: options.onAfterNextCallback || false, 298 | _onAfterPrevCallback: options.onAfterPreCallback || false, 299 | _addModal: options.modal || false, 300 | _modalAlpha: options.modalAlpha || 0.7, 301 | _staticElements: options.staticElements || [] 302 | }; 303 | 304 | ////////////////////////////////////////////////////////////////////////////////////////////// 305 | 306 | var bgRect; 307 | _this._modal = {}; 308 | if (_this.options._addModal === true) { 309 | _this._modal = game.add.graphics(game.width, game.height); 310 | _this._modal.beginFill(0x000000, _this.options._modalAlpha); 311 | _this._modal.x = 0; 312 | _this._modal.y = 0; 313 | _this._modal.inputEnabled = true; 314 | _this._modal.drawRect(0, 0, _this.game.width, _this.game.height); 315 | } else { 316 | _this._modal = false; 317 | } 318 | 319 | //////// OBJECTS GROUP 320 | /// 321 | _this.sliderBGGroup = _this.game.add.group(); 322 | _this.sliderMainGroup = _this.game.add.group(); 323 | _this.sliderBGGroup.width = _this.options._width; 324 | _this.sliderMainGroup.width = _this.options._width; 325 | if (_this.options._mode === "horizontal") { 326 | _this.sliderMainGroup.width = _this.options._width * _this.options._objects.length; 327 | 328 | // if used as a placeholder don't make the width = 0 329 | if (_this.options._objects.length === 0) { 330 | _this.sliderMainGroup.width = _this.options._width; 331 | } 332 | } else { 333 | _this.sliderMainGroup.height = _this.options._height * _this.options._objects.length; 334 | 335 | // if used as a placeholder don't make the height = 0 336 | if (_this.options._objects.length === 0) { 337 | _this.sliderMainGroup.height = _this.options._height; 338 | } 339 | } 340 | _this.sliderMainGroup.height = _this.options._height; 341 | _this.sliderMainGroup.x = _this.options._x; 342 | _this.sliderMainGroup.y = _this.options._y; 343 | // 344 | _this.sliderBGGroup.height = _this.options._height; 345 | _this.sliderBGGroup.x = _this.options._x; 346 | _this.sliderBGGroup.y = _this.options._y; 347 | 348 | /// DRAG for horizontal 349 | /*var draggableSprite = _this.game.add.sprite(_this.options._x, _this.options._y); 350 | draggableSprite.width = (_this.options._objects.length+5) * _this.options._width; 351 | draggableSprite.height = _this.options._height; 352 | draggableSprite.y = _this.options._y; 353 | draggableSprite.inputEnabled = true; 354 | draggableSprite.input.enableDrag(); 355 | draggableSprite.input.allowVerticalDrag = false; 356 | // draggableSprite.input.enableSnap(_this.options._width, _this.options._height, true, true); 357 | draggableSprite.events.onDragStart.add(_this.onDragStart, _this); 358 | draggableSprite.events.onDragStop.add(_this.onDragStop, _this); 359 | draggableSprite.events.onDragUpdate.add(_this.dragUpdate, _this); 360 | _this._draggableSprite = draggableSprite;*/ 361 | 362 | /////// END OF OBJECTS GROUP 363 | 364 | //////// CONTROLS GROUP 365 | _this.sliderControlsGroup = _this.game.add.group(); 366 | _this.sliderControlsGroup.width = _this.options._width; 367 | _this.sliderControlsGroup.height = _this.options._height; 368 | _this.sliderControlsGroup.x = _this.options._x; 369 | _this.sliderControlsGroup.y = _this.options._y; 370 | 371 | //////// END OF CONTROLS GROUP 372 | 373 | //MASK 374 | var maskGraphics = game.add.graphics(0, 0); 375 | maskGraphics.beginFill(0xffffff); 376 | maskGraphics.drawRect(_this.options._x, _this.options._y, _this.options._width, _this.options._height); 377 | _this.sliderMainGroup.mask = maskGraphics; 378 | 379 | /// create main bg 380 | if (_this.options.customSliderBG === false) { 381 | bgRect = game.add.graphics(_this.options._width, _this.options._height); 382 | bgRect.beginFill(_this.options.sliderBG, _this.options.sliderBGAlpha); 383 | bgRect.x = _this.options._x; 384 | bgRect.y = _this.options._y; 385 | 386 | bgRect.drawRect(0, 0, _this.options._width, _this.options._height); 387 | _this.sliderMainGroup.add(bgRect); 388 | } else { 389 | _this.sliderBGGroup.add(_this.options.customSliderBG); 390 | } 391 | // add controls 392 | if (_this.options._showHandles === true) { 393 | 394 | var chevronRight; 395 | var chevronLeft; 396 | 397 | if (_this.options._customHandleNext === "") { 398 | chevronRight = game.add.image(0, 0, "slider_chevron_right"); 399 | chevronRight.scale.setTo(0.6, 0.6); 400 | } else { 401 | chevronRight = game.add.image(0, 0, _this.options._customHandleNext); 402 | } 403 | chevronRight.x = _this.options._width - (chevronRight.width + 10); //_this.options._x+_this.options._width - (chevronRight.width+10); 404 | chevronRight.y = (_this.options._height / 2) - chevronRight.height / 2; 405 | chevronRight.inputEnabled = true; 406 | chevronRight.events.onInputDown.add(function(e, pointer) { 407 | if (_this.options._onPreNextCallback) { 408 | _this.options._onPreNextCallback(); 409 | } 410 | 411 | if (_this.tweenObj.isRunning !== true) { 412 | _this.stopSlider(); 413 | _this.goToNext(); 414 | } 415 | 416 | if (_this.options._onAfterNextCallback) { 417 | _this.options._onAfterNextCallback(); 418 | } 419 | 420 | }, _this); 421 | 422 | 423 | if (_this.options._customHandlePrev === "") { 424 | chevronLeft = game.add.image(0, 0, "slider_chevron_left"); 425 | chevronLeft.scale.setTo(0.6, 0.6); 426 | } else { 427 | chevronLeft = game.add.image(0, 0, _this.options._customHandlePrev); 428 | } 429 | chevronLeft.x = 10; 430 | chevronLeft.y = (_this.options._height / 2) - chevronLeft.height / 2; 431 | chevronLeft.inputEnabled = true; 432 | chevronLeft.events.onInputDown.add(function(e, pointer) { 433 | if (_this.options._onPrePrevCallback) { 434 | _this.options._onPrePrevCallback(); 435 | } 436 | 437 | if (_this.tweenObj.isRunning !== true) { 438 | _this.stopSlider(); 439 | _this.goToPrev(); 440 | } 441 | 442 | if (_this.options._onAfterPrevCallback) { 443 | _this.options._onAfterPrevCallback(); 444 | } 445 | 446 | }, _this); 447 | 448 | 449 | 450 | // if not infinite initialy hide it 451 | if (_this.options.infiniteLoop === false) { 452 | chevronLeft.alpha = 0; 453 | } 454 | } else { 455 | 456 | } 457 | 458 | 459 | // ADDING THE BLOCKS 460 | if (_this.options._objects.length > 0) { 461 | var objArr = _this.options._objects.slice(0); 462 | var length = Number(objArr.length); 463 | for (var i = 0; i < length; i++) { 464 | var x; 465 | var y; 466 | // mode 467 | if (_this.options._mode === "horizontal") { 468 | objArr[i].x = (_this.options._width * i); 469 | } else if (_this.options._mode === "vertical-from-top") { 470 | objArr[i].y = (_this.options._height * i) * -1; 471 | 472 | } else if (_this.options._mode === "vertical-from-bottom") { 473 | objArr[i].y = (_this.options._height * i); 474 | } 475 | _this.sliderMainGroup.add(objArr[i]); 476 | } 477 | _this.options._objects = _this.sliderMainGroup.children; 478 | //window.console.log(_this.options._objects.length, _this.options._objects, _this.sliderMainGroup.children.length); 479 | } 480 | 481 | 482 | // ADDING STATIC ELEMENTS 483 | if (_this.options._staticElements.length > 0) { 484 | for (var i = 0; i < _this.options._staticElements.length; i++) { 485 | game.world.bringToTop(_this.options._staticElements[i]); 486 | _this.sliderBGGroup.add(_this.options._staticElements[i]); 487 | } 488 | } 489 | 490 | 491 | // move the chevrons to top 492 | if (_this.options._showHandles === true) { 493 | _this.sliderControlsGroup.add(chevronRight); 494 | _this.sliderControlsGroup.add(chevronLeft); 495 | } 496 | 497 | //////////// AUTO ANIMATE 498 | if (_this.options.autoAnimate === true) { 499 | _this.startSlider(); 500 | } 501 | 502 | }, 503 | startSlider: function() { 504 | _this.startSlider(); 505 | }, 506 | stopSlider: function() { 507 | _this.startSlider(); 508 | }, 509 | moveToSlide: function(index, animate) { 510 | 511 | _this.moveToSlide(index, animate); 512 | }, 513 | goToNext: function() { 514 | _this.goToNext(); 515 | }, 516 | goToPrev: function() { 517 | _this.goToPrev(); 518 | }, 519 | getCurrentIndex: function() { 520 | return _this.slideIndex; 521 | }, 522 | refreshSlider: function() { 523 | 524 | }, 525 | removeItemAt: function(index) { 526 | _this.sliderMainGroup.removeChildAt(index); 527 | _this.options._objects = _this.sliderMainGroup.children; 528 | }, 529 | hideSlider: function() { 530 | _this.sliderMainGroup.visible = false; 531 | _this.sliderControlsGroup.visible = false; 532 | _this.sliderBGGroup.visible = false; 533 | if (_this._modal) { 534 | _this._modal.visible = false; 535 | } 536 | }, 537 | showSlider: function() { 538 | _this.sliderMainGroup.visible = true; 539 | _this.sliderControlsGroup.visible = true; 540 | _this.sliderBGGroup.visible = true; 541 | if (_this._modal) { 542 | _this._modal.visible = true; 543 | } 544 | } 545 | }; 546 | }; 547 | -------------------------------------------------------------------------------- /phase-slider.min.js: -------------------------------------------------------------------------------- 1 | var phaseSlider=phaseSlider||{};phaseSlider=function(o){var i=this;o.phaseSlider=i,i.game=o,i.locked=!1,i.slideIndex=0,i.slider_timer=null,i.tweenObj={};var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAACACAYAAACP+K52AAAOOUlEQVR4Xu2dBZQlRxWGE9zdEmwWh+CwBCfBQnB3wuDuHgLs4u6acGBxJ0GCwyFYFgsECc6ZAAkWEg4WCPp/c14PPW/nvb5/dVW/em/3nnPP7Ozcqq76u7q6rvbuu+2iogjsXrT3XZ3vtrMBfFbd8yuJLym+gPgsYjD4q/h34p+KjxafmGtt7AwAX1pg3V18S/GVxacKgHeMZD4mfrf4mwH5iSKLDPCNNesDxfv2AWgE8Av08/3i/7p9LSLAFxcIrxHv54LRIf91/f0h7opeNIDvJwBeKT5TZnCb7v6lf2wVPye6mhcFYPZVgH1YIWDHuz1M/8G+fnLX9RYB4NNqkm8T36Vrspn//kX1x4vzT9P6nXeAz6DJvW800cz4hbr7hqRuJv7DJOl5BvjMmtSHxTcMQVFO6PvqmhPLbza6xLwCfHZNhnPqtXvg9h+1PUnMz3OJT92jLxSUG4l/Md7HPAJ8Hk3iU+KrJADyK7V5k/hwMRrbP0Z9nEY/9xo97vfVz0sl9P1ztbnO+EqeN4D31AQ+Lb6cCcDfJH+Q+NXif3a05URygPglo5XtXIo9+XrivzeN5gngJQ36M2IUCYd+KeH9xeyVDl1EwmxDrGyHuImPmDeAsScA7oWcmUr2J2JeQDvsjcF+2Js/Id4clEcMdfoGYo5xc2FNu6LGybZwPmOSiH5PfBPxhm93oy8scB8ZgRZtdpQErw7YtW8R1xitoHNGZzaSwwKGLWLi+dTs74yS/4CYrSZKt+bG1AwwjxkrhxXk0JckfAvxVA3L6XAki8YIyLcKtuWks1+tALNSmAwrxyG2ktuKOTWUIMbzNfHlA51zvt6zRoBvr4G9S3y6wCTaIh/SL9gjmrOt2Twsvrcktwell2sD+F4a+JvFrlbFDeHsijlxCPq4LoINoosOqQlgjNkYyt0xvVFtHiTmkRyKMFW+I3Cx7e5kAn0miTxBrV6Y0PIVavMYse3KSbhWu8mF9UvkbH18DQA/U4N9WsKE8Sqg/s6KTtGFOVlMo5NnDTD6/mMTEHqy2uCInCXh6u9yTZ0yK4AxqLxe/AATIbYC9Hz26lkS8RR/DgzgxFkAjGnwLWJeFA79W8L3F29zGhWSvb76PSLQ9zFDA3x6DYpgDpQBhzAx3kOMe6gGerEG8bjAQA4dEmD2q0PFNw0MrC2CbfWOYozkNdDZNIgVccQ+cuBQADOoj4oxRjv0FwnfRvw5p1FhWey90fCAzUMAjE31k2LMdw79UcI3Fx/pNCosG1UwGAarfFNpgIlgxAATMY60sTlBv7CVfKswYE73d5bw28VdZ9+mT872zy4JMC4XvBCEijp0vITxQvzAaVRY9j7qH5U8EpnJUDCVbhIXO6ZdQp1/VgzIDq1IGPc3HtpaiHM3KrmzGInqfB4TcBpFJ8x2wLbA9uDQjyTMysW1Xgs9RQN5rjkYnKtXFaNKZwf4auqTF9q5zUF9R/L4z4gyr4UAFoAdIhjwmmLms0o5V/B11R9nVY5kDuEhwLZKlE0NBCYvFz/SHAxq/F3F7223ywUwq4+Qzi7jx/iYUTfxcUX0enO+SeK8xHiZ8VJzCHCxZ79hvFEOgFEE3iNGDXYIr8AdxJ0xtk6nPWRTw2CxkWC0whOzA/UFmIM3hhsMOA59UMJ3E6++CCogFgd2jqjHuBkyNpJ7itdtC+359AGYu4bJMXo2bK5LsDSPIHe+BiIMFocpx0OHsJHcSYwJYCKlAvxo9fgyZzQjWW7IQ8VDu3gmDTU1DBZjO4ElnTaSFIBRAXHzuISJD99bLZQaBmvZSFyAcUymgLRF7bbWgqzGkRoGa9tIogAjh5uGo4hLGKZf6jYqKH9R9Y0a74bBJtlIIgATBEJUOIEdDhGnwH67w9nQ6SSzLJHrgOuGwa6oTZKNpAtgwpfeKea86hAnhGUx5r1aiDBYAvLObw6ol41kGsApIZuMnbMtKiPuoVooNQy2t41kEsC4pQkd3cdECK3sdmIMPrVQahjsVzUBojx72Ug2Ahh7AgBhvHEIewKZj19wGhWWxYiE1uiGwWIjYS74BHvROMD8zqONfcEh7jKTwTJWC6WGwWa1kYwD/CSh83wTIWy4WNPWbKBm+xLiqWGw2W0kbYDJPcPJ6AQ+433g+PLjEigl9vlgtXutuOuENN79W/UfJCFmtZG0B8G+6wSF/EzyuHhWEoEo0ezx6vRFCR2/Tm2IdchuI2kAJuf3y8bA8PgCLtpNLYQq/vSEwXBDnpjQLtSkAZh4sWi9hW9Llj0XvbwWSg2DfYYmkGK4Cs8bgPGh8aKKeCRISyVCpxbnJLZoHu8Hhmf8f8FBbCQAjNF4okV+bOAk96Fu1kB4UbaJibp0CBsJL8JDnEapsgD8KvHDAx2gQKAV1UCcdPADumGwZCHdW4x9ZRACYJKWI1obA+MoM2tCK0MZcst2kT+HjQTv92AEwMeJMUB3EZk1s466Ia0WHxgR5g6R+YmNZPDtDYC5s13KBUYcN+bBASAim1JagH4JxMOusFpeYGgC4Mjhmqx1fFizImy4xLtdwRwART7ZSqhEMhOaF4CJdePxJqjOIQDGCEVZxJlQdIsgBsA1+eWeEC52Yt8oPOQQZlTKG8xsi4i+5JY0yGOdmRWQTQ0S4SWH+XJwR4BzTKPwJs7PWVNqmNNMXFkATFHNtSpJU9AjGaVPIbicNwYtjhAszrUOoWgsiyOZ8k6/E2UBGI8xxYcjtFqHJiI4gAx2iIPFPFkODRpOAMA4OH8vptBmF/1aAhh7ajFTMn5i5B7VNfAN/o7tGCtcUWrMlTwy0dxh6pvjxehbLivnxChtQOKJS9iQt7iNHPkGYOIGcFNHqW/Bt+h1HDlKHKxm9pjEKmY1F6G2y4i9FZUySlT8YCVTebQWwirIS9v1xxHeRZhX9rI07YGQMIhnOLIXN4CyTeA6cutClrwhy+qcPAu3sBLbJG2zFlYav9MpgdXYKdD3e31vIjPiOBEALJr22lweUyaus2ypDRs9Shiyyct1CIsViduO49TpP0UW9Zjjp/NEch20PUybWZJzNgIYTYnoln3NWaGOEhFEfnItRPlx8i84ijoUKoAf6XDSyyC1eAa2ZVY/tdVroWtpINQBPoc5IEycbH29vms07W2bWv6FlwTB2lTjq4X4hhHmzvOaA/qu5AlR+K3Zbk286zjTx3NLNT7e5rXQZTUQtq+Ie6w95l5n/i6AuVCfElxU5aMUQC10MQ2EFIIlc0DJZ/4IwM1YSGQBMJdWK3+4jQrKk5/BSqZsuUNJZ34HYAaTWgaRKn2osrUQ5crZk/l4n0P2md8FmMGkFvIkDQy7c8TJ6kw6VZayXBxHqQfsEGd+zthU2u6kFIDpNLUU7Ta1pXpf1hjczllOFkjNReHMT1QRnu6plAownXIUw4Xk6vxktRNP1vXBkK6x5/p7ajYVZ37UahSZidQHYDrFG0KcV1fgyvgA8A5TzW/tiym50ErsJzUfsDPWrS/AzCe1oD2Z6qjWvTN5EkEdb9Yno3VitGYOgBnoPmLsya7OjyMVIxEZ7DUQeFA6EduwS7zAabuOcgFMp7yNeStHima2B0HiDbkhNUXMc6x00wo4HZHdtM5jnRNgQONcyfnS/SxOjTkfKXUxeKcQ2rBWEjI3wICMhoQ6ekHzGaPaHy6oFbNdSXE0V7cUww/Vhm/drb7ASwBMv5vEqKPo/g4Rf4wLigz3WiilNhHZTs8qCTB9Y7UCZKxYDtWYOUqFLKL7o9W1OBmxyE4otYIbQLG/4oJxPw9ZY+4zR0qShaJn/tUUsdIAAzSeBDwKeBYcIuyUOmZHOI0Ky6JYoYlGcMPEuRQRzDFmzse4kVw/H45Hwk75KmEt5Jht9x4KYMDBu4uXF0uUQ7jQ2QPJhK+BWCwr4kiF2YOGBBhwiFPgIE7cgkO11QCKljc7bGiAARWdH1/dsoOwZCdWODX7ySFOXmEkJWHwD5U0k+PGkmEa/VxCG5RBwk477gKpDBEj1UmzWMHtsRMNmeJK2qp2W3IsxR59VP2xqPa8nqpfUpyiRcNOO4BnYfLy7VI8Zv65s2YeRKgTqe4+UcXCTjsA5usKxwZW/3HuhAJ9JouQa0HOhVuPmOqCy+Ih/XyYJSOJ8UfWBDB3hqwhsoe6Hr3xu0j2PW2zhZ12LBNMsoRUddHBtQHMgMlkQuePVGBpTzBr2OkU5Mg0DbnsJXdAjQAzN0yWBENzHHKIoiGkQZT6qgFaHHnPlwkMii1rj1oBZvysFLzP5Cg7VOq7HDxRuOijhUCwn+xfM8CASnY9+11E72/fhN5VU8fuKE8STxRPVpR4kg6vHWAms5eYCJo9ojMbyVGNEBdU3yotKYX02UZIjbPPneYcs4n3+boXq44qhSmUUkgfmwnb2+qHBudhBTfAUDMIZ6r7fTrSf3lcjzIRxp/IOyDyQmt3zXeQ1sJ85wlgJpH6hUXiyAi9xVjeFa6FtY8ARWIj3BfsdrWh9NnaeXzeAAbk1OJItMWhuk2MC4vYBUJRIV5i1APihLAsXmovyeC/STXAjLmuKuI8Asx8Ke/F4+t+5XYcK8JQ2TPd8/Z4P7xQSRmjesw6mleAmURqqllwQYbFph4J5xlgEEgtsRhGr0Ows5D+vAPM/FNTzfqC/Hl1QFjBVM/GIgAMUMwDA3xKFlQK0MRGYLLkdDKVFgXgZpJMmmQbXoIliOMXUZdUzQ4l8ywawIDKx6AoyoHZMydhosRJa31tYREBbkDlCEcdH862feb5FbXn0xdJ1bb6XDjn6ijZFyov3g7U5c3iLm8JZWWOFqOMUDuDhPBk2hkAboNDyhYaG/YMrHMY0MEAFzwZ9dQfAtBGw0sGtmm4swHcGzC3g10Au4iZ8v8DJ5N5L8TCTU0AAAAASUVORK5CYII=",e="data:image/png;base64,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";return o.load.image("slider_chevron_left",t),o.load.image("slider_chevron_right",e),i.goToNext=function(){if(i.locked=!0,"horizontal"===i.options._mode){var t=i.sliderMainGroup.x+-1*i.options._width;if(i.slideIndex>=i.options._objects.length-1&&i.options.autoAnimate===!1)return i.stopSlider(),!1;if(i.options.autoAnimate===!0&&i.slideIndex>=i.options._objects.length-1)return i.slideIndex=0,i.sliderMainGroup.x=i.options._x,this.locked=!1,!0;i.tweenObj=o.add.tween(i.sliderMainGroup).to({x:t},i.options.animationDuration,i.options.animationEasing,!0,0,0,!1),i.tweenObj.onComplete.add(function(){this.locked=!1,this.slideIndex+=1,i.options.autoAnimate===!1&&this.slideIndex>=i.options._objects.length-1&&i.options._showHandles===!0&&(this.sliderControlsGroup.children[0].alpha=0),i.options._showHandles===!0&&(this.sliderControlsGroup.children[1].alpha=1)},i)}else{var e;if("vertical-from-top"===i.options._mode?e=i.sliderMainGroup.y+i.options._height:"vertical-from-bottom"===i.options._mode&&(e=i.sliderMainGroup.y+-1*i.options._height),i.slideIndex>=i.options._objects.length-1&&i.options.autoAnimate===!1)return i.stopSlider(),!1;if(i.options.autoAnimate===!0&&i.slideIndex>=i.options._objects.length-1)return i.slideIndex=0,i.sliderMainGroup.y=i.options._y,this.locked=!1,!0;i.tweenObj=o.add.tween(i.sliderMainGroup).to({y:e},i.options.animationDuration,i.options.animationEasing,!0,0,0,!1),i.tweenObj.onComplete.add(function(){this.locked=!1,this.slideIndex+=1,i.options.autoAnimate===!1&&this.slideIndex>=i.options._objects.length-1&&i.options._showHandles===!0&&(this.sliderControlsGroup.children[0].alpha=0),i.options._showHandles===!0&&(this.sliderControlsGroup.children[1].alpha=1)},i)}},i.goToPrev=function(){if(i.locked=!0,"horizontal"===i.options._mode){var t=i.sliderMainGroup.x+i.options._width;if(i.slideIndex<=0&&i.options.autoAnimate===!1)return i.stopSlider(),!1;i.tweenObj=o.add.tween(i.sliderMainGroup).to({x:t},i.options.animationDuration,i.options.animationEasing,!0,0,0,!1),i.tweenObj.onComplete.add(function(){this.locked=!1,this.slideIndex-=1,this.slideIndex<0&&(this.slideIndex=0),i.options.infiniteLoop===!1&&this.slideIndex<=0&&i.options._showHandles===!0&&(this.sliderControlsGroup.children[1].alpha=0),i.options._showHandles===!0&&(this.sliderControlsGroup.children[0].alpha=1)},i)}else{var e;if("vertical-from-top"===i.options._mode?e=i.sliderMainGroup.y+-1*i.options._height:"vertical-from-bottom"===i.options._mode&&(e=i.sliderMainGroup.y+i.options._height),i.slideIndex<=0&&i.options.autoAnimate===!1)return i.stopSlider(),!1;i.tweenObj=o.add.tween(i.sliderMainGroup).to({y:e},i.options.animationDuration,i.options.animationEasing,!0,0,0,!1),i.tweenObj.onComplete.add(function(){this.locked=!1,this.slideIndex-=1,this.slideIndex<0&&(this.slideIndex=0),i.options.autoAnimate===!1&&this.slideIndex<=0&&i.options._showHandles===!0&&(this.sliderControlsGroup.children[1].alpha=0),i.options._showHandles===!0&&(this.sliderControlsGroup.children[0].alpha=1)},i)}},i.startSlider=function(){var t=o.time.create(!1);t.start(),t.loop(Phaser.Timer.SECOND*i.options.animationDelay,i.goToNext,i),i.slider_timer=t},i.stopSlider=function(){return null===i.slider_timer?!1:(i.slider_timer.stop(!0),void(i.slider_timer=null))},i.moveToSlide=function(t,e){var n;if(t>=i.options._objects.length)return!1;if("horizontal"===i.options._mode)if(n=i.options._x-i.options._width*t,e===!0){o.add.tween(i.sliderMainGroup).to({x:n},i.options.animationDuration,i.options.animationEasing,!0,0,0,!1)}else i.sliderMainGroup.x=n;else"vertical-from-top"===i.options._mode||"vertical-from-bottom"===i.options._mode},i.onDragStart=function(o,t,e,n){i.dragInit=t.x,i.lastDrag=t.x},i.onDragStop=function(o){},i.dragUpdate=function(o,t,e,n){var s=e;if(t.xa?i.sliderMainGroup.x-1:i.sliderMainGroup.x+1}else{var a=Math.abs(t.x)-Math.abs(i.lastDrag);s=0>a?i.sliderMainGroup.x-1:i.sliderMainGroup.x+1}s<=-1*(i.options._x+i.options._width*(i.options._objects.length-2))?s=-1*(i.options._x+i.options._width*(i.options._objects.length-2)):s>=i.options._x&&(s=i.options._x),i.sliderMainGroup.x=s,i.lastDrag=t.x},{createSlider:function(t){i.slideIndex=0,i.options={_mode:t.mode||"horizontal",_width:t.width||500,_height:t.height||400,_animationEffect:t.animationEffect||"slide",autoAnimate:t.autoAnimate||!1,infiniteLoop:t.infiniteLoop||!1,animationDelay:t.animationDelay||2,animationDuration:t.animationDuration||600,animationEasing:t.animationEasing||Phaser.Easing.Cubic.Out,_x:t.x||0,_y:t.y||0,_objects:t.objects||[],sliderBG:t.sliderBG||3527392,customSliderBG:t.customSliderBG||!1,sliderBGAlpha:t.sliderBGAlpha||1,_customHandleNext:t.customHandleNext||"",_customHandlePrev:t.customHandlePrev||"",_showHandles:void 0==t.showHandles?!0:t.showHandles,_onNextCallback:t.onNextCallback||!1,_onPrevCallback:t.onPrevCallback||!1,_addModal:t.modal||!1,_modalAlpha:t.modalAlpha||.7,_staticElements:t.staticElements||[]};var e;i._modal={},i.options._addModal===!0?(i._modal=o.add.graphics(o.width,o.height),i._modal.beginFill(0,i.options._modalAlpha),i._modal.x=0,i._modal.y=0,i._modal.inputEnabled=!0,i._modal.drawRect(0,0,i.game.width,i.game.height)):i._modal=!1,i.sliderBGGroup=i.game.add.group(),i.sliderMainGroup=i.game.add.group(),i.sliderBGGroup.width=i.options._width,i.sliderMainGroup.width=i.options._width,"horizontal"===i.options._mode?(i.sliderMainGroup.width=i.options._width*i.options._objects.length,0===i.options._objects.length&&(i.sliderMainGroup.width=i.options._width)):(i.sliderMainGroup.height=i.options._height*i.options._objects.length,0===i.options._objects.length&&(i.sliderMainGroup.height=i.options._height)),i.sliderMainGroup.height=i.options._height,i.sliderMainGroup.x=i.options._x,i.sliderMainGroup.y=i.options._y,i.sliderBGGroup.height=i.options._height,i.sliderBGGroup.x=i.options._x,i.sliderBGGroup.y=i.options._y,i.sliderControlsGroup=i.game.add.group(),i.sliderControlsGroup.width=i.options._width,i.sliderControlsGroup.height=i.options._height,i.sliderControlsGroup.x=i.options._x,i.sliderControlsGroup.y=i.options._y;var n=o.add.graphics(0,0);if(n.beginFill(16777215),n.drawRect(i.options._x,i.options._y,i.options._width,i.options._height),i.sliderMainGroup.mask=n,i.options.customSliderBG===!1?(e=o.add.graphics(i.options._width,i.options._height),e.beginFill(i.options.sliderBG,i.options.sliderBGAlpha),e.x=i.options._x,e.y=i.options._y,e.drawRect(0,0,i.options._width,i.options._height),i.sliderMainGroup.add(e)):i.sliderBGGroup.add(i.options.customSliderBG),i.options._showHandles===!0){var s,a;""===i.options._customHandleNext?(s=o.add.image(0,0,"slider_chevron_right"),s.scale.setTo(.6,.6)):s=o.add.image(0,0,i.options._customHandleNext),s.x=i.options._width-(s.width+10),s.y=i.options._height/2-s.height/2,s.inputEnabled=!0,s.events.onInputDown.add(function(o,t){i.options._onNextCallback&&i.options._onNextCallback(),i.tweenObj.isRunning!==!0&&(i.stopSlider(),i.goToNext())},i),""===i.options._customHandlePrev?(a=o.add.image(0,0,"slider_chevron_left"),a.scale.setTo(.6,.6)):a=o.add.image(0,0,i.options._customHandlePrev),a.x=10,a.y=i.options._height/2-a.height/2,a.inputEnabled=!0,a.events.onInputDown.add(function(o,t){i.options._onPrevCallback&&i.options._onPrevCallback(),i.tweenObj.isRunning!==!0&&(i.stopSlider(),i.goToPrev())},i),i.options.infiniteLoop===!1&&(a.alpha=0)}if(i.options._objects.length>0){for(var d=i.options._objects.slice(0),r=Number(d.length),l=0;r>l;l++){"horizontal"===i.options._mode?d[l].x=i.options._width*l:"vertical-from-top"===i.options._mode?d[l].y=i.options._height*l*-1:"vertical-from-bottom"===i.options._mode&&(d[l].y=i.options._height*l),i.sliderMainGroup.add(d[l])}i.options._objects=i.sliderMainGroup.children}if(i.options._staticElements.length>0)for(var l=0;l