Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
Se una stringa è troppo lunga da stampare andare a capo - - - - -

    nihil-omen
  • Animatore

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStelletta
  • 700 messaggi

#1 Inviato 30 January 2010 - 19:13 PM

Allora il punto è tutto qui:
ho una stringa che varia di lunghezza di parecchio durante il gioco e la devo far rientrare in un riquadro di 140 x 120 pixel circa.
La grandezza del font è 14 quindi non è un granchè grande e se riuscissi a sfruttare bene questo riquadro riuscirei a far rientrare il tutto in 2 o 3 righe...

Il problema è che non so come fare per far andare a capo quando serve nè tanto meno quale sia il codice per mandare a capo dall'interno della stringa :/

Per ora il codice è così:

self.contents.draw_text(x, y, 140, 120, $stringa)
Come devo fare?

Grazie! *__*

Modificato da ProGM, 11 April 2015 - 13:06 PM.

Immagine inserita
} 2rA - web site {
E' disponibile il primo capitolo completo di 2rA!
} 2rA: Capitolo I {


    nihil-omen
  • Animatore

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStelletta
  • 700 messaggi

#2 Inviato 31 January 2010 - 16:36 PM

Uhm.. Stavo riflettendo...

Non c'è un comando interno alle stringhe che fa andare a capo la stringa?

In Java è \n e credo ce ne sia uno simile anche qui (solo che \n qui funziona teoricamente solo nei message_box e infatti nella stringa in questione non funziona ç_ç)

Heeeelp ç__ç

Immagine inserita
} 2rA - web site {
E' disponibile il primo capitolo completo di 2rA!
} 2rA: Capitolo I {


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#3 Inviato 31 January 2010 - 17:38 PM

Ora non conosco il ruby, ma ho trovato questo:

The following example demonstrates the double quote in action:

myString = "This is also my string.\nGet your own string"

puts myString
This is also my string.
Get your own string

As you can see, the \n was interpreted as a real new line causing our string to appear on two lines when printed.

The single quote gives us a different result:

myString = 'This is also my string.\nGet your own string'

puts myString
This is also my string.\nGet your own string

In this case the '\n' is treated literally as a '\' and an 'n' with no special meaning.

In teoria \n dovrebbe funzionare con le " ", ma non con le ' ', però ho visto che in rpgmaker si usano le " " quindi non so quanto può esserti utile, magari riprovaci :D
^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler


    Tio
  • Prode Guerriero

  • Rpg²S Admin
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 6740 messaggi
  • Sesso:Maschio
  • Provenienza:Berlino
  • Abilità:Esperto

#4 Inviato 31 January 2010 - 17:40 PM

uhm, credo che sia una cosa un po' più difficile del previsto.
prima dovresti calcolare la lunghezza della stringa (sicuramente ci sarà un metodo in ruby per farlo), poi devi usare dei metodi per suddividere la stringa in più stringhe a seconda della lunghezza.
prova a guardare qui: http://ruby.html.it/...-dati-stringhe/

"Dopo gli ultimi Final Fantasy, ho capito solamente una cosa: che il gioco è bello quando Nomura poco."

Making is not dead. You are dead.
RELEASE: La Bussola d'Oro | Download | Video di anteprima - La Partenza di Hanna

 

 

cFgc2lW.png

 

Prova Standrama!


    nihil-omen
  • Animatore

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStelletta
  • 700 messaggi

#5 Inviato 31 January 2010 - 18:37 PM

Allora...
Ho fatto diverse prove ma niente, scrivere \n e non scrivere nulla è la stessa cosa .__."
Ho letto anche l'articolo ma non ho trovato nulla che mi potesse aiutare...
Sì ci sono funzioni carine per le stringhe ma non c'è nessuna che calcoli la lunghezza o che la spezzetti in due (neanche split fa ciò che mi serve ç_ç) ç____ç

Immagine inserita
} 2rA - web site {
E' disponibile il primo capitolo completo di 2rA!
} 2rA: Capitolo I {


    giver
  • Alex (Rm2k)

  • Utenti
  • Rens: 121
  • 0
  • StellettaStellettaStellettaStellettaStelletta
  • 1291 messaggi
  • Sesso:Maschio
  • Provenienza:The Creept - Room for Strangeness
  • Abilità:Esperto

#6 Inviato 02 February 2010 - 15:51 PM

Strano che split non funzioni . . . Forse la usi nel modo sbagliato . . .

Cominci col sceglierti un simbolo poco comune per indicare il termine di ogni riga, ad esempio la pipe | (SHIFT + \ , ossia SHIFT + Barra Rovesciata, in caso non si legga il carattere).

Poi scrivi la stringa in questo modo ad esempio
<div class="de1"><span class="re0">$stringa</span> = <span class="st0">"contenuto riga 1|contenuto"</span> <span class="sy0">+</span></div><div class="de1"><span class="st0">"riga 2|contenuto riga 3|contenuto"</span> <span class="sy0">+</span></div><div class="de1"><span class="st0">"riga 4"</span></div></div></td></tr></table>

Quindi, quando la dovrai disegnare, usa un codice del genere
<div class="de1">righe = <span class="re0">$stringa</span>.<span class="kw3">split</span><span class="br0">(</span><span class="st0">'|'</span><span class="br0">)</span></div><div class="de1">x = <span class="nu0">2</span></div><div class="de1">y = <span class="nu0">0</span></div><div class="de1"><span class="kw1">for</span> riga <span class="kw1">in</span> righe</div><div class="de1"><span class="kw2">self</span>.<span class="me1">contents</span>.<span class="me1">draw_text</span><span class="br0">(</span>x, y, <span class="nu0">140</span>, <span class="nu0">18</span>, riga<span class="br0">)</span></div><div class="de1">y <span class="sy0">+</span>= <span class="nu0">18</span></div><div class="de1"><span class="kw1">end</span></div></div></td></tr></table>

Spoiler

    nihil-omen
  • Animatore

  • Utenti
  • Rens: 0
  • 0
  • StellettaStellettaStellettaStelletta
  • 700 messaggi

#7 Inviato 02 February 2010 - 17:42 PM

Oh *___* Funziona! *___*
Sono un incapace io X°D Avevo fatto un casotto X°D

Grazieeeeeeeeeeeeee *__________________*

Immagine inserita
} 2rA - web site {
E' disponibile il primo capitolo completo di 2rA!
} 2rA: Capitolo I {





  • Feed RSS