Journal de bord: création d’un RTS en HTML5, jour 14

Introduction
Ce billet fait suite au billet: http://blog.developpez.com/ducodeetdulibre/p12428/developpement/journal-de-bord-creation-dun-rts-en-html5-jour-13

Dans ce billet peu de choses technique:
Une mise à jour graphique ainsi qu’une amélioration de la fluidité de déplacement

Modification du déplacement de 1 à 0.5
Plutot que de déplacer d’une case à la fois, j’ai modifié la vitesse de déplacement de 1 à 0.5 (multiplié par la largeur d’une case)

Les problèmes à gerer
Cela change plusieurs choses: les coordonnées x et y étant jusqu’à présent utilisées comme les coordonnées du tableau, il a fallu modifier un peu pour que le jeux fonctionne toujours.

Ajout de deux méthodes getX() et getY() dans la classe Unit

1
2
3
4
5
6
getX:function(){
    return parseInt(this.x);
},
getY:function(){
    return parseInt(this.y);
},

Vérification des coordonnées utilisant ces nouvelles méthodes:

1
2
//si l'unité doit se rendre quelques part
}else if(oUnit.targetX!='' && oUnit.targetY!='' && (oUnit.targetX!=oUnit.getX() || oUnit.targetY!=oUnit.getY() ) ){

Modification de certaines méthodes pour prendre en compte la coordonnées entières et non les coordonnées décimales

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
checkCoord:function(x,y){
        y=parseInt(y+0);
        x=parseInt(x+0);
        if(this.tCoordBuild[ y ] && this.tCoordBuild[ y ][ x ] && this.tCoordBuild[ y ][ x ]!=''){
            console.log('not libre tCoordBuild[ '+y+' ][ '+x+' ]');
            return false;
        }
       
        if(this.tCoordUnit[ y ] && this.tCoordUnit[ y ][ x ] && this.tCoordUnit[ y ][ x ]!=''){
            console.log('not libre tCoordUnit[ '+y+' ][ '+x+' ]');
            return false;
        }
       
        if(map.tMap[y] && map.tMap[y][x] && map.tMap[y][x]==3){
       
            return true;
           
        }
        return false;

    },

Voilà, c’est tout pour aujourd’hui

rtsspritesrtsgameplay