• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

169
Views
Tratando de encontrar una manera de llamar a las variables iterativamente

Estoy tratando de crear un programa que presente un montón de mosaicos que cambian de color cuando haces clic en ellos. Sin embargo, estoy tratando de crear un bucle que modifique iterativamente las variables. Estoy usando esto como una plantilla. Cualquier ayuda sería apreciada.

 function updateGameArea(){ myGameArea.clear(); myGameTile1.update(); myGameTile2.update(); myGameTile3.update(); ... } var myGameArea = { ... window.addEventListener("mousedown",function(e){ myGameArea.x = e.pageX; myGameArea.y = e.pageY; if(myGameArea.x <= 320 && myGameArea.y <= 320){ for(var y=0;y<10;y++){ for(var x=0;x<10;x++){ myGameTile+((y+1)*10+(x+1)) = component(32,32,"#000000",0,0); //I know this doesnt work, but this is what I imagine it would look something like } } } ...
almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Usar una matriz myGameTiles

Sugeriría cambiar la forma en que está viendo este problema.

Si tiene varias variables de GameTile que tienen las mismas propiedades, es mejor pensar en ellas como elementos en una matriz: por ejemplo, cree una matriz llamada myGameTiles y luego inserte sus elementos en esta matriz.

 // Create an array myGameTiles = []; myGameTiles.push(myGameTile1); myGameTiles.push(myGameTile2); myGameTiles.push(myGameTile3); // ... function updateGameArea(){ myGameArea.clear(); for (var i = 0; i < myGameTiles.length; i++) { myGameTiles[i].update(); } // ... } var myGameArea = { // ... window.addEventListener("mousedown",function(e){ myGameArea.x = e.pageX; myGameArea.y = e.pageY; if(myGameArea.x <= 320 && myGameArea.y <= 320){ for(var y=0;y<10;y++){ for(var x=0;x<10;x++){ function updateGameArea(){ myGameArea.clear(); myGameTile1.update(); myGameTile2.update(); myGameTile3.update(); ... } var myGameArea = { ... window.addEventListener("mousedown",function(e){ myGameArea.x = e.pageX; myGameArea.y = e.pageY; if(myGameArea.x <= 320 && myGameArea.y <= 320){ for(var y=0;y<10;y++){ for(var x=0;x<10;x++){ myGameTile+((y+1)*10+(x+1)) = component(32,32,"#000000",0,0); //I know this doesnt work, but this is what I imagine it would look something like } } } ...myGameTiles[(y+1)*10+(x+1)] = component(32,32,"#000000",0,0); // Very similar to your original code! } } } ...

Nota: NO se recomienda encarecidamente, pero también puede usar eval() (por ejemplo eval('myGameTiles' + ((y+1)*10+(x+1)) + ' = component(32,32,"#000000",0,0);') pero es inseguro e inseguro. Una vez más, no se recomienda encarecidamente).

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error