블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2737)
Unity3D (817)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-19 00:04

1、可以使用BBCode标记

[b]Bold[/b]                      粗体
[i]italic[/i]                         斜体
[u]underline[/u]               下划线
[s]strikethrough[/s]         删除线
[sub]sub[/sub]               下标
[sup]sup[/sup]               上标
[00ff00]设置颜色[-]           设置显示颜色

[url=http://www.cnblogs.com/mrzivchu/][u]博客[/u][/url] 链接

例如设置颜色:

UILabel的Text内容为:[99ff00]n[-]gui: tools

展示效果则为:

这里主要说一下设置连接:

单单的在UILabel的Text里面写入这个是不够的:[url=http://www.cnblogs.com/mrzivchu/][u]博客[/u][/url] 链接

点击是不会产生效果的,我们还要为此UILabel添加一个Collider和一个脚本

脚本如下:

 

 void OnClick()
    {
        UILabel lbl = GetComponent<UILabel>();
        string url = lbl.GetUrlAtPosition(UICamera.lastWorldPosition);
        Application.OpenURL(url);
    }

 

脚本中的OnClick方法要想被触发,就必须要添加一个Collider,这个道理我想大家都懂得!

但要注意一点,假如UILabel的Text内容为:请点击[url=http://www.cnblogs.com/mrzivchu/]我的博客[/url]进入,欢迎大家来批评指正!

我只想点击《我的博客》四个字才去打开连接,而不是点击上面的任何字都可以打开连接,假如上面的文字尺寸是700x40,而《我的博客》四个字的尺寸是200x40,这时我们就可以设置Collider的Center和Size属性来设置点击的区域大小以满足我们的需求,可是当我运行程序的时候Center和Size会自动变为700x40,原来UILabel的Widget有个选项Collider,这个auto-adjust to match表示Collider大Size大小自动匹配为UILabel的Size大小,我们只要把这个勾取消即可!

如果你不想使用BBCode,那么UILabel有个选项BBCode,不勾选的话,就表示不使用BBCode

2、使用图片

我们只要在UILabel的Text里面写了:zwh:) 那么就会出现了一个笑脸图片:

 

为什么会这么神奇呢,原因在于你选择的Font,此处我选择的Font是Arimo20

Arimo20有三个关联的文件:

类型依次为:tga,prefab,txt

这时,我们点击类型为prefab文件,在Inspector窗口的UIFont可以看到

其中可以看到我们熟悉的 :) 笑脸标记,我们这时点击笑脸对应的Emotion - Smile ,展现出来的就是那个笑脸图片,而这个笑脸图片是存在Wooden Atlas图集里面的,如果我们想用其他图片的话,我们可以向Wooden Atlas图集里面增加我们需要展现的图片,然后在下面填写一个约定好的标记,类似于 :) 这样的标记,选择我们想要展现的图片,Add即可,图片的尺寸最好是20x20,以保证和文字上下在一条水平线上!

UILabel的Text为:zwh(bird)zwh 

显示为:

因为我的图片是60x60的,所以和文字上下不一样齐了,这也是我为什么建议图片尺寸是20x20的原因了!

另外说一个问题,我也不知道是不是存在的bug

此处我们为UIFont选择的图集是Wooden Atlas,Sprite是Arimo 20,Arimo 20大概对应的是字符格式,如果此时我们点击Sprite,将会弹出Wooden Atlas里面包含的所有sprite精灵,当我们点击Arimo 14或者Arimo 18的话,那么应用此Arimo20的UILabel将会变形:

原本是这样的:,变成了这样:

 

为Sprite选择Arimo20已经还原不会来了,还是会变形!

解决方案:

就是点击UIFont下的Import Data,也就是导入和Arimo20关联的三个类型(tga,prefab,txt)的文件中的txt文件即可!从而使Arimo的字符集格式还原回来!

另外:

UILabel还有一个Symbols选项,他有三个值:None,Normal,Colored,选择None,那么以 :) 这样形式显示的图片将不会展示,选择Normal(默认)将正常展示,选择Colored,那么图片将会被UILabel下的Color Tint所选择的颜色遮盖!其实这个Color Tint是对文字进行着色的,选择Colored那么也就是意味着图片也和文字应用同样的颜色!

其他属性

overflow:

1.ShrinkContent,总是显示所有文字,根据当前的width和height进行缩放
2.ClampContent,一看到Clamp就想起Clamp函数,也就是不管文本多少个字,根据当前的width和height来显示,超出部分 
不显示
3.ResizeFreely,会对当前的文字长度和行数来调整,UILabel的width和height,基本上是只在一行显示,超出的部分不显示
4.ResizeHeight,保持宽度不变,必要时增加高度。


Spacing :

X:设置字与字之间到间隔,可以为负数,设置得当可以反序

Y: 设置行与行之间的间隔。


Gradient :

设置 渐变字

Max Lines:

用来控制最多要多少行。用0表示不限制。如果设置成n的话,那么超过n的行的文字将不会显示!

 

实现动态文字展现的效果:

先上效果图:

 

层次:

content显示的是文字

bg显示是背景图(uisprite)

title是标题

第一步:先给content添加UIlabel和typewriter effect脚本:此脚本选项的解释如下:

chars per second:每秒显示多少个字符

fade in time:淡入时间

delay on period:延迟期

delay on new line:开始新行延迟时间

scroll view:需要指定scroll view

keep full dimentions:保持全部尺寸

第二步:

设置content组件uilabel的overflow(溢出方式)为ResizeHeight

第三步:

typewriter effect脚本的keep full dementions不要勾选,其他的默认即可

第四步:

设置bg背景图的UISprite的Anchors的Type为Unified(统一),Execute为OnUpdate,Target为mylabel即可!

Anchors的功能是:

物体A相对于所指定物体B的位置设置情况。可以设置离指定物体的上,下,左,右的偏移值,从而实现对齐,主要用在动态的效果的情况下,例如上面的title的位置就是相对于content而设置的,随着content文字的动态增加,title的位置也在不断的上移,实现对齐,避免位置错乱!这大概就是设置Anchors的好处吧!

这里我的title的anchors里面,只要设置了top+50即可,保持与content的顶部的距离即可,其他的可以不用设置!

target为指定物体B,而bg就是A,Execute指在更新时还是可用时去执行,type表示统一的还是高级的


출처 : http://www.cnblogs.com/MrZivChu/p/UILabel.html

반응형

'Unity3D > NGUI' 카테고리의 다른 글

NGUI: Symbols & Emoticons  (0) 2015.02.12
NGUI Emoticons  (0) 2015.02.12
Coloring individual characters in an NGUI UILabel text  (0) 2014.12.31
NGUI UILabel Reference  (0) 2014.12.31
NGUI UILabel BBCode  (0) 2014.12.31
Posted by blueasa
, |

BBCode tags reference

Unity3D/Tips / 2015. 2. 8. 17:47

BBCode tags reference

In this section, a reference table for all of the more popular bbcode tags, is provided. Some are considered to be standard and should be supported in just about any bbcode implementation. Other are less likely to be supported, but nonetheless popular (hence the reason they've been included here).

Tags reference table

NameSyntaxPurposeExample
Bold[b]{text}[/b]Makes {text} boldBold example
Italic[i]{text}[/i]Makes {text} italicItalic example
Underline[u]{text}[/u]Underlines {text}Underline example
Line-through[s]{text}[/s]Create a line-through/strike through on {text}Line-through example
Font-size[size={number}]{text}[/size]Changes the font-size of {text}Font-size example
Font colour[color={colour}]{text}[/color]Changes the colour of {text}Font colour example
Center text[center]{text}[/center]Centers {text} on screenCenter text example
Quote[quote]{text}[/quote]Creates a quotation box containing {text}Quote example
Quote (named)[quote={name}]{text}[/quote]Creates a quotation box quoting {name} as saying {text}Quote (named) example
Link[url]{url}[/url]Makes a link to {url}Link example
Link (named)[url={url}]{text}[/url]Makes a named link to {url}Link (named) example
Image[img]{url}[/img]Shows the image indicated by {url}Image example
Image (resized)Full version: [img width={width} height={height} ...]{url}[/img]
Another variant (shorthand): [img={width}x{height}]{url}[/img]
Shows {url} image resized to {width} and {height}Image (resized) example
ListUnordered list: [ul]{items}[/ul]
Ordered list: [ol]{items}[/ol]
Another variant: [list]{items}[/list]
Displays a list of {items}List example
List item[li]{text}[/li]
Shorthand: [*]{text}\newline
Species an {item} within a listList item example
Code[code]{text}[/code]Renders the {text} while maintaing all white spacingCode example
Tables[table]{rows}[/table]Show a table with {rows} in itTables example
Table rows[tr]{cells}[/tr]Renders a table row containing {cells}Table rows example
Table content cellsHeading cell: [th]{content}[/th]
Content cell: [td]{content}[/td]
Shows {content} in a table (heading) cellTable content cells example
Youtube videos[youtube]{id}[/youtube]Shows the youtube video indicated by {id}Youtube videos example
Google videos[gvideo]{id}[/gvideo]Shows the google video indicated by {id}Google videos example

Something missing?

If you think that some tags are missing here, please do not hesitate to contact us!

BBCode examples

Go to the examples section to find many examples of how you can use these tags.





출처 : http://www.bbcode.org/reference.php

반응형
Posted by blueasa
, |

For the game project that I'm currently working on, I needed to find an easy way to color individual characters in the text of an NGUI UILabel.

Fortunately, the solution is pretty simple. When the supportEncoding boolean field on a UILabel is set to true, the text supports color encoding in the[RRGGBB] format.

This means that we can have write text such as the following (the [-] is used to revert to a previous color):

[FF0000]Red[-] [00FF00]Green[-] [0000FF]Blue[-]



The reason I needed to do this was because we want the leading zeros in the Score UILabel to have a different colour than the actual score. And for that, I wrote this neat little method to format my current score to a string with a predefined number of leading zeros and then color those leading zeros independent from the main colour of the label text.

1
2
3
4
5
6
7
8
9
10
11
12
private string FormatScore(int score, string leadingZerosRGBColor, int totalDigits)
{
    var scoreString = score.ToString(CultureInfo.InvariantCulture);
    var zeros = totalDigits - scoreString.Length;
    if (score == 0)
    {
        scoreString = String.Empty;
        zeros++;
    }

    return String.Format("[{0}]{1}[-]{2}", leadingZerosRGBColor, new string('0', zeros <= 0 ? 0 : zeros), scoreString);
}



[출처] http://blog.dreasgrech.com/2013/05/coloring-individual-characters-in-ngui.html

반응형

'Unity3D > NGUI' 카테고리의 다른 글

NGUI Emoticons  (0) 2015.02.12
NGUI UILabel로 Emoticon 넣기..  (0) 2015.02.12
NGUI UILabel Reference  (0) 2014.12.31
NGUI UILabel BBCode  (0) 2014.12.31
PSD Layers to PNG Files(PSD2PNGs)  (0) 2014.12.31
Posted by blueasa
, |

NGUI UILabel BBCode

Unity3D/NGUI / 2014. 12. 31. 14:15

The use of Unity3d NGUI (two) (UILabel Chinese font and click on the font)

Unity3d NGUI can create font can click effect, click on the open web links

There are Chinese font display, can direct call system built-in fonts, does not need the third party font support


UILabel (Script parameters)


The first font options, NGUI is using a static font, when we need to show Chinese, it is best to use dynamic fonts, or you can create static font set

Font Size: font size

Material: The font textures, such as the need for font color

Text: Display content

Overflow: Filler content options, 1, ShrinkContent (content based filling) 2, ClampContent (in the font for the base shear)

3, ResizeFreely (content as the base level for filling) 4, with content high as reference for filling

Alignment: Alignment, font

Keep crisp: Dynamic font sharpening

Gradient: Font change

Effect: The fonts

Spaceing: Font spacing

Max Lines: The number of rows to display font

BBCode: Use the NGUI custom formatting font font


1, Create Chinese font

A. first creates a UILabel in Widget Tool

B. in the NGUI inspector window, select Unity UILabel, then select Font-Arial

C. We are now using dynamic fonts, can display Chinese


2, Create a link font

A. need to add the click event UILabel add a Script

	void OnClick ()
	{
		UILabel lbl = GetComponent<UILabel>();
		
		if (lbl != null)
		{
			string url = lbl.GetUrlAtPosition(UICamera.lastHit.point);
			if (!string.IsNullOrEmpty(url)) Application.OpenURL(url);
		}
	}

The B. for the current UILabel add a Box Collider, adjust the Box Collider size for the current UILabel window size 

The Is Trigger option is on the hook


C. NGUI currently supports formatting font three, 1 ([b]bold[/b] display effect dynamic font changes) 2 ([u]underline[/u] underline

[s]strikethrough[/s] Delete line) 3 ([url=http://www.tasharen.com/][u]clickable hyperlinks[/u][/url] add a web link)


Show all formatting, click clickable to open the link



The use of Unity3d NGUI (two) (UILabel Chinese font and click on the font)


출처 : http://www.programering.com/a/MTO2gDNwATU.html

반응형

'Unity3D > NGUI' 카테고리의 다른 글

Coloring individual characters in an NGUI UILabel text  (0) 2014.12.31
NGUI UILabel Reference  (0) 2014.12.31
PSD Layers to PNG Files(PSD2PNGs)  (0) 2014.12.31
PSD Layers to 2D Tool Kit(PSD2TK2D)  (0) 2014.12.31
PSD Layers to NGUI(PSD2NGUI)  (0) 2014.12.31
Posted by blueasa
, |