c# - How to control gui text using the space bar in Unity? -



c# - How to control gui text using the space bar in Unity? -

(disclaimer: new unity please bear me)

basically want have text element displays multiple sentences 1 letter @ time , stop @ end of sentence. also, if space bar pressed remaining text sentence should display immediately, if sentence finished next sentence should show.

so far have managed text display 1 letter @ time using strings stored in array. however, having difficulty navigating index index using space bar , getting finish sentence show if space bar pressed.

the code below:

using unityengine; using unityengine.ui; using system.collections; public class textscript : monobehaviour { public animator bar; public float letterpause = 0.1f; string[] strarray = new string[3]; string str; int i; int count; void start () { bar.enabled = true; strarray[0] = "hello , welcome game"; strarray[1] = "the next line of code"; strarray[2] = "testing space bar"; gameobject.getcomponent<text> ().text = ""; startcoroutine(typetext ()); } void update () { if (input.getkeydown ("space")) { gameobject.getcomponent<text> ().text = ""; count = count + 1; = + 1; typetext(); } } ienumerator typetext () { (i = 0; < strarray.length; i++) { str = strarray[i]; if (i == count) { foreach (char letter in str.tochararray()) { gameobject.getcomponent<text> ().text += letter; yield homecoming new waitforseconds (letterpause); } } } }

}

so, not sure best way go achieving want. help great!

i don't have unity on box test seek this

public float letterpause = 0.1f; public float sentencepause = 2.0f; string[] strarray = new string[3]; bool skiptonext = false; void start () { strarray[0] = "hello , welcome game"; strarray[1] = "the next line of code"; strarray[2] = "testing space bar"; gameobject.getcomponent<text> ().text = ""; startcoroutine(typetext ()); } void update () { if (input.getkeydown ("space")) { skiptonext = true; } } ienumerator typetext () { (int = 0; < strarray.length; i++) { foreach (char letter in strarray[i].tochararray()) { if (skiptonext) { gameobject.getcomponent<text> ().text = strarray[i]; skiptonext = false; break; } gameobject.getcomponent<text> ().text += letter; yield homecoming new waitforseconds (letterpause); } yield homecoming new waitforseconds (sentencepause); gameobject.getcomponent<text> ().text = ""; } gameobject.getcomponent<text> ().text = strarray[strarray.length - 1]; }

edited reflect comment updates.

c# unity3d 2d

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -