Foros del Web » Creando para Internet » Flash y Actionscript »

Mapas isometricos

Estas en el tema de Mapas isometricos en el foro de Flash y Actionscript en Foros del Web. Buenas forofos, estoy creando o intentando hacer un juego en flash multiplayer. E creado un mapa isometrico con AS2 lo que me ocurre es que ...
  #1 (permalink)  
Antiguo 19/09/2010, 06:00
 
Fecha de Ingreso: abril-2003
Mensajes: 587
Antigüedad: 21 años
Puntos: 5
De acuerdo Mapas isometricos

Buenas forofos, estoy creando o intentando hacer un juego en flash multiplayer. E creado un mapa isometrico con AS2 lo que me ocurre es que el mapa sale donde quiere es decir sale en la parte superior izquierda del flash como puedo hacer que carge donde yo digo?

el codigo que uso es esto: Crear mapa
Código PHP:
function buildMap(map) {
    
//attach mouse cursor
    
_root.attachMovie("mouse""mouse"2);
    
//attach empty mc to hold all the tiles and char
    
_root.attachMovie("empty""tiles"1);
    
//attach empty mc to hold background tiles
    
_root.tiles.attachMovie("empty""back"0);
    
//declare clip in the game object
    
game.clip _root.tiles;
    
game.clip._x 150;
    
//get map dimensions
    
var mapWidth map[0].length;
    var 
mapHeight map.length;
    
//loop to place tiles on stage
    
for (var 0i<mapHeight; ++i) {
        for (var 
0j<mapWidth; ++j) {
            
//name of new tile
            
var name "t_"+i+"_"+j;
            
//make new tile object in the game
            
game[name] = new game["Tile"+map[i][j]]();
            if (
game[name].walkable) {
                var 
clip game.clip.back;
            } else {
                var 
clip game.clip;
            }
            
//calculate depth
            
game[name].depth = (j+i)*game.tileW/2*300+(j-i)*game.tileW+1;
            
//attach tile mc and place it
            
clip.attachMovie("tile"namegame[name].depth);
            
clip[name]._x = (j-i)*game.tileW;
            
clip[name]._y = (j+i)*game.tileW/2;
            
//send tile mc to correct frame
            
clip[name].gotoAndStop(game[name].frame);
        }
    }
    var 
ob char;
    
//calculate starting position
    
ob.ob.xtile*game.tileW;
    
ob.ob.ytile*game.tileW;
    
//calculate position in isometric view
    
ob.xiso ob.x-ob.y;
    
ob.yiso = (ob.x+ob.y)/2;
    
//calculate depth
    
ob.depthshift = (game.tileW-ob.height)/2;
    
ob.depth = (ob.yiso-ob.depthshift)*300+ob.xiso+1;
    
//add the character mc
    
game.clip.attachMovie("char""char"ob.depth);
    
//declare clip in the game object
    
ob.clip game.clip.char;
    
//place char mc
    
ob.clip._x ob.xiso;
    
ob.clip._y ob.yiso;
    
ob.clip.gotoAndStop(ob.frame);

y luego lo ejecuto asi:
buildMap(_root["myMap1"]);


Como puedo hacer que salga donde yo quiera del flash

gracias de antemano
__________________
Si la vida te da la espalda tocale el culo
  #2 (permalink)  
Antiguo 20/09/2010, 08:51
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Mapas isometricos

Hola
uhm, el parámetro que llega a la función es el que quieres cuadrar? o lo que envias es un array?
imagino ya has intentado jugar con x,y por lo cual pregunto, has intentado cargarlo a su vez dentro de un movieclip que este situado donde tu quieres??
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 20/09/2010, 13:44
 
Fecha de Ingreso: mayo-2005
Mensajes: 217
Antigüedad: 18 años, 10 meses
Puntos: 5
Respuesta: Mapas isometricos

con las cordenadas x e y
cuando creas un moviclip los valores de ese moviclip van a ser x= e y=0

lo que deves hacer es cambiar esos valores. prueba de forma manual a ver que te hacer ej:
mi_mc._x = 200; y lo mismo para y;

Si ves que te lo ubica en otra posicion ahora tienes que ver donde lo quieres poner jeje

Para ubicarlo en otro lado lo tendras que hacer en relacion a algun otro mc o de la propia pelicula
yo suelo usar la funcion stageWidth o sstageHeight. para as2 se usan otras q ahroa no recuerdo...



por ejemplo si lo quieres ubicar en el lado derecho harias algo asi

mi_mc._x = stage.stageWidth - mi_mc.width

o al centro

mi_mc._x = (stage.stageWidth /2) - (mi_mc.width/2);
  #4 (permalink)  
Antiguo 20/09/2010, 14:18
 
Fecha de Ingreso: abril-2003
Mensajes: 587
Antigüedad: 21 años
Puntos: 5
Respuesta: Mapas isometricos

ya lo hago pero si lo meto dentro de un moviclip no sale no funciona :S
__________________
Si la vida te da la espalda tocale el culo

Etiquetas: mapas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.