| |
|
1
|
Foros Generales / Foro Libre / ¿Qué saben sobre los ataques sónicos?
|
en: 6 Marzo 2026, 18:50 pm
|
https://www.youtube.com/shorts/7Q7FZgZo88Ahttps://www.youtube.com/shorts/-LiD9vS8Bb4También me gustaría que me dijeran cómo ver esos videos de forma normal, porque en ese formato no me funcionan las flechas (luego de cliquear la pantalla, las flechas arriba y abajo controlan el volúmen y hacia los costados el momento mostrado). Yo suelo sentir ruidos a cada rato, son muy molestos, a veces también vibraciones en el pecho o hasta en la cabeza. A veces parecen como truenos muy lejanos o como electricidad muy fuerte lejana. Según leí no hay forma de pararlos (auriculares, tapones, etc, nada, además si se sienten en el pecho es en vano taparse los oídos). Recientemente leí que los cubanos suelen poner la música muy fuerte, y aquí han llegado muchos se dice, además hubo hace un tiempo un supuesto ataque sónico en una embajada en Cuba https://www.bbc.com/mundo/noticias-america-latina-46559532todo lo cual puede no ser casualidad, y podría tratarse no de un ataque sino consecuencia de los ruidos que hacen (si una persona va a zonas altas sufre mareos y cosas, pero la gente que está acostumbrada no, suele pasar en Bolivia; análogamente quizá los cubanos al estar acostumbrados al ruido no sufren las consecuencias). Aquí hay más info https://incb.com.mx/index.php/articulos/13-medio-ambiente-y-salud/2016-los-ataques-sonicos-como-se-producen-y-cuales-son-sus-efectos-art411s
|
|
|
|
|
2
|
Programación / Programación General / 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í: Images = 0; do { Name = "Piso"+Images; attachMovie("sDKPiso", Name, Images); setProperty (Name, _x, Images*27); setProperty (Name, _y, 568-Images*18); setProperty (Name, _xscale, 100-Images*3.4); Images++; } 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: Images = 0; do { Name = "Piso"+Images; attachMovie("sDKPiso", Name, Images); setProperty (Name, _x, Images*27); setProperty (Name, _y, 568-Images*18); Images++; } 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: Pisos = 0; do { Name = "Piso"+Pisos; attachMovie("sDKPiso", Name, Pisos); setProperty (Name, _x, Pisos*27); setProperty (Name, _y, 568-Pisos*18); PartesDelPiso = 0; PartesRequeridas = 31-Pisos; do { SubName = "Parte"+PartesDelPiso; Name.attachMovie("sDKPisoParte", SubName, PartesDelPiso); setProperty (SubName, _x, 32*PartesDelPiso); setProperty (SubName, _y, 0); PartesDelPiso++; } while (PartesDelPiso <= PartesRequeridas); Pisos++; } 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 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?
|
|
|
|
|
3
|
Foros Generales / Foro Libre / Tomar fotos con celular a muchas páginas de revistas.
|
en: 23 Febrero 2026, 13:27 pm
|
|
Lo intenté de forma normal pero me tiembla demasiado la mano y entonces algunas fotos salen borrosas. Sosteniendo el cel con ambas manos no sucedería pero creo que es incómodo luego pasar la página, volver a agarrar el celular, etc.
Averigué precios de trípodes o sea algo que sostenga el celular, pero me pareció que no vale la pena el gasto.
Pensé cómo podría hacer para fijar el celular, por ejemplo tengo una radio de las antiguas con espacio para cassettes, abrí eso, puse el celular ahí, queda inclinado, pero filma demasiado hacia adelante. Pensé en otras cosas, por ejemplo hacer como una caja con agujero, la pongo encima de una pila de revistas, pero debo lograr cierta inclinación y es un lío pasar páginas con esa pila delante quizá, no sé ¿cómo puedo hacer?
|
|
|
|
|
4
|
Programación / Programación General / Juego Flash demasiado lento.
|
en: 16 Febrero 2026, 10:35 am
|
Lo había vivido con PCs más antiguas. Más allá de que ahora esta es antigua también, quisiera sugerencias sobre cómo el juego puede funcionar más rápido. El problema creo que siempre fueron los barriles cayendo, no hay límite de cuántos, pero cuando salen de la pantalla los quito, y no llega a haber tantos. Se chequea si tocan la cabeza y cuerpo de Mario. Pero se ha puesto mucho peor desde que agregué pisos. No es que vayan a quedar así, pero a ver cual sería la respuesta ajustada a este caso.  Cada línea de piso es una instancia de un movie clip: DK Piso Cada movie clip de esos tiene muchas instancias del mismo dibujo: DK Piso parte. Cuando Mario salta se chequea cuales pisos toca (los diferentes DK Piso). Creo que la clave va por ahí ¿cómo conviene que sea? Algunas alternativas son: - Que no haya DK Piso partes. - Que los dibujos sean bit maps. Por lo que veo no estaba eliminando los barriles. No es tan fácil, este es el código relacionado: function AddBarriles () { BarrilesTurn = BarrilesTurn+BarrilesRate; while (BarrilesTurn >= 100) { BarrilesTurn = BarrilesTurn-100; Barriles++; Name = "Barril"+Barriles; attachMovie("sDKBarril", Name, Barriles); setProperty (Name, _x, Math.random()*800); setProperty (Name, _y, -5); set(Name+".SpeedX", Math.random()*MinBarrilSpeed*(random(2)*2-1)); set(Name+".SpeedY", Math.random()*MinBarrilSpeed+MinBarrilSpeed); } } function MoveBarriles () { BarrilaMover = 31; while (BarrilaMover <= Barriles) { Name = "Barril"+BarrilaMover; setProperty (Name, _x, getProperty(Name, _x)+eval(Name+".SpeedX")); setProperty (Name, _y, getProperty(Name, _y)+eval(Name+".SpeedY")); // Pàra referirse al área de los barriles: NroDeArea = 1; do { AreaaChequear = eval(Name)+".Area"+NroDeArea; // Si tocan a Mario: if (Player.Movie.Z1.hitTest(AreaaChequear) == true) { trace("Golpeado en la cabeza"); // Game over: gotoAndStop (3); break; } else if (Player.Movie.Z2.hitTest(AreaaChequear) == true) { trace("Golpeado en el cuerpo"); // Game over: gotoAndStop (3); break; } NroDeArea++; } while (NroDeArea < 4); BarrilaMover++; } }
Se debería evitar que la cantidad de barriles se mantenga si algunos ya no están. Pero los que se eliminarían no son necesariamente los 1eros. En principio puedo poner una variable MenorNroDeBarril y así en vez de empezar desde el 31 (eso es porque hay 30 o 31 otras imágenes con un depth menor: Mario, los pisos...) se revisaría desde el valor de esa variable. Pero hay una solución mejor, que no se me ocurre bien, guardar en una lista los números de barriles eliminados y al agregar otros en vez de asignarles la cantidad de barriles (ejemplo hay 50, al nuevo le ponemos barril50) asignarle uno de esos números. Por otro lado, en el while, si chequea si Mario está tocando un barril inexistente (borrado), no sé bien si no dará problemas. Al pasar de pantalla todos los barriles desaparecen y en mi PC el juego vuelve a funcionar rápido, el tema es que no es posible pasar las pantallas antes de que se ponga muy lento.
|
|
|
|
|
5
|
Informática / Software / Buscador de archivos en Windows 7 en rango de fecha incluyendo dentro de rars.
|
en: 15 Febrero 2026, 03:43 am
|
No sé si con el buscador mismo de W se puede, no he visto lo del rar, o buscas y aparece la opción mientras se busca, hay que ponerla cada vez, busco algo más automático porque debo repetirlo bastante. ¿Qué programa recomiendan? Mientras busco por mi cuenta. PD: Y que a la lista resultante la pueda ordenar por fecha. Probé Agent Ransack, recomendada por el bot del foro. No veo la opción de incluir archivos en rars.  El bot dijo que había.
|
|
|
|
|
6
|
Foros Generales / Foro Libre / ¿Alguien se autopercibe como robot o IA?
|
en: 14 Febrero 2026, 14:41 pm
|
En Uruguay y Argentina hace unos días hubo una especie de escándalo porque aparecieron varios diciendo que a veces les gusta actuar como si fuesen animales. https://www.youtube.com/watch?v=U4jtfA3lpOEhttps://www.youtube.com/watch?v=kA6Ho4IrXOwMe preocupan (y molestan) más los que fuman por ejemplo, pero en fin. En cuanto a la pregunta, es más bien una broma, pero en una sociedad donde muchos humanos parecen locos, dejar de percibirse como humano y percibirse como algo más racional no parece tan loco. Yo debido a ciertos deseos que sufría por no poder cumplir, en cierta medida deseaba ser robot, no tener esos deseos. Actualmente más bien me identifico con extraterrestes. En un capítulo de Ghost in the Shell hay un tipo que se convierte en un robotito que sólo hace promociones, según recuerdo. Básicamente se borró la memoria, la consciencia, todo, no tiene mucho sentido. Y también tenemos a Robocop. En cierta medida, programado para proteger y servir, o algo así. El sentido de la vida, o sea el motivo que hace que sea bueno que exista, parece sentir felicidad. Cuando no es posible, puede que convenga continuar, insensible, para cumplir ciertos deseos. No digo malos deseos obvio, es si se tiene un buen objetivo pero el sufrimiento es como una carga muy pesada. Algunos recurren al alcohol, drogas o medicamentos, yo nunca. Es triste también que haya reuniones de "shapeshifters" y no de programadores, que yo sepa.
|
|
|
|
|
7
|
Foros Generales / Sugerencias y dudas sobre el Foro / ¿Qué hacer ante posibles bots?
|
en: 12 Febrero 2026, 19:23 pm
|
Parece que los bots o sus creadores han empezado a usar (al menos aquí) la técnica de participar en un tema para preguntar algo. Y no lo digo por este caso https://foro.elhacker.net/foro_libre/pack_de_programas_principalmente_juegos_que_intento_hacer-t524295.0.html;msg2286170#msg2286170no sé si es un bot, sino por otro parecido al que le borraron el mensaje. Era más obvio porque en su firma hablaba de algo como si lo estuviese promocionando, y su participación fue mucho más simple (menos palabras) y casi increíble (porque se interesó en algo que al parecer casi nadie se interesa). La cuestión es: ¿Cómo no responder a bots sin caer en la paranoia de que todos lo son? No digo que haya una regla, pero sí un protocolo informal, opcional, recomendado, por ejemplo que si en la firma parece promocionar algo no se le responde. Pero de hecho el usuario al que puse link también tiene un link en su firma, así que está un poco difícil determinar cuando "parece demasiado un bot, no le respondo" y cuando "le respondo". ¿Qué se recomienda?
|
|
|
|
|
9
|
Programación / Programación General / ¿Por qué dice que no hay solución si se supone que sí?
|
en: 3 Febrero 2026, 14:24 pm
|
Action1 = ""; Action2 = ""; // Usada repetidamente por un objeto en el frame 1: function FuerzaBruta () { Mensaje = "Probando "+Action1+" y "+Action2; if (Action1<Action2) { trace("Action1<Action2"); // Solución; mostrar en pantalla y fin. Mensaje = "Se recomiendan las acciones "+Action1+" y "+Action2; gotoAndStop (2); } else if (Action1<"111") { Action1 = Action1+"1"; trace("Action1"); } else if (Action2<"111") { Action1 = ""; Action2 = Action2+"1"; trace("Action2"); } else { Mensaje = "No se pudo hallar una solución"; gotoAndStop (2); } } stop ();
Ni siquiera me muestra los traces, o sea nunca se cumplen estas condiciones: if (Action1<Action2) { } else if (Action1<"111") { } else if (Action2<"111") { Pero según GPT cuando una cadena se compara con otra se mira el valor ASCII o algo así de cada caracter, algo parecido a que se chequea qué cadena va 1ero en orden alfabético. if (Action1<Action2) { deberia cumplirse en el par "" y "1", o en el par "1" y "11", etc. Salvo que cuando no haya caracteres diga "no hay con qué comparar, false". } else if (Action1<"111") { Action1 empieza como "", y "" < "111", así que esta condición debería cumplirse. En fin, intentaba hacer un código simple, sin usar lenght ¿es realmente necesario? Operadores > < (menor que)
< (menor que) Sintaxis
expresión1 < expresión2 Argumentos
expresión1, expresión2 Números o cadenas.
Descripción
Operador (de comparación); compara dos expresiones y determina si expresión1 es menor que expresión2 (true), o si expresión1 es mayor o igual que expresión2 (false). Las expresiones de cadena se evalúan y comparan basándose en el número de caracteres de la cadena.
Reproductor
Flash 4; Flash 5 o posterior. En Flash 5 < es un operador de comparación capaz de manejar varios tipos de datos. En Flash 4, < es un operador numérico. Los archivos de Flash 4 que se incorporen a un entorno de creación de Flash 5 sufren un proceso de conversión para mantener la integridad de los tipos de datos. El primer ejemplo a continuación muestra el proceso de conversión.
Ejemplo
A continuación se muestra un ejemplo de conversión de un archivo de Flash 4 que contenga una comparación de cualidad numérica.
Archivo de Flash 4:
x < y Archivo de Flash 5 convertido:
Number(x) < Number(y) El ejemplo siguiente muestra las devoluciones de true y false tanto para cadenas como para números:
3 < 10 or "Al" < "Jack" return true 10 < 3 or "Jack" < "Al" return false Hmp. Tampoco es como dijo GPT del código ASCII, es por la longitud de la cadena, no es necesario poner length ¿pero entonces qué pasa? Se debería cumplir esto } else if (Action1<"111") { "" < "111" ¿por qué no se cumple? Edit: El bot de acá tampoco acertó, dijo: Ejemplo 1: "" < "1" → false
En ActionScript, una cadena vacía ("") no es menor que ninguna otra cadena en términos de comparación lexicográfica (basada en el orden de caracteres Unicode, no en longitud).
Pero acabo de poner que las variables Action inicien como "1" y al resetearse también, y el resultado es el mismo. "1" no es < "11" Edit2: Más simple: Action1 = "1"; Action2 = "1111"; if (Action1<Action2) { trace("jdbhbdhbdf"); }
No se cumple. Action1 = "1"; Action2 = "a"; if (Action1<Action2) { trace("jdbhbdhbdf"); }
Se cumple. Action1 = "1"; Action2 = "aaa"; if (Action1<Action2) { trace("jdbhbdhbdf"); }
Se cumple. O sea, lo que copié del manual parece que está equivocado ¿? "Las expresiones de cadena se evalúan y comparan basándose en el número de caracteres de la cadena." ¿Quizá lo tradujeron mal del inglés? Edit3: Creo que ya entendí al bot. "1" < "11" no se cumple porque "1" == "1" "" nada "1" o sea se considera false según dijo.
|
|
|
|
|
10
|
Programación / Programación General / Problema al tomar cartas.
|
en: 31 Enero 2026, 14:32 pm
|
En el siguiente video notarán varios errores pero céntrense en la posición de las cartas, estoy diciendo al juego que me de otra y otra, etc, y debería mostrarlas mejor posicionadas (las cartas, los símbolos en ellas son otro tema) ¿cómo lo logro? https://youtu.be/o0IiQwvmSOY// para tomar otra carta: Crear función para distribuir cartas y agregar 1, en vez de agregar y redistribuir todas cuando ya están. // Generar array de cartas: Cartas = []; Nro = 0; do { Nro++; Cartas[Cartas.length] = "P"+Nro; Cartas[Cartas.length] = "T"+Nro; Cartas[Cartas.length] = "C"+Nro; Cartas[Cartas.length] = "D"+Nro; } while (Nro < 13); // Ordenarlas al azar: // Eso creo que no tiene que ver así que no lo pongo acá. // Dar 2 a jugadores: SiguienteNroDeCarta = 0; CartasDeHumano = []; // Para facilitar las sumas: NumerosDeHumano = []; CartasDeIA = []; do { CartasDeHumano[CartasDeHumano.length] = Cartas[SiguienteNroDeCarta]; NumerosDeHumano[NumerosDeHumano.length] = Number(Cartas[SiguienteNroDeCarta].substring(1, Cartas[SiguienteNroDeCarta].length)); CartasDeIA[CartasDeIA.length] = Cartas[SiguienteNroDeCarta+1]; SiguienteNroDeCarta = SiguienteNroDeCarta+2; } while (SiguienteNroDeCarta < 4); // Mostrarlas en pantalla: function MostrarCartasDeHumano () { NroDeCartaaMostrar = 0; if (CartasDeHumano.length % 2 == 0) { PosicionDe0 = 256 - CartasDeHumano.length-1 * 50 - 25; } else { PosicionDe0 = 256 - CartasDeHumano.length * 50; } // trace(PosicionDe0); do { NombreDeCarta = "CartaDeHumano"+CartasDeHumano[NroDeCartaaMostrar]; attachMovie ("sCarta", NombreDeCarta, NroDeCartaaMostrar); setProperty (NombreDeCarta, _x, PosicionDe0+(NroDeCartaaMostrar)*150); setProperty (NombreDeCarta, _y, 192); // Para el interior de la carta: // Eso creo que no tiene que ver así que no lo pongo acá. NroDeCartaaMostrar++; } while (NroDeCartaaMostrar < CartasDeHumano.length); } MostrarCartasDeHumano(); // Calcular suma de humano: // Eso creo que no tiene que ver así que no lo pongo acá. // Calcular suma de IA: // Eso creo que no tiene que ver así que no lo pongo acá. // Tomar carta sí o no. Un objeto en F2 repite esto: function TomarCartaSoN () { // Si se presiona izquierda: if (Key.isDown(37)) { // Eso creo que no tiene que ver así que no lo pongo acá. } else if (Key.isDown(39)) { SiguienteNroDeCarta++; CartasDeHumano[CartasDeHumano.length] = Cartas[SiguienteNroDeCarta]; NumerosDeHumano[NumerosDeHumano.length] = Number(Cartas[SiguienteNroDeCarta].substring(1, Cartas[SiguienteNroDeCarta].length)); Mensaje = "Has recibido "+CartasDeHumano[CartasDeHumano.length]; MostrarCartasDeHumano(); } }
|
|
|
|
|
|
| |
|