Ver Mensaje Individual
  #12 (permalink)  
Antiguo 01/07/2012, 09:17
Seazoux
 
Fecha de Ingreso: marzo-2011
Mensajes: 18
Antigüedad: 13 años, 11 meses
Puntos: 1
Respuesta: Voy a hacer un juego, ayudadme plz

Bueno, ya he encontrado la solucion a mis dudas... He encontrado un juego de los 80, bastante parecido al mio. Solo que tengo una duda... El juego se llama: Chukie Egg, la verdad que es simple, pero es facil porque explica todo en comentarios.

Bueno, esa duda la he resuelto, porque este juego funciona a partir de arrays que crean el mapa...

Vale mi problema es el siguiente:

El juego utiliza dimensiones de 8x8 y yo las necesito de 16x16. Trasteando trasteando, encontre el motor del juego por así decirlo.. Y bueno, lo que me encontre fueron las texturas que utiliza y cosas de como se genera el mapa.

Ahora tengo ese codigo:

Cita:
//

// Manages the visible state of a level.

//

function LevelState(levmgr)

{

this.cachedLevMgr = levmgr;



// Array of images to load for the level

this.imageFiles = [ "blank", "dirt", "bedrock", "ice", "stone" ];



// No currently loaded level yet.

this.layout = null;



// Load graphics

this.imageCache = new Array;

for(var i = 0; i < this.imageFiles.length; ++i)

{

this.imageCache[i] = new Image;

this.imageCache[i].src = "images/" + this.imageFiles[i] + ".png";

}



// Initialise cells for level layout.

this.levelStyleCache = new Array;

for(var y = 0; y < this.cachedLevMgr.numYCells; ++y)

{

this.levelStyleCache[y] = new Array;

for(var x = 0; x < this.cachedLevMgr.numXCells; ++x)

this.levelStyleCache[y][x] = null;

}



this.ClearLevel = function()

{

var topLevelDiv = document.getElementById("maindiv");

var levDiv = document.getElementById("levelDiv");

if(levDiv != null)

topLevelDiv.removeChild(levDiv);

}



this.Reset = function(layoutState)

{

// Does not do an array copy, just makes a reference to the player's level layout.

this.layout = layoutState;



// Clear the existing layout.

this.ClearLevel();



//

// Set positions of the eggs and grain for the current player.

//

var topLevelDiv = document.getElementById("maindiv");

var levDiv = document.createElement("DIV");

levDiv.id = "levelDiv";

levDiv.style.position = "absolute";

levDiv.style.width = this.cachedLevMgr.levelXMax<<1;

levDiv.style.height = this.cachedLevMgr.levelYMax;

levDiv.style.backgroundColor = "#000000";

topLevelDiv.appendChild(levDiv);



for(var y = 0; y < this.cachedLevMgr.numYCells; ++y)

{

var row = this.levelStyleCache[y];

var imageRow = layoutState[y];

for(var x = 0; x < this.cachedLevMgr.numXCells; ++x)

{

if(imageRow[x] == this.cachedLevMgr.blank)

continue;



var newElem = document.createElement("IMG");

newElem.src = this.imageCache[imageRow[x]].src;

newElem.style.position = "absolute";

newElem.style.left = x<<4;

newElem.style.top = y<<4;

levDiv.appendChild(newElem);

row[x] = newElem.style;

}

}

}



// Used to erase an egg or grain when collected by the farmer

this.ClearCellAt = function(x, y)

{

this.layout[y][x] = 0;

this.levelStyleCache[y][x].visibility = "hidden";

}



} // end of Level object
El problema esta en los de negrita, ese 4, originalmente era un 3.
Este 3 me hacia que algunas imagenes (los grains, y egg), me los ponia metidos bajo el bloque de dirt. Si lo pongo a 4, se pone bien, pero miren como se ve el mapa.



----------------------------

Este es el juego original (descarga): [URL="http://marklomas.net/ch-egg/downloads/dhtml_ch-egg_source_code.zip"]http://marklomas.net/ch-egg/downloads/dhtml_ch-egg_source_code.zip[/URL]

--------------------------


Cita:
Iniciado por furoya Ver Mensaje
Una duda, Seazoux : ¿no sabes hacer eso, y te quieres meter a crear "juegos"?

Para eso estamos aquí para aprender. ;)

Última edición por Seazoux; 01/07/2012 a las 09:21 Razón: No puedo poner un Spoiler o algo para hacer mas pequeño el quote???