Tontadas y pamplinas + Otras dudas

Started by Futu-block, August 19, 2016, 01:28:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

#105
Edito para evitar ''confunancias''  ;D

Muy bien, gracias, no habia caido en eso, probando...


Quote from: SplinterGU on January 25, 2018, 05:37:23 PM

estaria bueno, una opcion para transparentar o poner en no visible ciertas partes del muñeco, por ejemplo, el cuerpo, asi se ven bien los brazos y otra opcion de sincronizar movimientos entre miembros (por ejemplo, los brazos, asi cuando cambiamos el angulo de uno cambien los 2 para poder ver el efecto bien)

lindo tu ejemplo, un lujo

la opción de transparentar por ''piezas'' será disponible para cuando se haga el comic se pueda ''exportar por partes'' segun te convenga, por ejemplo un abrazo, en el antiguo bitstrips no se podia hacer desaparecer un brazo y colocarlo (por capas) por separado encima del otro muñeco

SplinterGU

#106
Quote from: Futu-block on January 26, 2018, 02:52:20 PM
Muy bien, gracias, no habia caido en eso, probando...

Aparte, tengo problemas de audios; aunque en primer lugar me equivoqué y exporté a .ogg ... matarme

De un audio grande he recortado y exportado a .wav con audicity a 16 bit, luego lo meto en el videojuego y me suena asi, duplicado y mas lento:
https://youtu.be/nacdSSHn4R0

No se si debería dejarlo en mono...

No, acabo de probarlo y no sale bien, sigue dando el mismo problema

comparti el codigo modificado, con los puntos de control y demas.

(no tengo ahora una herramienta para editar los puntos de control, sino lo modificaba todo)

los graficos deben tener el centro en su eje y el punto de control 1 (2, 3, etc) en el punto donde otros objetos ponen su eje.

por ejemplo, el brazo, centro en el hombro, y punto de control 1 en donde va la mano centrada.

si modificas asi el fpg y me decis donde esta cada uno, yo te modifico el codigo...

(el cuerpo tambien tiene que tener puntos de control donde va cada extremidad, decime que extremidad va en cada punto de control)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

#107
Otro problema de otra clase (para evitar dobles respuestas, todavia no he podido probar lo de antes)

Tengo problemas de audios; aunque en primer lugar me equivoqué y exporté a .ogg ... matarme  <--------- al parecer está bien echo

De un audio grande he recortado y exportado a .wav con audicity a 16 bit, luego lo meto en el videojuego y me suena asi, duplicado y mas lento:
https://youtu.be/nacdSSHn4R0

No se si debería dejarlo en mono...
No, acabo de probarlo y no sale bien, sigue dando el mismo problema

De hecho me lo resuelven en el youtube, tenia un ''lupazo'' del caraho que no paraba de repetir mil millones de veces por segundo

Futu-block

#108
Quote from: SplinterGU on January 26, 2018, 02:57:05 PM
Quote from: Futu-block on January 26, 2018, 02:52:20 PM
Muy bien, gracias, no habia caido en eso, probando...

Aparte, tengo problemas de audios; aunque en primer lugar me equivoqué y exporté a .ogg ... matarme

De un audio grande he recortado y exportado a .wav con audicity a 16 bit, luego lo meto en el videojuego y me suena asi, duplicado y mas lento:
https://youtu.be/nacdSSHn4R0

No se si debería dejarlo en mono...

No, acabo de probarlo y no sale bien, sigue dando el mismo problema

comparti el codigo modificado, con los puntos de control y demas.

(no tengo ahora una herramienta para editar los puntos de control, sino lo modificaba todo)

los graficos deben tener el centro en su eje y el punto de control 1 (2, 3, etc) en el punto donde otros objetos ponen su eje.

por ejemplo, el brazo, centro en el hombro, y punto de control 1 en donde va la mano centrada.

si modificas asi el fpg y me decis donde esta cada uno, yo te modifico el codigo...

(el cuerpo tambien tiene que tener puntos de control donde va cada extremidad, decime que extremidad va en cada punto de control)

vale, el unico problema que tengo ahora mismo es que reconozca cada punto de control como independiente, que como lo veo muy lioso y me la repampinfla ahora mismo voy a hacer otra cosa y es ''duplicar'' el grafico, osea hago uno que corresponda a la distancia desde el ''punto de agarre'' del cuerpo y a la hora de espejar sea el nuevo proceso el que haga el flag pertinente y respete el angulo y demas cosas del padre

-----------0-----------
Otro problema que tengo es el conflicto que tengo con los hermanos, nada que no se solucione con el public de sus castas, que soluciono con global, pero eso ya es otra historia, no haced caso de esto ultimo

-----------0-----------

buf, hoy es dia de problemas, en mi via habia visto este error al salir, ¿que tengo que hace? creo que descargar tela de cosas, ¿no?

SplinterGU

no entiendo eso del punto de control independiente
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

si tiene dos o mas puntos de control, ¿a cual obedece y porque?

Drumpi

SI tiene dos o más puntos de control, el "centro", el que se se coloca en las coordenadas que tú le digas, el se se usa de eje de rotación, lo definas o no, SIEMPRE es el punto de control CERO. El resto están ahí, y se mueven con el proceso al cambiar sus coordenadas, su rotación y su tamaño, y sólo puedes saber su posición real en pantalla con GET_REAL_POINT.
En tu caso, un brazo necesita DOS puntos de control: el CERO en el hombro, que es donde va a girar, y el UNO en la muñeca, que es donde vas a colocar un proceso "hijo", o sea, la mano.
El tronco va a tener varios: el CERO debería ir a las caderas, porque es donde va a rotar el cuerpo (¿te acuerdas por qué te dije que en los sprites el punto de control va entre los pies? pues este caso es similar), pero luego necesitas dos puntos de control para poner las piernas, dos puntos de control para los hombros, y otro más para el cuello.
Los puntos de control secundarios son marcadores de posición, nada más, pero el CERO es diferente.

Respecto a lo del Pico 8 y sus PNG. Claro que se usa PNG para almacenar más información, pero si lo abres con Photoshop no te sale la información del juego ¿verdad? No te sale el código, ni te sale la partitura de la música, ni siquiera las paletas. Porque Photoshop solo lee la información del PNG, igual que LOAD_FPG sólo lee la información válida del FPG. Pico 8 lee DESPUÉS de esa información para tener los datos de juego.

¿Significa eso que se puede añadir información DESPUÉS de los datos del FPG? Se podría, sí, pero no se puede. El formato PNG tiene datos que nos dicen el ancho y el alto de la imagen, por lo que si una imágen tiene 100x100 pixels, después de leer 10000 pixels, Photoshop deja de leer más datos.
En el caso del FPG, no se sabe cuántos mapas hay, por lo que el programa va a leer mapas hasta quedarse sin nada más que leer. Y eso es lo que le pasó a DCelso cuando hizo su FPGEditor: intentó meter información suya tras el último mapa del FPG ¿y qué pasó? Que todos los editores, Fenix y Bennu, interpretaron esa información extra como otro mapa, con el código 1001, y unos cuantos nos volvimos locos con errores rarísimos. Incluso Splinter tuvo que añadir código a Bennu para que no leyese mapas con numeración >=1000 para evitar este problema.

Como digo, si necesitas info extra en tus gráficos, tienes que hacerte tu propio formato, o usar alguno al que le puedas añadir info "por detrás", como pueden ser los MAP, los BMP o los PNG, pero Bennu no te va a leer esa información, tienes que leerla tú con FREAD.

Ahora es muy tarde para ponerme a buscar, pero se ha publicado en el foro muchísimas veces el formato, byte por byte, de lo que contienen los formatos FPG, MAP y FNT. Es más, creo que en algún punto llegué a subir yo un código que leía FPGs usando FREAD. Incluso digo más, el código de "ccolor" o "cambia color" (un programa que me hice para cambiar colores de forma masiva en FPGs, MAPs y BMPs) incluye esos códigos e incluso para leer el formato BMP en su formato más básico. Te toca hacer deberes: a buscar ^^U
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

¿bueno, y que orden lleva a la hora de ponerle puntos de control?
Porque el primero que declare debe ser el punto cero, ¿no? y todos los puntos los vá a leer del archivo extra

La forma ponerle un punto de control secundario para que de ahí parta la extremidad o el miembro no me parece muy okey y no se si va a dar problemas a la hora de girar, yo le doy un radio con respecto al punto central de su padre y una inclinación con respecto a ese radio que crea un punto en la circunferencia creada...
No se si es muy lioso y no sabria pegarlo en el punto de control secundario, igual es mejor con el segundo punto de control y me espeja bien, pero ya te digo, no se como hacer que el centro del hijo sea el segundo punto de control del padre

SplinterGU

lo ha explicado muy bien drumpi...

futu-block, creo que tienes una buena confusion...

cuando dibuja, rota, etc... solo tiene importancia el punto de control 0 (cero), el punto de control 0 es el centro, siempre, es lo mismo que setees el punto 0 a que setees el centro... en la funcion point_set (o set_point), tu le dices que punto de control quieres setear, no es segun el orden que los setees... la sintaxis es...

point_set(file,graph,n,x,y)

donde n es el numero de punto de control de 0 a 999
x e y, son las coordenas dentro del mapa para cada uno de esos puntos

el core no hace nada con esos puntos de control, esos puntos de control solo son de utilidad al programador, un uso comun es para indicar donde poner por ejemplo, la mano, o un arma, o lo que sea...

el centro del hijo sea el punto de control del padre es simple

en el padre tenes que tener algo asi como

get_real_point(n,&p1x,&p1y);

donde n es el numero de punto de control (por ejemplo 1) y &p1x y &p1y, punteros a enteros donde la funcion devolvera las coordenadas calculadas teniendo en cuenta posicion, angulos y size.

luego desde el hijo haces

x = father.p1x;
y = father.p1y;

y si necesitas size y angle

size = father.size;
angle = father.angle;
o
angle = father.angle + my_angle;

lo mismo para flags

bueno, ya ahi te daras cuenta solo que otras cosas debes tomar del padre.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

vale, ya lo voy pillando (estas cosas is no las entiendo y comprendo como que no me entra) yo seteaba el centro:
set_center
y lo que me decis son puntos de control
point_set
En principio el error es obvio, de esta forma si se puede hacer lo que creia que se podia hacer: Poner ciertos puntos en la imagen y luego ''pegar'' una nueva imagen en esos puntos

gracias

Futu-block

Vale, despues de perder toda la mañana intentandolo y mirando a la biblia y sus ejemplos, la cosa se me complica bastante, ha de ser porque soy demasiado torpe o ya tengo una edad que me cuesta trabajo entender las cosas...

El caso es simple, quiero darle un punto de control a un grafico padre y hago esto
set _point(0,660,1,5,5);
traducido, el punto 1 del grafico 660 del fpg 0 es x = 5, y = 5 ¿no?

Ahora a su hijo debo de hacerle un ''get point''
get_point(fathet.file,father.graph,1,&punto_controlX,&punto_controlY);
que traducido es (porque tambien lo he probado numerico) el punto 1 del grafico 660 del fpg 0 son: punto_controlX y punto_controlY (variables privadas del hijo)
Cuando las asocio a las x,y del hijo, evidentemente me las coloca donde no está el grafico del padre, no pasa nada, lo veía venir...
Y aqui me atasco por parte de la biblia

En el caso de maese Splinter si hago
get_real_point(0,&p1x,&p1y);
¿¿le tengo que hacer publica las dos variables p1x y p1y que luego se las paso al hijo??
Aqui me rayo bastante con lo publico (que odio a muerte) pero que haciendo lo otro que puse tampoco me dá los resultados que quiero









A ver si me podeis decir porque me pasa esto, porfa:
Quote from: Futu-block on January 26, 2018, 05:31:45 PM
buf, hoy es dia de problemas, en mi via habia visto este error al salir, ¿que tengo que hace? creo que descargar tela de cosas, ¿no?


SplinterGU

puedes ponerla como publica o como local...
tienes que usar get_real_point, y se hace desde el padre porque asi toma en cuenta coordenadas (x,y), angle, size, sizex, sizey, flags, resolution, region, etc...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

ni idea por que te da esos errores, sin codigo no puedo saberlo.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

Ya he dao con lo del error y era que cargaba en array con un bloque for varios audios:


No se porque co* me daba problemas al salir como que no lo descargaba o algo, da igual, usaré lo que uso en los demas, una carga temporal:



wav_x = load_wav("audio/"+rand(28,29)+".ogg");
set_wav_volume(wav_pelotaso,28);


en vez de cargar 10 y luego que suene aleatoriamente uno de ellos lo que hago es que cuando toque sonar (si no es el mismo numero que salió en el aleatorio) cargue el sonido correspondiente y lo reproduzca

una cosa solucionada, cuando termine con este juego me pongo con el programa y ya veremos lo de point ese, que seguro que si lo tomo con calma lo veo mas claro ;)

Drumpi

La idea es que el padre, que es el que contiene los puntos de control del 1 al 999, modifique la posición del hijo, haciendo

get_real_point(1, &(hijo.x), &(hijo.y))

Si no, tienes que buscar la manera de pasar los valores entre dos procesos, bien con variables locales, con públicas o usando punteros en los parámetros de entrada (las variables que van entre paréntesis junto al nombre del proceso cuando lo estás empezando a escribir).
Eso sí, cuidado con el orden de ejecución, porque te puede dar problemas, o un pequeño retraso.

Pero los puntos de control son muy útiles. Recuerdo haberlos usado en diferentes puntos de Screen Break Time, como en la primera fase, con los caracoles voladores para sus linternas con alpha, en el combate contra Jurk Hoygan con el ataque molinillo de Panta, en la fase de vuelo para determinar desde dónde salen los disparos, en los microjuegos como el del desatascador...
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)