Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by YoungDeveloper · Oct 09, 2013 at 07:31 PM · arraytextcolorstringseparate

Coloring separate text in string array

I was thinking of possibilities to color separate text chunks inside a string array. One way could be rendering the whole string array by single char, by encoding text color parameters inside string itself, in hexadecimal or other.

 string someArray[10];
 string text = "Hi,[Color.black] how are you[Color.white]";
 
 someArray[0] = text;

Then write special algorithm which reads array element string by single char and only then assign correct colors on the go, and only then renders. But this most likely won't be the best optimized way to do this.

So this pretty much the question, maybe there are already such built in methods which can create/handle something like this. Or, maybe string array is not the best approach for such "complicated" things, and completely different method should be used instead.

I know i could pretty easy achieve this if i would use simple label, and just render the text using hex and /n, so it would look like chat, but by this it's not that easy to control max text messages and turn string array in infinite loop cycle, so you could have string in size of 400 and it would rewrite first messages when max message count has been reached.

The idea is about creating chat system.

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image IndieScapeGames · Oct 09, 2013 at 07:35 PM 1
Share

With the above example, I encourage you to look into using Substring() and IndexOf(). Not really an answer, but a general observation that I can see an extensive use of these methods.

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by Tomer-Barkan · Oct 09, 2013 at 08:03 PM

If you're looking for better performance, you could split your text to an array of strings, one for each word (or even more than one word), and also have an adjacent array of the same size, of colors, so that colors[i] would represent the color of the text in strings[i].

Then when you render the text, render each string from the array with the correct color according to the matching cell in the colors array.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

18 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How can I detecting whether certain characters appear in any strings in my array of strings? 1 Answer

Creating a String Array from a text file,Creating a StringArray from a TextAsset 1 Answer

Converting Text to a String Array Format 2 Answers

How do I add color to a string 1 Answer

Split string in C#? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges