Jump to content

4 ●4 unlimited stack of tile(object/sprite) in que after dragging the first to toppest one in phaser


tdnshah
 Share

Recommended Posts

i am making a game using phaser and i want to make unlimited no of tiles can think like stacked tiles. When the user drags the topmost tile and places it in the drop area, the same tile below it should appear and should be draggable.

My present code:- `

var greenTile = this.add.sprite(250,500,'greenTile');       
                   greenTile.inputEnabled=true;
                   greenTile.input.enableDrag();
                   greenTile.events.onDragStart.add(onDragStart, this);
                   greenTile.events.onDragStop.add(onDragStop, this);` 

the total code is of my game state is :- `

var patternsRatio = patternsRatio || {};
var x = 50;
var y = 100;
var canvas;
var canvasBG;
var canvasGrid;
var canvasSprite;
var canvasZoom = 32;
var spriteWidth = 8;
var spriteHeight = 8;
patternsRatio.game1 = function () {};
patternsRatio.game1.prototype = {           
    preload: function () {
    this.load.image('greenTile','assets/images/greentile.png')
    this.load.image('redTile','assets/images/redtile.png')
    },
    create: function () {
        this.game.stage.setBackgroundColor(0x2d2d2d);
        var question_l1 = "Puzzle 1: Enlarge this pattern by a factor of 2."
        var style_l1 = {font: "25px Comic Sans MS Bold", fill: "#fff", align:"center"}; 
        var quet_l1=this.game.add.text(this.game.world.centerX,this.game.height-600, question_l1, style_l1)
        quet_l1.anchor.setTo(0.5)
        this.placetiles()

        var greenTile = this.add.sprite(250,500,'greenTile');       
        greenTile.inputEnabled=true;
        greenTile.input.enableDrag();
        greenTile.events.onDragStart.add(onDragStart, this);
        greenTile.events.onDragStop.add(onDragStop, this);

        var redTile = this.add.sprite(100,500,'redTile');
        redTile.inputEnabled=true;
        redTile.input.enableDrag();
        redTile.events.onDragStart.add(onDragStart, this);
        redTile.events.onDragStop.add(onDragStop, this);


},
    update: function () {

},  
    placetiles: function () {
        this.game.create.grid('drawingGrid', 16 * canvasZoom, 16 * canvasZoom, canvasZoom, canvasZoom, 'rgba(0,191,243,0.8)');
        canvas = this.game.make.bitmapData(spriteWidth * canvasZoom, spriteHeight * canvasZoom);
        canvasBG = this.game.make.bitmapData(canvas.width + 2, canvas.height + 2);

        canvasBG.rect(0, 0, canvasBG.width, canvasBG.height, '#fff');
        canvasBG.rect(1, 1, canvasBG.width - 2, canvasBG.height - 2, '#3f5c67');

        var x = 80;
        var y = 64;

        canvasBG.addToWorld(x, y);
        canvasSprite = canvas.addToWorld( x + 1, y + 1); canvasZoom,canvasZoom
        canvasGrid = this.game.add.sprite(x + 1, y + 1, 'drawingGrid');
        canvasGrid.crop(new Phaser.Rectangle(0, 0, spriteWidth * canvasZoom, spriteHeight * canvasZoom));

        }

};

`

I am also facing problem when i am adding a input.enable code below the "greenTile" variable then the redTile vanishes of can any tell why this happens. 

wT2Z2.png

 

GxMRc.png

 

 

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...