Bonjour, je développe un mini jeu cependant je rencontre un problème durant le déplacement du personnage celui-ci ne bouge pas alors que les packet sont bien envoyé au serveur, mais celui-ci ne les renvois pas au client.

Voici le morceau de code qui semble poser problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
for(var i in Player.list){
        var player = Player.list[i];
        player.update();
        pack.push({
            id:player.id
            x:player.x,
            y:player.y,
        });
    }
j'ai tenté un console.log en dehors du for et le console.log m'a bien renvoyé les données au client je ne comprends pas pourquoi mon for cause ce bug, voici le morceau de code complet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var express = require('express');
var app = express();
var serv = require('http').Server(app);
 
serv.listen(1337);
console.log("Lancement ok");
 
var SOCKET_LIST = {};
var PLAYER_LIST = {};
 
var Player = function(id){
    var self = {
        x:250,
        y:250,
        id:id,
        number:"" + Math.floor(10 * Math.random()),
        pressingRight:false,
        pressingLeft:false,
        pressingUp:false,
        pressingDown:false,
        maxSpd:10,
        map:'dortoire',
    }
    self.updatePosition = function(){
        if(self.pressingRight)
            self.x += self.maxSpd;
        if(self.pressingLeft)
            self.x -= self.maxSpd;
        if(self.pressingUp)
            self.y -= self.maxSpd;
        if(self.pressingDown)
            self.y += self.maxSpd;
    }
    initPack.player.push({
        id:self.id,
        x:self.x,
        y:self.y,
        number:self.number,
    });
    return self;
}
 
 
var io = require('socket.io')(serv,{});
Player.list = {};
io.sockets.on('connection', function(socket){
     socket.emit('loginok');
    socket.id = Math.random();
    SOCKET_LIST[socket.id] = socket;
    var player = Player(socket.id);
    PLAYER_LIST[socket.id] = player;
 
 
    socket.on('disconnect',function(){
        delete SOCKET_LIST[socket.id];
        delete PLAYER_LIST[socket.id];
        removePack.player.push(player.id);
    });
    socket.on('keyPress',function(data){
        if(data.inputId === 'left')
            player.pressingLeft = data.state;
        else if(data.inputId === 'right')
            player.pressingRight = data.state;
        else if(data.inputId === 'up')
            player.pressingUp = data.state;
        else if(data.inputId === 'down')
            player.pressingDown = data.state;
             console.log(data.state);
    });
 
 
 
});
Player.update = function(){
    var pack = [];
    for(var i in Player.list){
        var player = Player.list[i];
        player.update();
        pack.push({
            id:player.id,
            x:player.x,
            y:player.y,
        });
    }
    return pack;
}
var initPack = {player:[]};
var removePack = {player:[]};
setInterval(function(){
    var pack = {
        player:Player.update(),
    }
    for(var i in SOCKET_LIST){
        var socket = SOCKET_LIST[i];
        socket.emit('init', initPack);
        socket.emit('update',pack);
        socket.emit('remove', removePack);
    }
initPack.player = [];
removePack.player = [];
},1000/25);
Merci pour votre aide.