Febrero 04, 2020, 05:01:05 PM Ultima modificación: Febrero 09, 2020, 06:03:40 AM por FernandoNavarro
Hola buenas, hace tiempo no creo un nuevo tema, pero ahora pensando en algo se me ocurrió hacer un cursor con mouse, que al hacer click dentro de una string, ponga el cursor "|" en el lugar en que presione. Por esto quiero saber si es posible saber la posición en x e y de una letra desde donde se dibuja la string.

Ejemplo:

"Hola mundo"

Mr gustaría saber la posición en x de la letra "m".

Gracias por leer.

Hola FernandoNavarro

Para eso existe la función "string_pos(substr, str)".
Te devuelve el número de la posición donde encontró tu texto "substr" dentro de la string "str" o devuelve cero si no lo encuentra.

Ejemplo:
string_pos("H","Hola mundo")
Te devuelve "1" porque encontró la "H" en la primera posición

Ejemplo 2:
string_pos("chao","Hola mundo")
Te devuelve "0" porque No encontró la palabra "chao" dentro de tu String.

Saludos

Hola BssString.

Eso lo entiendo, y me ha sido muy útil. Pero lo que busco es saber la posición en x de la letra, por ejemplo:

"Hola mundo"

La letra "a" está 20 píxeles a la derecha de la "H".

Creo que no es posible saber tal valor.

Gracias de todos modos

string_width()
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Pueeds crear un pequeño script algo así:
[gml]
///substring_width(str, pos);
return string_width( string_copy(argument0, 0, argument1) );
[/gml]
Luego ejecutarlo así:
[gml]
str = "Hola mundo";
width = substring_width(str, 6);
[/gml]
Eso guardará en width el tamaño en pixeles de la cadena hasta el caracter 6; depende de la fuente que esté definida para dibujo.
alaberga regué el café.

BA:STFW&RTFM