Sign in to follow this  
wshawga

click image not working

Recommended Posts

I am brand new to phaser. Trying to make a side scroller.

Can someone please help me with adding a level select to the images being created. I have gone as far as to add the sample image click from the phaser.io example 2 and the image still cant be clicked.

var CANVAS_WIDTH = 800;var CANVAS_HEIGHT = 600;

var game = new Phaser.Game(CANVAS_WIDTH, CANVAS_HEIGHT, Phaser.AUTO, 'game', { preload: preload, create: create, update: update});

var holdicons = []

var text;

var counter = 0;

function preload() {

game.load.image('levelselect', "<%= asset_path 'explo.png'%>", 96, 96);

}

function create() {

game.stage.backgroundColor = 'black';

  //  This creates a simple sprite that is using our loaded image and

  //  displays it on-screen and assign it to a variable

  var image = game.add.sprite(game.world.centerX, game.world.centerY, 'levelselect');

  //  Moves the image anchor to the middle, so it centers inside the game properly

  image.anchor.set(0.5);

  //  Enables all kind of input actions on this image (click, etc)

  image.inputEnabled = true;

  text = game.add.text(10, 16, '', { font: '34px Arial', fill: 'white' });

  image.events.onInputDown.add(listener, this);

createLevelIcons();

animateLevelIcons();

}

function update() {

// nothing to do but wait until player selects a level

}

function createLevelIcons() {

 titleString = 'SELECT A LEVEL';

    titleText = game.add.text(250, 10, titleString, { font: '34px Arial', fill: '#fff' });

    titleText.fixedToCamera = true;

var levelnr = 0;

for (var y=0; y < 3; y++) {

for (var x=0; x < 4; x++) {

// player progress info for this level

levelnr = levelnr + 1;

// calculate position on screen

var xpos = 160 + (x*128);

var ypos = 120 + (y*128);

// create icon

holdicons[levelnr-1] = createLevelIcon(xpos, ypos);

};

};

}

function createLevelIcon(xpos, ypos, levelnr) {

// create new group

var IconGroup = game.add.group();

IconGroup.x = xpos;

IconGroup.y = ypos;

// add background

var icon1 = game.add.sprite(0, 0, 'levelselect', 0);

IconGroup.add(icon1);

return IconGroup;

}

function animateLevelIcons() {

// slide all icons into screen

for (var i=0; i < holdicons.length; i++) {

// get variables

var IconGroup = holdicons;

IconGroup.y = IconGroup.y + 600;

var y = IconGroup.y;

// tween animation

game.add.tween(IconGroup).to( {y: y-600}, 500, Phaser.Easing.Back.Out, true, (i*40));

};

}

function listener () {

    counter++;

    text.text = "You clicked " + counter + " times!";

}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.