| Effacer un texte | |
|
|
Auteur | Message |
---|
kéheus-Rox Utilisateur confirmé: Rang *
Messages : 193 Localisation : France, Allier, Petit patelin... Projet Actuel : Empiler des cubes...
et de la paille aussi...(un poile plus stressant)
| Sujet: Effacer un texte Jeu 22 Juil 2010 - 23:40 | |
| Bonjour! Dans le cas où je doit afficher un texte énorme (un bon vieux pavé, quoi!), mon FPS chute lamentablement. Existe t'il un moyen de supprimer une partie de texte, lorsque ce morceau de texte sorte de la view, room, ou s'éloigne de quelque chose?? Merci d'avance! |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Effacer un texte Jeu 22 Juil 2010 - 23:46 | |
| ben tu utilise string_copy pour couper ton texte , et pour récuperer la taille de ton texte en fonction de la font actuelle y a string_width |
|
| |
kéheus-Rox Utilisateur confirmé: Rang *
Messages : 193 Localisation : France, Allier, Petit patelin... Projet Actuel : Empiler des cubes...
et de la paille aussi...(un poile plus stressant)
| Sujet: Re: Effacer un texte Ven 23 Juil 2010 - 21:09 | |
| Ok, pour le string_copy c'est bon ca marche. Mais le problème c'est que l'affichage de mon texte varie avec la molette, et sans faire bouger la view. Donc seulement le même morceau de text reste visible (tant qu'il n'est pas sorti de la view) C'est là tout le problème... |
|
| |
arthuro Utilisateur confirmé: Rang ****
Messages : 1483 Localisation : Paris Projet Actuel : Diagon https://arthursonzogni.com/Diagon
| Sujet: Re: Effacer un texte Dim 25 Juil 2010 - 19:43 | |
| tu subdivise ton texte en plusieurs blocs de 10 lignes. (possible manuellement ou par une fonction). Tu les affiches les un à la suite des autre si ils sont dans la view |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: Effacer un texte Lun 26 Juil 2010 - 17:21 | |
| Sinon j'ai fait un essai très concluant, je poste ici : [url=http://www.mediafire.com/file/zc2ovm50dwyvdqe/test défilement texte RED.gmk]Lien test défilement texte GMK 8[/url] J'ai mis le code dans draw mais tu peux le mettre dans la molette après le défilement... Par contre il faudra absolument que tu replaces les sauts de ligne par des "#", et string_replace_all ne marche pas pour ça. (en fait les sauts de ligne ne sont pas non plus pris dans string_char_at... Pourtant dans le 6 je me souvient que ça marchait !) Je le poste ici si "quelqu'un" veut l'optimiser... - Spoiler:
- Code:
-
line=0; //initialisation position height=128;//hauteur maximale txt="Un long texte vertical avec des #, je suppose que tu fait les sauts à la ligne quand elle est trop longue toi-même...#1#2#3#4#5#6#7#8#9#1#2#3#4#5#." UP line=max(-0,line-2); DOWN line=max(-1,min(string_height(txt)-height+0,line+2)); Le script : - Code:
-
draw_set_font(font0); var txt2,ii,h,ligne,stl; h=string_height("A"); ligne=floor(line/h); stl=string_length(txt); ii=0; l=0;
if(string_height(txt)>height) { for(i=0;i<=stl;i+=1;) { if(string_char_at(txt,i)=="#"){ii+=1;}//une ligne en plus if(ii-ligne>floor(height/h)){break;} if(ii>ligne or ligne==0){l+=1;} }
txt2=string_copy(txt,i-l,l);
} else {txt2=txt;} - Code:
-
draw_set_font(font0); draw_rectangle(x,y,x+480,y+height,1); draw_text(x,y-(line mod h),txt2);
draw_text(x-96,y,"[Saut] "+string(string_count(" ",txt2))) draw_text(x-96,y+16,"[\#] "+string(string_count("#",txt2))) |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Effacer un texte Lun 26 Juil 2010 - 17:25 | |
| il faut mettre \# pour que ça marche si je me souviens bien pour les # , ou peut etre \\# je sais plus trop, un truc comme ça en tout cas |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: Effacer un texte Lun 26 Juil 2010 - 17:52 | |
| \# pour l'afficher en effet, mais je parle de " " , le truc qui arrive quand tu appuies "enter", et qui est distinct de "#" pour GM. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Effacer un texte Lun 26 Juil 2010 - 17:55 | |
| tu ne peut pas l'entrer avec un chr sinon ? |
|
| |
red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: Effacer un texte Lun 26 Juil 2010 - 21:30 | |
| J'ai essayé, pas marché, je dois mal m'y prendre mais impossible de travailler avec les sauts de ligne normaux on dirait, tout ce qu'on peut faire c'est les compter... |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Effacer un texte Lun 26 Juil 2010 - 21:39 | |
| c'est parce qu'il y a deux caractères en fait - Code:
-
str = string_replace_all(str, chr(13)+chr(10), "#") |
|
| |
Contenu sponsorisé
| Sujet: Re: Effacer un texte | |
| |
|
| |
| Effacer un texte | |
|