Erreur quand j'insert les tiles

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour!

Je bloque…

Je suis en train d'apprendre a me servir de quintus avec ce cours mais j'ai un probleme sur ce chapitre

J'ai regarde sur github, le code marche, mais j'arrive pas a voir le probleme.

Quand j'affiche mes tiles, j'ai des erreurs dans la console:

1
2
Uncaught TypeError: Cannot read property '0' of undefined(…)
Uncaught TypeError: Cannot read property '10' of undefined(…)

je suppose que la variable undefined sont les tiles, pourtant, j'ai verifier, mais j'arrive pas a trouver l'erreur.

Voila mon code (la partie qui devrait poser probleme)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Q.scene('game', function (stage) {
    stage.insert(new Q.Repeater({
        asset: 'clouds.jpg',
        speedY: 0.5
    }));
    var tiles = new Q.TileLayer({
        dataAsset: 'game.json',
        sheet: 'my_tiles',
        tileW: Q.sheets['my_tiles'].tileW,
        tileH: Q.sheets['my_tiles'].tileH
    });
    stage.collisionLayer(tiles);
})

Q.load(['raymond.png', 'clouds.jpg', 'game-tiles.png'], function () {
    Q.sheet('my_tiles', 'game-tiles.png', { tileW: 30, tileH: 30 });
    Q.stageScene('startGame', 0);
}, {
    progressCallback: function(loaded, total) {
        console.log('Loading: ' + Math.floor(loaded / total * 100) + '%');
    }
})

Merci d'avance,

Mathieu

Édité par math2001

Auteur du sujet

J'ai la solution! :D ( :euh: )

Il fallait mettre game.json dans les "dependances", comme ca:

1
2
3
4
5
6
7
8
9
//                                                         !!! 
Q.load(['raymond.png', 'clouds.jpg', 'game-tiles.png', 'game.json'], function () {
    Q.sheet('my_tiles', 'game-tiles.png', { tileW: 30, tileH: 30 });
    Q.stageScene('startGame', 0);
}, {
    progressCallback: function(loaded, total) {
        console.log('Loading: ' + Math.floor(loaded / total * 100) + '%');
    }
})

Édité par math2001

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte