elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Construir pisos cada vez más cortos, más arriba y más a la derecha.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Construir pisos cada vez más cortos, más arriba y más a la derecha.  (Leído 922 veces)
Tachikomaia


Desconectado Desconectado

Mensajes: 1.704


Hackentifiko!


Ver Perfil
Construir pisos cada vez más cortos, más arriba y más a la derecha.
« en: 25 Febrero 2026, 23:20 pm »

Como esto:


Lo hice así:
Código
  1. Images = 0;
  2. do {
  3. Name = "Piso"+Images;
  4. attachMovie("sDKPiso", Name, Images);
  5. setProperty (Name, _x, Images*27);
  6. setProperty (Name, _y, 568-Images*18);
  7. setProperty (Name, _xscale, 100-Images*3.4);
  8. Images++;
  9. } while (Images < 30);

Pero ven que los dibujos son cada vez más pequeños hacia arriba, no es que los pisos tengan menos trozos sino que es la imagen de abajo cada vez menos larga.

Yo quiero que los dibujos sean tosos iguales, que cambie la cantidad.

No parece tan fácil.

Deben insertarse objetos vacíos porque así cuando Mario salte o camine se chequea si toca ese objeto, no cada pequeño, o sea, muchos pequeños se ponen en esos vacíos, y luego se chequean esos "ex vacíos".

Creo que con esto se podrían insertar los objetos vacíos:
Código
  1. Images = 0;
  2. do {
  3. Name = "Piso"+Images;
  4. attachMovie("sDKPiso", Name, Images);
  5. setProperty (Name, _x, Images*27);
  6. setProperty (Name, _y, 568-Images*18);
  7. Images++;
  8. } while (Images < 30);
Simplemente debo borrarles el contenido a las imágenes sDKPiso.

El tema es cómo insertar los dibujos en esos objetos.

Imagino que debe ser algo como:
Código
  1. Pisos = 0;
  2. do {
  3. Name = "Piso"+Pisos;
  4. attachMovie("sDKPiso", Name, Pisos);
  5. setProperty (Name, _x, Pisos*27);
  6. setProperty (Name, _y, 568-Pisos*18);
  7. PartesDelPiso = 0;
  8. PartesRequeridas = 31-Pisos;
  9. do {
  10. SubName = "Parte"+PartesDelPiso;
  11. Name.attachMovie("sDKPisoParte", SubName, PartesDelPiso);
  12. setProperty (SubName, _x, 32*PartesDelPiso);
  13. setProperty (SubName, _y, 0);
  14. PartesDelPiso++;
  15. } while (PartesDelPiso <= PartesRequeridas);
  16. Pisos++;
  17. } while (Pisos < 30);

Falló en agregar las partes, sólo agrega los objetos vacíos.
      
Puse esto
eval(Name).attachMovie("sDKPisoParte", SubName, PartesDelPiso);
y tampoco sirvió.

Esto
eval(Name+".attachMovie("sDKPisoParte", SubName, PartesDelPiso)");
me dice
Citar
Escena=Escena 1, Capa=Capa 2, Fotograma=1: Line 18: Se espera ')' o ','
           eval(Name+".attachMovie("sDKPisoParte", SubName, PartesDelPiso)");

Escena=Escena 1, Capa=Capa 2, Fotograma=1: Line 19: Se espera 'while'
           setProperty (SubName, _x, 32*PartesDelPiso);

Escena=Escena 1, Capa=Capa 2, Fotograma=1: Line 24: Se ha detectado un '}' inesperado
     } while (Pisos < 30);

Tengo otro programa que funciona así
eval(NombreDeCarta).attachMovie("s"+Tipo, NombreDeSigno, SignosAgregados);
o sea esto debería servir
eval(Name).attachMovie("sDKPisoParte", SubName, PartesDelPiso);

Puse traces antes de eso, dicen
Insertando Parte0 en Piso0 con depth 0
Insertando Parte1 en Piso0 con depth 1
(...)
Insertando Parte31 en Piso0 con depth 31
Insertando Parte0 en Piso1 con depth 0
etc
O sea no parece haber problema. Cada depth es independiente en cada objeto se supone.

Puse que sDKPisoParte sea el link a una imagen cualquiera, no a un mapa de bits ni a un objeto con mapa de bits. Y funcionó. O sea que attachMovie no sirve si lo que se inserta tiene mapas de bits parece. No, funciona si lo que inserto es otro objeto, incluso si le pongo un mapa de bits. No parece tener sentido. Pero el objeto que quiero que se inserte no lo hace. Ya vi, de tanto lío tenía algo mal. Los mapas de bits no se pueden insertar, pero sí objetos que tengan mapas de bits. No me funcionaba porque tenía que el nombre sDKPisoParte este asociado al mapa de bits y no al objeto que lo tiene. Quedó así:

¿Por qué sólo se insertó una parte en cada piso?


En línea

Tachikomaia


Desconectado Desconectado

Mensajes: 1.704


Hackentifiko!


Ver Perfil
Re: Construir pisos cada vez más cortos, más arriba y más a la derecha.
« Respuesta #1 en: 3 Marzo 2026, 01:29 am »

Estaba mal la ruta de los set Property.

Los objetos se llamaban "Parte"+PartesDelPiso, pero están en Piso0, Piso1, etc, por lo tanto las rutas hacia ellos son Piso0.Parte0 por ejemplo.

Código
  1. Pisos = 0;
  2. do {
  3. Piso = "Piso"+Pisos;
  4. attachMovie("sDKPiso", Piso, Pisos);
  5. setProperty (Piso, _x, Pisos*16);
  6. setProperty (Piso, _y, 568-Pisos*18);
  7. PartesDelPiso = 0;
  8. PartesRequeridas = 30-Pisos;
  9. do {
  10. Parte = "Parte"+PartesDelPiso;
  11. trace("Insertando "+Parte+" en "+Piso+" con depth "+PartesDelPiso);
  12. eval(Piso).attachMovie("sDKPisoParte", Parte, PartesDelPiso);
  13. RutaDeParte = Piso+"."+Parte;
  14. setProperty (RutaDeParte, _x, 32*PartesDelPiso);
  15. setProperty (RutaDeParte, _y, 0);
  16. PartesDelPiso++;
  17. } while (PartesDelPiso <= PartesRequeridas);
  18. Pisos++;
  19. } while (Pisos < 30);

Pero cambié un poco lo que quiero, quiero que el piso de arriba del todo empiece en la mitad de la pantalla, o más o menos porque está difícil. Los de abajo cada vez más hacia la izquierda.

Con el código ese queda así:


Claro que no quiero una pirámide, los pisos deben llegar hasta la derecha, pero no quiero que se inserten piezas de más, pero no entiendo por qué los de abajo tienen tantas más... ¿qué hago?


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
conectar dos pisos del mismo bloque
Materiales y equipos
joanvip 2 5,341 Último mensaje 2 Junio 2010, 13:01 pm
por calamardcm
teclas derecha izquirda, arriba y abajo
Programación C/C++
mrkcc 3 4,577 Último mensaje 10 Junio 2010, 08:40 am
por Saberuneko
Los videojuegos cada vez son más cortos
Noticias
wolfbcn 3 3,595 Último mensaje 22 Abril 2012, 17:11 pm
por do-while
Como leo estos Bits de derecha a izquierda o izquierda a derecha ?
Programación C/C++
FFernandez 1 8,075 Último mensaje 8 Octubre 2021, 00:12 am
por Eternal Idol
Como se puede poner la hora arriba a la derecha de la pantalla?
Software
BlackMorror5 5 5,728 Último mensaje 4 Abril 2022, 20:32 pm
por .xAk.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines