draw_text_ext_html5(x,y,str,w);

Publicado por dixon, Noviembre 05, 2021, 03:36:22 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

dixon

Autor del script: Reyes Dávila
Nombre del script: draw_text_ext_html5(x,y,str,w);
Breve descripción de su función: Ajusta un texto al ancho indicado al exportar a html5.
Versiones usadas: Game maker html5, debe funcionar en studio.
Version del script: 1

Código del script
//draw_text_ext_html5(x,y,str,w);
//Para crear textos ajustados a un ancho al exportar a html5.
//Serial del script: _WXP2F

posicion_x_WXP2F=argument0;
posicion_y_WXP2F=argument1;
string_x_WXP2F=argument2;
ancho_x_WXP2F=argument3;

length_x_WXP2F=string_length(string_x_WXP2F);
length_x_prev_WXP2F=length_x_WXP2F;
index_WXP2F=1;
count_WXP2F=1;
width_min_WXP2F=string_width("X");
for(i_WXP2F=1;i_WXP2F<=length_x_WXP2F;i_WXP2F+=1)
{

copy_x_WXP2F=string_copy(string_x_WXP2F,index_WXP2F,count_WXP2F);
width_x_WXP2F=string_width(copy_x_WXP2F);

count_x_WXP2F=string_count(" ",copy_x_WXP2F);
c1_WXP2F=(width_x_WXP2F>ancho_x_WXP2F);
c2_WXP2F=(ancho_x_WXP2F>width_min_WXP2F);
c3_WXP2F=(i_WXP2F>1);
c4_WXP2F=(length_x_WXP2F<length_x_prev_WXP2F*2);
c5_WXP2F=(count_x_WXP2F);

if(c1_WXP2F and c2_WXP2F and c3_WXP2F and c4_WXP2F and c5_WXP2F)
{

index_WXP2F=i_WXP2F;count_WXP2F=1;
copy_x2_WXP2F=string_copy(string_x_WXP2F,index_WXP2F,count_WXP2F);
while(copy_x2_WXP2F!=" " and i_WXP2F>2)
    {
        i_WXP2F-=1;
        index_WXP2F=i_WXP2F;count_WXP2F=1;
        copy_x2_WXP2F=string_copy(string_x_WXP2F,index_WXP2F,count_WXP2F);
    }

string_x_WXP2F=string_insert(chr(35),string_x_WXP2F,i_WXP2F+1);
length_x_WXP2F+=1;
index_WXP2F=i_WXP2F+3;
count_WXP2F=0;
}

count_WXP2F+=1;
}

draw_text(posicion_x_WXP2F,posicion_y_WXP2F,string_x_WXP2F);


Detalles:
La función original draw_text_ext(x,y,str,sep,w) no funciona al exportar a html5 por esta causa se ha creado este script como sustituto, el cual en su primera versión no emplea el argumento "sep" que hace referencia a la separación de las líneas.

Mejoras a futuro:
1. Agregar el argumento sep.
2. Correcciones internas.
3. Mejorar precisión.
4. Crear conjunto de script para el control de textos que permita medir el alto de los párrafos con gran precisión al exportar en html5.
Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.

Powered by EzPortal
SMF spam blocked by CleanTalk