Activa las notificaciones push PhoneGap Spain

Foro

Home Forums Programación Javascript Javascript y Phaser (motor de juegos) cambio de pantalla o paso de nivel

This topic contains 0 replies, has 1 voice, and was last updated by mamuflo2 mamuflo2 1 semana, 5 dias .

Viendo 1 respuesta (de 1 en total)
  • Javascript y Phaser (motor de juegos) cambio de pantalla o paso de nivel

    Intervenciones
  • mamuflo2
    mamuflo2 
    Participant

    Estoy desarrolllando un juego con HTML5 java script y Phaser y la estructura es la siguiente:

    archivo Juego.js:

    <variables>

    var Juego = {

    inicio: function(){
    //Establezco el ancho y alto del dispositivo móvil
    //llamo a dos funciones una para tomar datos del sensor del inclinómetro
    // otra para iniciar el juego de Phaser
    Juego.vigilaSensores();
    Juego.iniciaJuego();
    }
    iniciaJuego: function(){
    function preload(){

    }
    function create(){

    }
    function update(){

    }
    var estados = { preload: preload, create: create, update: update, render:render };
    var game = new Phaser.Game(ancho, alto, Phaser.CANVAS, ‘phaser’, estados);

    },

    incrementaPuntuacion: function(){
    },
    //funciones específicas para otras funciones del juego…

    };

    Si creo otro archivo de javascript llamado por ejemplo Nivel2.js, no tengo clara la estructura que debo seguir para que cuando en la función “upDate()” de mi juego se alcance una condición (por ejemplo que la variable puntuación alcance un valor) que pase a este último archivo y arranque otro nivel con otra pantalla en la que se ejecuta otro archivo con Phaser. En el archivo “index.html” tengo la siguiente estructura:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=”utf-8″>
    <link rel=”stylesheet” type=”text/css” href=”css/juego.css” />
    <title>Juego</title>
    </head>
    <body>

    <script type=”text/javascript” src=”cordova.js”></script>
    <script type=”text/javascript” src=”js/phaser.min.js”></script>
    <script type=”text/javascript” src=”js/gameOver.js”></script>
    <script type=”text/javascript” src=”js/Nivel2.js”></script>
    <script type=”text/javascript” src=”js/juego.js”></script>
    <script type=”text/javascript” src=”js/menuOpciones.js”></script>
    <script type=”text/javascript” src=”js/menu.js”></script>
    <script type=”text/javascript” src=”js/principal.js”></script>

    <meta name=”viewport” content=”user-scalable=no, initial-scale=1, maximum-scale=1, width=device-width” />
    </body>
    </html>

    y en el archivo principal.js:

    var alto = document.documentElement.clientHeight;
    var ancho = document.documentElement.clientWidth;

    var game = new Phaser.Game(ancho, alto, Phaser.CANVAS, ‘phaser’);

    game.state.add(‘Menu’, Menu);
    game.state.add(‘MenuOpciones’, MenuOpciones);
    game.state.add(‘nivel2′, Nivel2);
    game.state.add(‘juego’, Juego);
    game.state.add(‘GameOver’, GameOver);

    game.state.start(‘Menu’);

    El menú y el menú de opciones funcionan y arranca el juego con el archivo Juego.js (que es el primer nivel y que funciona correctamente) pero al intentar cambiar de nivel creo una función:

    pasarDeNivel: function(){
    game.time.events.remove(timer);
    player.kill();
    var tween2 = game.add.tween(pasaNivel).to( { alpha: 1 },
    2000, “Linear”, true, 2000);
    tween2.onComplete.addOnce(function(){
    audioFondo.stop();
    Nivel2.inicio();
    }, this);
    },

    teniendo el archivo Nivel2.js la misma estructura de Juego.js…esto me da error porque se queda la pantalla en negro y no se carga el Nivel2. ¿Quizás la estructura de este segundo nivel deba ser otra? Gracias de antemano, si alguien pudiera ayudarme se lo agradecería. Un saludo


    Desarrollo de aplicaciones multiplataformas

    • This topic was modified 1 semana, 5 dias by mamuflo2 mamuflo2.

    • This topic was modified 1 semana, 5 dias by mamuflo2 mamuflo2.
Viendo 1 respuesta (de 1 en total)

You must be logged in to reply to this topic.