|
551
|
Programación / Programación General / Re: Confusión en cuanto a cambiar colores de películas en Flash.
|
en: 7 Abril 2024, 08:30 am
|
Quité el Parseint y simplifiqué el cambio de colores como me dijiste, dejo los archivos a quien le interesen: https://drive.google.com/file/d/1z3lL4wWYmJ_SCZcZliXx7fK8dH4TdOUS/view?usp=sharingIncluye la versión anterior y la nueva (simplificando). El objeto Vacío en frame 3 está en la punta inferior derecha, tiene la función Variar. Como alternativa, el código: actions for fotograma 1 // Los píxeles mayores están abajo en la derecha, ejemplo: // 12 // 34 PixelesdeLargo = 1; // En F3 se repite: function Variar () { // trace("Variando"); PixelaModificar = "Pixel"+Puntero; ColorDePixel = new Color(PixelaModificar); // trace("Color: "+ColorDePixel.getRGB()); // ¿El pixel puede cambiar de color? ¿es blanco? if (ColorDePixel.getRGB() == 0xFFFFFF) { // Sí, cambiarlo: ColorDePixel.setRGB(0); // trace ("Se pintó el pixel "+PixelaModificar); // Para juzgar: ¿El dibujo es repetido? o: // ¿El dibujo tiene píxeles pintados en toda columna y fila? // Averiguar la columna del pixel: Columna = 1+(Puntero-1)%PixelesdeLargo; // trace ("Columna: "+Columna); // Esto se usa para evitar repeticiones de concatenaciones y simplificarlas: ColumnaRelevante = "PintadosenC"+Columna; // Incrementar contador de píxeles pintados en ella: set (ColumnaRelevante, eval(ColumnaRelevante)+1); // Averiguar la fila del pixel: Fila = Math.ceil(Puntero/PixelesdeLargo); // trace ("Fila: "+Fila); // Esto se usa para evitar repeticiones de concatenaciones y simplificarlas: FilaRelevante = "PintadosenF"+Fila; // Incrementar contador de píxeles pintados en ella: set (FilaRelevante, eval(FilaRelevante)+1); // trace ("Pintados: "+ColordePixel1+" "+ColordePixel2+" "+ColordePixel3+" "+ColordePixel4); // trace ("PintadosenC1: "+PintadosenC1); // trace ("PintadosenC2: "+PintadosenC2); // trace ("PintadosenF1: "+PintadosenF1); // trace ("PintadosenF2: "+PintadosenF2); // Para juzgar: ¿El dibujo tiene píxeles pintados en toda columna y fila? Puntero2 = 0; Repetido = "N"; do { Puntero2 = Puntero2+1; // ¿La columna Puntero2 no tiene algún pixel pintado? if (eval("PintadosenC"+Puntero2)<1) { // trace (eval("PintadosenC"+Puntero2)+ "< 1"); Repetido = "S"; } else if (eval("PintadosenF"+Puntero2)<1) { // La fila Puntero2 no tiene algún pixel pintado. // trace (eval("PintadosenF"+Puntero2)+ "< 1"); Repetido = "S"; } } while (Repetido == "N" && Puntero2<PixelesdeLargo); // Preparar Puntero para la próxima generación: Puntero = MaxPosiciondePuntero; // ¿El dibujo tiene píxeles pintados en toda columna y fila? if (Repetido == "N") { // trace (" Mostrando dibujo."); ContadorDeDibujos = ContadorDeDibujos+1; } else { // No, el dibujo es repetido, no mostrarlo y hacer otro: // trace (" Repetido, salteándolo."); Variar(); } } else { // El pixel no puede cambiar de color, resetearlo: ColorDePixel.setRGB(0xFFFFFF); // trace ("Se reseteó el pixel "+PixelaModificar); // Actualizar los valores de PintadosenC y PintadosenF: // Averiguar la columna del pixel: Columna = 1+(Puntero-1)%PixelesdeLargo; // Esto se usa para evitar repeticiones de concatenaciones y simplificarlas: ColumnaRelevante = "PintadosenC"+Columna; // Disminuir contador de píxeles pintados en ella: set (ColumnaRelevante, eval(ColumnaRelevante)-1); // Averiguar la fila del pixel: Fila = Math.ceil(Puntero/PixelesdeLargo); // Esto se usa para evitar repeticiones de concatenaciones y simplificarlas: FilaRelevante = "PintadosenF"+Fila; // Disminuir contador de píxeles pintados en ella: set (FilaRelevante, eval(FilaRelevante)-1); // ¿Hay un pixel anterior? if (Puntero>1) { // Sí, apuntar a ese: Puntero = Puntero-1; // Continuar haciendo el dibujo: // trace (" Haciendo dibujo, apuntando al pixel anterior."); // trace ("SumadePintados: "+SumadePintados); // trace ("SumadePintadosNuevos: "+SumadePintadosNuevos); Variar(); } else { // No, aumentar tamaño de hoja y reiniciar. trace (ContadorDeDibujos); gotoAndPlay (2); } } } actions for fotograma 2 ContadorDeDibujos = 0; PixelesdeLargo = PixelesdeLargo+1; // Colocados: Pixeles = 0; DistanciaEntrePixeles = 384/PixelesdeLargo; PosicionX = 64-DistanciaEntrePixeles; EnlaFilaActual = 0; PosicionY = 0; MaxPosiciondePuntero = PixelesdeLargo*PixelesdeLargo; // Aquí MinPixelInferior es 3: // 12 // 34 MinPixelInferior = PixelesdeLargo*(PixelesdeLargo-1)+1; // Agregar y distribuir píxeles en blanco: do { Pixeles = Pixeles+1; if (EnlaFilaActual<PixelesdeLargo) { EnlaFilaActual = EnlaFilaActual+1; PosicionX = PosicionX+DistanciaEntrePixeles; } else { PosicionX = 64; EnlaFilaActual = 1; PosicionY = PosicionY+DistanciaEntrePixeles; } // trace("El pixel "+Pixeles+" se colocó en "+PosicionX+", "+PosicionY); attachMovie("mPixel", "Pixel"+Pixeles, Pixeles); setProperty ("Pixel"+Pixeles, _x, PosicionX); setProperty ("Pixel"+Pixeles, _y, PosicionY); setProperty ("Pixel"+Pixeles, _width, DistanciaEntrePixeles); setProperty ("Pixel"+Pixeles, _height, DistanciaEntrePixeles); ColorDePixel = new Color("Pixel"+Pixeles); ColorDePixel.setRGB(0xFFFFFF); } while (Pixeles<MaxPosiciondePuntero); // Pintar una diagonal /: Incremento = PixelesdeLargo-1; Puntero = PixelesdeLargo-Incremento; do { Puntero = Puntero+Incremento; Col = new Color("Pixel"+Puntero); Col.setRGB(0); // trace("Se pintó el pixel "+Puntero); } while (Puntero<MinPixelInferior); // Asignar que en cada columna y fila hay 1 pixel pintado: Puntero = 0; do { Puntero = Puntero+1; set ("PintadosenC"+Puntero, 1); set ("PintadosenF"+Puntero, 1); } while (Puntero<PixelesdeLargo); // El puntero debe estar abajo a la derecha: Puntero = MaxPosiciondePuntero; // El 1er dibujo mostrado no será la diagonal sino... // ella con el pixel mayor pintado, así que... // los dibujos producible siempre son +1 de lo que se dice aquí. actions for fotograma 3 stop (); actions for Vacío onClipEvent (enterFrame) { _level0.Variar(); }
Cosas que quiero hacer luego: - Simplificar la creación de Píxeles, si es posible, debo ver bien cómo lo hiciste. - Evitar repeticiones por simetría horizontal. - Intentar que el orden sea según la combinación más distinta. La idea es que se muestren todos los dibujos posibles en que haya algún píxel pintado en cada columna y fila, pero son TANTOS, que es algo inútil de ver, no se produce mucho interesante... Por eso luego... - Hacer un generador random, de muchos dibujos con tamaño y colores a elección. Y programación genética. La idea es hacer un generador de sprites.
|
|
|
553
|
Foros Generales / Foro Libre / ¿Consejos sobre vender?
|
en: 3 Abril 2024, 14:25 pm
|
Es que no me doy maña ni para buscar info, en mi país existe la página Mercado libre pero no sé si hay que pagar algo a los dueños, ni qué requisitos tiene, ni cómo usarla, etc, y si bien no he googleado "cómo usar Mercado libre" busco algo que me parezca más efectivo.
Lo que tengo son antiguedades, que en general no se consiguen. Por ejemplo tengo una colección de tazos de Chester. Lo mejor que puedo imaginar es organizar un remate para gente que tenga mucho dinero, pero como dije no me doy maña, tendría que ir a un barrio de gente así y poner carteles pero me parece poco ético (es spam) y como soy horrible para cumplir horarios no puedo decir "X día a Y hora", tendría que ser en una página o algo donde la gente pueda ir ofreciendo cada vez más, pero ¿cómo sé si lo están haciendo en serio? Bueno, si alguno me ofrece más y resulta broma, pruebo venderle al anterior y así sucesivamente.
Les iba a dar las cosas a unos familiares pero hasta eso es complicado, es increíble sí, pero miren: Una familiar me dijo que se las diera a mi tía y les envié emails. Mi tía dijo que no entendió qué debía hacer con las cosas, se las di a otra tía, pasó casi un mes y dijo que no tuvo tiempo para dársela a alguien que vive en la misma casa, vi a esa persona un día, le pregunté cuando podía llevarle las cosas y me dijo que se las de a mi tía. No. Y las otras durante meses no respondieron los emails ni el teléfono, mi tía dice que no tienen tiempo pero luego me dijo que estaban paseando. Yo me cansé... Me dediqué un poco a darles un regalo, si lo obstaculizan tanto que no responden o complican diciendo "dáselo a X", chau. Ah, ahora que me acuerdo también le pregunté a un primo si quería las cosas y miró más la caja (un lector de CDs) que el contenido, sacó una bolsa de figuritas con miedo y asco como si fuese un trozo de caca, dijo que no, que sus hijos eran muy chicos.
También pensé en regalárselas a niños con cáncer o algo así pero capaz que se las queda el que las recibe o me dicen que no porque las cosas pueden tener microbios. Pensé en dárselas a niños con problemas mentales pero si ni les prestan atención o les presten demasiada no quiero (no queremos crear Gollums).
Quiero dárselas a alguien que las aprecie en la medida justa, por eso prefiero venderlas. A una maestra, para que se las ofrezca de premio al mejor alumno, podría ser, pero pa qué premiar al más memorizador y capaz que se las queda la maestra...
|
|
|
555
|
Programación / Programación General / Re: Confusión en cuanto a cambiar colores de películas en Flash.
|
en: 31 Marzo 2024, 14:28 pm
|
Estoy asombrado por la simpleza conque generas los píxeles, mi código tiene variables que debo ver si sobran o no, luego quizá te lo muestre para que, en lo posible, me digas cómo simplificarlo, si no me doy cuenta, o como anécdota.
Lo del array también está interesante, pensaré en aplicarlo.
Bien, todo bien. ¿Pero no te parece que sería más fácil algo como: setProperty ("cuadro" + i, _color, FFFFFF); ? Si existiera eso. Me resulta absurdo que requiera tanto trámite. El cuadradito ya tiene un color, como bien has dicho y no sabía sería cuestión de captar cual con get y según eso cambiárselo, como cuando se le cambia la posición u otra propiedad. Uno no hace: c = new XPosition("cuadro" + i); c.set(genXPosition()); en vez de eso se pone: setProperty ("cuadro" + i, _x, genXPosition());
Tal vez tiene que ver con la necesidad de que sea hexadecimal, no sé, asumo que es una imperfección de Flash. No me gustan los trámites absurdos xD
Bueno, voy a cambiar cosas y luego comento, pero no sé cuánto tardaré, tal vez 3 días.
|
|
|
558
|
Programación / Programación General / Confusión en cuanto a cambiar colores de películas en Flash.
|
en: 29 Marzo 2024, 12:00 pm
|
Intento hacer un generador de posibles dibujos, para eso se va variando qué pixel está negro o blanco, creo que se puede resumir en esto: function Variar () { PixelaModificar = "ColordePixel"+Puntero; ColordePixelaModificar = eval(PixelaModificar); // ¿El pixel puede cambiar de color? if (ColordePixelaModificar<1) { // Sí, hacer los cambios: set (PixelaModificar, ColordePixelaModificar+1); Col = new Color("Pixel"+Puntero); Col.setRGB(parseInt(000000, 16));
Los nombres de las variables son confusos, no sé cómo mejorarlos, pero hay un pixel del cual se mira si puede cambiar de color (a negro, 1, 0 es blanco), y en tal caso se lo modifica. El problema es que, supongo, se debería hacer de forma más directa, pero no sé cómo. Tengo ColordePixel1, ColordePixel2, etc, la cantidad de variables así va aumentando, todas son 0 o 1, y eso luego se usa para determinar si el pixel (Pixel1, Pixel2, etc) debe volverse negro o blanco. Para hacer ese cambio se crea una variable que es como una propiedad de una película (Pixel1, o Pixel2, etc), y luego se le asigna un valor que sería el color. También resulta curioso que al redefinir esa variable apuntando a otra película, el color de las películas anteriores que fueron definidas por ella no cambia. No me perjudica, de hecho podría ser mejor tener un montón de variables con 0 o 1, en vez de un montón con FFFFFF y 000000, pero al menos por curiosidad quisiera saber si se puede hacer de modo más directo y que me expliquen mejor qué hacen las 2 últimas líneas del código. Lo normal, digamos, debería ser algo así: Apuntar a un pixel. Si su color es FFFFFF Ahora es 000000 Yo al principio creo variables para que las referencias a nombres o valores queden grabadas, ya que se usan más adelante, así no se tienen que concatenar cosas de nuevo, ese no es el problema. Lo del código que puse al inicio es como: Apuntar a un pixel. Si su color es 0 Ahora es 1 Crear una variable que marca el color del pixel. Asignarle 000000 ¿Cómo se simplifica? Tengo 2 variables marcando el color, no puede ser. Una es eterna pero de por sí no lo cambia, y la otra varia a qué pixel apunta...
|
|
|
559
|
Sistemas Operativos / Windows / Re: Crear videos con condiciones, más rápido.
|
en: 28 Marzo 2024, 10:33 am
|
Eso lo puedes hacer con OBS Studio. Saludos...
Songoku https://foro.elhacker.net/software/iquestprograma_para_grabar_pantalla_obs_me_fallo-t516760.0.html;msg2267138#msg2267138¿Pero cómo se haría? Según he pensado, necesito un programa en que se pueda tener algo escrito y al presionar cierta tecla active el emulador, que ya estaba en pantalla completa. Dije que 1ero debía estar el bloc de notas, pero sí, cualquier cosa donde se pueda escribir y se vea claro está bien. Con Flash no sé si puedo ejecutar programas al presionar botones, además para colmo el emulador se abre siempre en modo ventana (VirtuaNES). Por ahí vi que tienes un Celeron con 2GB de Ram, jeje no sé como le estés haciendo para grabar VSDC Free Screen Recorder, pero no juego juegos pesados. Con el Age of Empires no me funcionó, algún día seguiré ahondando en eso, por ahora juego juegos de NES. Siempre puedes editar el video Psí, igual debo quitar la parte final del video, no hace mucha diferencia también quitar el inicio, pero la idea es ahorrar tiempo. Uso VideoPad, editor de vídeo. m... Tengo que ver bien que tiene una tecla configurable para que empiece/termine de grabar, me había olvidado, el tema es que en pantalla completa y en un emulador, no sé si anda. Probaré. Win + 2 (donde ese 2 corresponde al segundo programa que se muestra en la barra de tareas, obviamente puedes usar más números dependiendo a esto) espero funcionen en Windows 7 XD. Correctísimo, no lo tenía, de hecho tengo la tecla WIN arrancada porque el teclado me queda chico, tenía mal las manos (aún un poco) y pensé que me daba problemas, al tocar 2 teclas a la vez sin querer. Lo de Ctrl+Tab no me funcionó.
|
|
|
560
|
Informática / Software / Re: ¿Cómo averiguo los passwords de archivos rar o extraigo sus contenidos sin saberlos?
|
en: 27 Marzo 2024, 11:28 am
|
Los nombres de los archivos se pueden ver al momento de intentar extraer y según vi, no son los que buscaba, aunque sí los necesitaré pronto. Supongo que Serapis ya sabía eso, pero por las dudas... 1. Que recuerdas de la composición de la clave? Para crear un diccionario adecuado. Creo que era un texto y luego un número. Alguna mayúscula seguro. El texto pudo haber sido un nombre en inglés como John, no sé, el número pudo haber sido 2006, 06 o 6, tengo un vago recuerdo de que a cada rar le puse un password distinto con terminación así según el año. 2. Dispones de alguna GPU que pueda utilizar CUDA o CAL++ para acelerar el proceso de calculo? No sé de esas cosas. ¿Te digo el modelo de mi máquina? Veo esto:  No sé dónde ver más. No has puesto ni un ejemplo de la composición de clave que recuerdes para poder ayudarte. John2006, no sé. TextoNúmero. Pero quizá me equivoque, lo que sí creo casi seguro es que sólo eran textos y números, no teclas extrañas. Un espacio tal vez, lo dudo. ¿Son muuuchas posibilidades? Si son como 60 letras y 10 números, 70*70*70... m, pero varias cosas se pueden descartar como Aa, aA, etc. El 1er caracter era en mayúscula además.
|
|
|
|
|
|
|