Salut a tous et merci pour tous ceux qui pourront m'éclairer.
Je suis un peu perdu mais aussi en apprentissage.
Je travail dans le context d'un GameEngine , donc je exploitent quelque DB.js deja operationelle.
Ma question global porter sur le javascript est la suivante.
Pourquoi lorsque j'assigne a une variable x, les valeurs d'un objet[] , et que je increment cette variable x[++], mon objet increment aussi ???
Ma question suis le context suivant que j' ai un peut epurer.
Ex: Au BOOT du projets je construis avec cette ligne mes objets et sub objets .....
$gameSystem.huds = new huds(); // construit les interpreter des huds du jeux, pas le menue
Le CALL de new huds(); construit et ajoute ceci .... dans $gameSystem.huds
1 2 3 4 5 6 7 8 9 10 11 12 13
| /*=============================================================================
* BUILD HUDS INTEGRER (not the menu)
=============================================================================*/
// parent from $gameSystem.huds = new HUDS();
function huds() {
this.hudsSlot = new hudsSlot();
}
//sub from parent
//-----------------------------------------------------------------------------
// le huds des itemdice.. hudsSlot -------------------
function hudsSlot() {
this.PIDdebug = [15,47]; // static
} |
J'usque la, tout va bien.
Donc si je fais ensuite dans ma console de débogage.
console.log($gameSystem.huds.hudsSlot.PIDdebug); // return me [15,47] .. Ok ces parfait
Mais le problème est ce qui suit, cette objets doit être statique et permanent.
Et si je donne cette valeur Array a une variable quelconque et incrémente cette meme variable, l'objets va aussi incrémenter comme si un lien la reliait.!
ex:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| var MyVar = $gameSystem.huds.hudsSlot.PIDdebug;
console.log(MyVar); // return [15,47] ... parfait
console.log($gameSystem.huds.hudsSlot.PIDdebug); // return [15,47] ... parfait
// ensuite si je fait
MyVar[0]++;
// ou
MyVar[0]+=1;
console.log(MyVar); // return [16,47] // ... parfait
console.log($gameSystem.huds.hudsSlot.PIDdebug); // return [16,47] // ... heu ho non. !!!,
// je voulai incrémenter la variable MyVar, mais pas $gameSystem.huds.hudsSlot.PIDdebug
// Pourquoi lorsque je increment MyVar
// $gameSystem.huds.hudsSlot.PIDdebug increment aussi , je ne veut pas . |
merci pour toute eclaircissement ou suggestion sur ma facon de proceder.
je pense que je me y prend mal.
Partager