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.

Drumpi

Quote from: Futu-block on November 01, 2017, 08:18:03 AM
Otra...
bueno, antes reporto un bug del fpg editor v4.0.2 en ubuntu 17.10 con wine, me repite los graficos...


y ahora la pregunta: ¿puedo de alguna manera preguntar si existe algun archivo?
es para mi juego de la mariquita, como las pantallas son ''editables'' quiero que pregunte si existe el archivo de la siguiente pantalla, sino game over, ¿se puede?

Si FPG Editor te repite gráficos es que el FPG está corrupto. No es la primera vez que me pasa, ni sé cuándo pasa ni por qué, pero es la principal razón por la que aun no he migrado de FPGEdit de forma completa.

Respecto a la duda: file_exists
http://wiki.bennugd.org/index.php?title=Fexists

Una lectura obligada para trabajar con ficheros, CSV y demás que tanto preguntas por Telegram.
http://wiki.bennugd.org/index.php?title=Mod_file
Sí, todas esas funciones, ¡¡léetelas!! :D :D
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

pues vamos por partes, en cuanto a los fpg ya está solucionado, algunos se corrompen como los politicos, lol
en cuanto a resolution, lo he probado y no se por que me escala la posición de los enemigos, ya le echaré un vistaso bueno
y lo de la wiki, me parece muy lucrativo de mirar, ji ji ji, indagaré esa parte tan interesante

Futu-block

Una muy muy tonta, o no...
¿se puede dar el nombre de una variable para los archivos a cargar?
me explico, en cada pantalla quiero cargar una imagen llamada 001.png, en la siguiente la 002.png en la siguiente la 003.png y asi, segun el numero de pantalla quiero cargar un grafico en una variable llamada var_grafic, como es un grafico que va a aparecer antes de cada pantalla compruebo si existe y lo asigno, pero si no se queda en blanco...
¿sería correcto usar esto?:

   var_grafic = load_png("fondos/var_cuenta_pantallas.png");

que a mi me dá que hay que cambiarlo a string o algo asi

gecko

Lo hice en el aire, sin compilar ni probar nada, pero espero que te sirva.

La idea es que primero armamos un string con el numero que necesitas anteponiendole varios 0s. Luego recorto ese string, y me quedo con los ultimos 3 caracteres. Y finalmente uso ese string para armar el nombre del archivo.

string filenumber;
string filename;
int level_number;

// con esto obtengo un string con la forma "0001", o "000999"
filenumber = "000" + itoa(level_number);

// con esto me quedo con un string de 3 caracteres de longitud, empezando desde atras.
// "001" o "999"
filename = substr(filenumber, -3);

var_grafic = load_png("fondos/" + filename + ".png");


Referencias:
http://wiki.bennugd.org/index.php?title=Itoa
http://wiki.bennugd.org/index.php?title=Substr
Torres Baldi Studio
http://torresbaldi.com

Futu-block

osea, que puedo usar numeros de un digito y de dos si hacer la operación?
entonces numero las pantallas del 1 al 99 y me ahorro de poner


// con esto obtengo un string con la forma "0001", o "000999"
filenumber = "000" + itoa(level_number);
// con esto me quedo con un string de 3 caracteres de longitud, empezando desde atras.
// "001" o "999"
filename = substr(filenumber, -3);


Y yo que creía que lo de los tres digitos era obligatorío, al menos para que me lo ordene en la carpeta, pero que le den a la carpeta

gecko

Claro, si los archivos se van a llamar 1.png, 10.png, 100.png no hace falta que hagas todo eso que puse.

Podes hacer directamente var_grafic = load_png("fondos/" + var_cuenta_pantallas+ ".png");
Torres Baldi Studio
http://torresbaldi.com

Futu-block

#66
Me corrijo, para descargar la imagen cargada está la función unload_map(0,var_grafic); en este caso, que me fallaba porque la ruta la ponia como "/fondos/0.png" en vez de "fondos/0.png" una barra inclinada que me estaba volviendo loco

Vale, muy bien, peeeero...
Ahora tengo problemas, al cambiar de pantalla o de imagen, no lo hace
¿he de hacer un descargado de memoria? un unload_png o algo asi para luego un load_png otra vez?

Futu-block

Otra mas, ¿como se listan los archivos de una carpeta?
me interesa que:
· cuente los archivos
· me los ordene via lo que sea (por fecha, nombre, etc)
· me cargue los contenidos en las variables pertinentes
p.ej: varios archivos de sonidos fx no importa el orden

¿se puede hacer o es mu coñazo?

Futu-block

#68
Quote from: gecko on December 11, 2017, 04:30:00 PM
Claro, si los archivos se van a llamar 1.png, 10.png, 100.png no hace falta que hagas todo eso que puse.

Podes hacer directamente var_grafic = load_png("fondos/" + var_cuenta_pantallas+ ".png");

creo que me dá problemas cuando pasa de un digito a dos, osea, cuando pasa de la pantalla 9 a la 10 no me borra los graficos de la 9 pero si me interpreta las durezas de la 10

corregido, era fallo mio, no tenia el grafico numeo 10

Drumpi

GLOB es tu función. Si usas la cadena "*.*" te devolverá todos los ficheros, uno a uno, que tengan extensión.
Lo de contarlos vas a tener que hacerlo tú, lo de ordenarlos también, y lo de obtener su contenido pues ya sabes, FOPEN, FREAD y FCLOSE. No hay más.

Si tienes el código de mi Tilemap Editor V2 (que me consta que sí), hay una serie de procesos que ya hacen eso para mi programa. Están todos localizados, pero necesitan, si no recuerdo mal, las funciones de la class_string.inc (y .h) y si lo quieres con ventana, todos los ficheros de código de interfaz que creé.
Pero en la carpeta src/functions tienes los 4 ficheros que necesitas para lo más básico:
- class_string.h
- class_string.inc (estos dos son para guardar los dtos en una lista de strings)
- filelist.h
- filelist.inc (y estos dos son los que leen los archivos de una carpeta y los guarda en una lista, incluso la ordenan, la clonan, permiten buscar directorios... Lo que no recuerdo es cómo de comentado está el código, pero ejemplos no trae a menos que los leas de otros ficheros del mismo programa).
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

¿pero con que criterío te devuelve los ficheros uno a uno?
ordenados por nombre? por fecha...

tu sabes que yo mirar codigos de la gente como que no me gusta

SplinterGU

Quote from: Futu-block on January 09, 2018, 03:49:19 PM
¿pero con que criterío te devuelve los ficheros uno a uno?
ordenados por nombre? por fecha...

tu sabes que yo mirar codigos de la gente como que no me gusta

por como estan en el disco, por lo general como fueron creados...

sin ordenar...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Goku jr

Quote from: Futu-block on January 08, 2018, 06:16:31 PM
Otra mas, ¿como se listan los archivos de una carpeta?
me interesa que:
· cuente los archivos
· me los ordene via lo que sea (por fecha, nombre, etc)
· me cargue los contenidos en las variables pertinentes
p.ej: varios archivos de sonidos fx no importa el orden

¿se puede hacer o es mu coñazo?

Buenas!
yo tengo esto asi...no esta completo pues estoy haciendo pruebas,espero que te sirva!

process list_file();
private
tx=10;
ty=20;
ey;
begin
//chdir("..");
//chdir("bin");
  filename=glob("*.*");
loop

   filename=glob("*.*");
   say(fileinfo.path+filename+"  "+fileinfo.size /1024 + " KBYTES");
     write(0,tx,ty,14,fileinfo.path+filename+"  "+fileinfo.size /1024 + " KBYTES");
     ty=ty+20;
     filenum=filenum+1;
if(filenum=>100);
break;
end

    frame;
    end
end

Futu-block


Futu-block

Otra, aunque no se si la he preguntao ya...

¿hay interactuaciones con la rueda del raton? o en un momento dao con el click central