Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create:function (){
- //var picIndex= this.game.rnd.integerInRange(1, 100);
- //var key= 'backgroundLvl2'+picIndex;
- this.clickLock=false;
- this.blockGroup= this.game.add.group();
- var count=0;
- for (var row=0;row<4;row++)
- {
- for (var col=0;col<4;col++)
- {
- var block=this.game.add.sprite(col*160,row*160,'backgroundLvl2');
- block.ox=block.x;
- block.oy=block.y;
- block.inputEnabled= true;
- block.events.onInputDown.add(this.pickBlock,this);
- block.frame = count;
- count++;
- this.blockGroup.add(block);
- }
- }
- this.blockGroup.x=this.game.width/2-this.blockGroup.width/2;
- this.blockGroup.y=this.game.height/2-this.blockGroup.height/2;
- this.endBlock=block;
- this.endBlock.loadTexture("SqB")
- this.scramblePics();
- },
- pickBlock:function (block)
- {
- if(this.clickLock == true)
- {
- return;
- }
- if(this.endBlock==block)
- {
- return;
- }
- var diffX = Math.abs(this.endBlock.x - block.x);
- var diffY = Math.abs(this.endBlock.y-block.y);
- if( diffX>160 || diffY>160){
- return;
- }
- if (diffY == 160 && diffX==160 ){
- return;
- }
- block.bringToTop();
- this.clickLock=true;
- var x1= block.x;
- var y1= block.y;
- // block.x= this.endBlock.x;
- // block.y= this.endBlock.y;
- //this.endBlock.y=y1;
- //this.endBlock.x=x1;
- this.moveBlock(block,this.endBlock.x,this.endBlock.y);
- this.moveBlock(this.endBlock,x1,y1);
- },
- scramblePics:function(){
- for(var i=0;i<100;i++) {
- var block1 = this.game.rnd.integerInRange(0, this.blockGroup.children.length - 1);
- var block2 = this.game.rnd.integerInRange(0, this.blockGroup.children.length -1 );
- block1 = this.blockGroup.getChildAt(block1Index);
- block2 = this.blockGroup.getChildAt(block2Index);
- this.swapBlocks(block1, block2);
- }
- },
- swapBlocks(block1,block2){
- var tempX = block1.x;
- var tempY =block1.y;
- block1.x=block2.x;
- block1.y=block2.y;
- block2.x=tempX;
- block2.y=tempY;
- },
- moveBlock(block,xx,yy){
- var tw= this.game.add.tween(block).to({y:yy, x:xx},500, Phaser.Easing.Linear.None, true);
- tw.onComplete.add(this.tweenDone,this)
- },
- tweenDone:function () {
- this.checkWin();
- this.clickLock=false;
- },
- checkWin(){
- var win= true;
- this.blockGroup.forEach(function (block) {
- if (block.x!=block.ox||block.y!=block.oy){
- win=false;
- }
- }.bind(this));
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement