PROBLEMA con fuentes.TTF y funcion Scanf en BennuGD

Started by Tayura_TT, September 16, 2017, 07:30:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Tayura_TT

Saludos nuevamente foro de Bennu, esta vez me ha surgido un problema con las fuentes .ttf en Bennu y una duda con respecto a la existencia de una función en bennu.

Empezando con las fuentes... Eh descargado desde la wiki de bennu las dll necesarias para poder cargar fuentes true type en bennu y poder usarlas en mi juego, eh seguido las instrucciones de instalación al pie de la letra pero a la hora de mostrar un texto en el juego usando la fuente que cargue no aparece, es como si no hubiera cargado la fuente. Agradecería que alguien me explicara a que se debe esto, la versión del bennu pack que me descargue es la 2.7

Y el otro asunto que quiero consultar es si existe una función parecida a "Scanf" del lenguaje C en Bennu. Para el que no sepa que hace esta función es basicamente almacenar un valor dado por el usuario, en una variable.

Eso es todo espero puedan ayudarme y feliz día, tarde o noches, según su horario. ;D
Trabajos Actuales: "Proyecto Chizuru" y "Hoppy Bat"

SplinterGU

hola, de la ttf no sabria decirte.

con respecto a la scanf, no existe oficialmente en bennugd.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Drumpi

Te recomendaría que empezases por la prueba más sencilla: cambia el color de fondo. Es posible que la fuente tenga el mismo color que el fondo y por eso no se vean. Si no es el caso, es posible que el modo de color de pantalla te esté dando problemas. Prueba con SET_MODE a 16 u 8 bits, o creando las fuentes con diferente profundidad de color.
No sé, hace mucho que no uso esa DLL, y cuando lo hice no me dió ninguna pega.

Respecto a scanf, eso no existe, pero hay un código que suple esa carencia. Si no lo encuentras en una semana buscando por el foro, vuelve a preguntar y te lo escribo, pero te doy una pista: usa SWITCH y la variable global ASCII ;)
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)

l1nk3rn3l

#3
si parece que la mod_ttf no funciona como deberia, (incluida en ejemplos DLL)
ademas las ttf tienen licencias comerciales.. mejor usar fnt


el bennupack incluye un editor de fuentes que te permite convertir
una fuente ttf del sistema (instalada en windows ) a una fuente font   --> solucion ideal para tener ttf en bennu...

windows 10
https://www.groovypost.com/howto/install-fonts-windows-10/

windows 7
https://www.microsoft.com/en-us/Typography/TrueTypeInstall.aspx

el bennupack incluye ejemplos nivel medio , en el directorio "text stuff"
encontraras los ejemplos de entrada de datos que buscas...

https://sourceforge.net/projects/coldev/files/bennupack/

y descargate el bennupack 2.9 para mejores resultados... (en el mismo sitio)



uno de los ejemplos le falta una coma aqui esta (descargate los ejemplos , input example ):


// ============================================================
/*
  AUTHOR: PRG
   
   
  input text 

*/


function escribe(string pointer nmbre, int pointer uno ,int pointer contador,
            int pointer limite_contador,int pointer ascii2, int pointer simbolo)
begin
if (substr(nmbre[0],-1,1)=="|")
         nmbre[0]=substr(nmbre[0],0,len(nmbre[0])-1);
      end

      simbolo[0]++;

                if (ascii<>ascii2[0])   uno[0]=false;
                end

               if (ASCII<>0)
                      ascii2[0]=ascii;
         if (uno[0]==false)
            if (not key(_BACKSPACE))
                  nmbre[0]+= chr(ASCII);
            else
                  nmbre[0]=substr(nmbre[0],0,len(nmbre[0])-1);
            end
            uno[0]=true;
            contador[0]=0;
         else
                        contador[0]++;
         end
      else
         uno[0]=false;
         limite_contador[0]=5;

      end
      if (contador[0]>limite_contador[0])
                uno[0]=false;
                if (limite_contador[0]>1)
                limite_contador[0]=1;
                end
      end



         if (simbolo[0]>12)
            nmbre[0]+="|";
            simbolo[0]=0;
            frame;
         end
end;




private
   string nmbre;
   simbolo, uno, contador, limite_contador;
   ascii2;

begin
  set_mode(640,480,16);
  write_string(0,312,44,4,&nmbre);
 
repeat
   escribe(&nmbre, &uno,&contador,&limite_contador,&ascii2, &simbolo);   
   frame;
until (key(_esc))

end;

// ============================================================