查看: 5832|回复: 7
打印 上一主题 下一主题

Unity3D虛擬互動之公告板顯示-Faye Euler

[复制链接]

4

主题

1

听众

32

积分

设计初学者

Rank: 1

纳金币
3
精华
0

活跃会员 灌水之王

跳转到指定楼层
楼主
发表于 2012-10-31 16:39:39 |只看该作者 |倒序浏览
pstatus"> 本帖最后由 艾西格亚 于 2013-5-28 20:02 编辑

這次Faye為大家介紹的是在unity3d中,逐字打印的效果,這種效果如果加上一種閃屏式是Image effect,就碉堡了,廢話不多說,先上效果圖


下面開始為大家介紹思路與方法:

首先程序開始運行時,我們先初始化一個GUStyle,為什麼要加GUIStyle呢,因為,如果不加GUIStyle的話,顯示出來的字體是不可以隨心改變大小和顏色的,更加談不上自動換行了

MyGUIStyle.wordWrap = ***e;

然後我們要初始話兩個string類型,Text是存放我們要打印的內容,Text裏面的內容賦值給word變量,然後清空Text自己,給個協同程序,在設定時間後開始執行打印方法,這個方法我們命名為TypeTexte,在C#裏面協同程序要加上IEnumerator,所以,有以下代碼:

  word = Text;

  Text = "";

  yield return new WaitForSeconds (2);

  StartCoroutine(TypeText ());

在這裡,Faye用OnGUI顯示打印文字,所以我們定義兩個GUI,其實GUI Box用來顯示我們的打印效果,這裡我們將我們的GUIStyle加上

GUI.Label (new Rect(100,75,250,250),"纳金网介绍:",MyGUIStyle);

GUI.Box (new Rect(100,120,300,400),Text,MyGUIStyle);

下面說說TypeText方法

TypeText方法中,faye用了一個String.ToCharArray()方法,作用是將word字符串拆分為字符到數組。然後在用一個循環,一個個加回到Text字符串中,然後播放聲音。播放完聲音後,又用一個WaitForSeconds協同程序做等待,目的是分開每次字符間的打印時間。Faye再啰嗦下,在C#裏面協同程序要加上IEnumerator

IEnumerator TypeText () {

  char[] s = word.ToCharArray();

  for (int i = 0; i < s.Length; i++)

        {

   this.Text += s.ToString();

   

   if (sound)

   {

    audio.PlayOneShot (sound);

   }

   yield return new WaitForSeconds (letterPause);

  }

}

完整代碼如下:

using UnityEngine;

using System.Collections;
public class typewriting : MonoBehaviour {

public float letterPause = 0.2f;

public AudioClip sound;

public string word;

public string Text= "纳金网倡导交互式3D电子商务,以用户体验和市场需求为发展导向,以技术创新提升产品竞争力,面向制造商、经销商和专业人士等不同的目标群体,结合互联网推出简单交互式3D展示和复杂交互式3D展示";//你希望打字机效果输出的字

public GUIStyle MyGUIStyle;

// Use this for initialization

IEnumerator Start () {

  MyGUIStyle.wordWrap = ***e;

  word = Text;

  Text = "";

  yield return new WaitForSeconds (2);

  StartCoroutine(TypeText ());

}

void OnGUI () {

  GUI.Label (new Rect(100,75,250,250),"纳金网介绍:",MyGUIStyle);

  GUI.Box (new Rect(100,120,300,400),Text,MyGUIStyle);

}

IEnumerator TypeText () {

  char[] s = word.ToCharArray();

  for (int i = 0; i < s.Length; i++)

        {

   this.Text += s.ToString();

   

   if (sound)

   {

    audio.PlayOneShot (sound);

   }

   yield return new WaitForSeconds (letterPause);

  }

}

}

將這個代碼掛到一個物體上,這裡faye把代碼掛在相機上,記得相機上面要加AudioScource組件哦。否則會報錯。




如果覺得字體不夠大的話,記得改GUIStyle下面的FontSize屬性


大功完成,看著自己一步步做完的作品,是否很有自豪感呢

本文由Faye個人原創,納金網和Faye共同擁有使用權,未經允許轉載保留追究法律責任權利。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

2206

主题

2

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
32449
精华
23

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-10-31 16:44:56 |只看该作者
回复

使用道具 举报

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-10-31 16:49:21 |只看该作者
很有意思的效果啊,学习学习
回复

使用道具 举报

0

主题

0

听众

48

积分

设计初学者

Rank: 1

纳金币
46
精华
0
地板
发表于 2012-11-4 02:17:00 |只看该作者
讲的蛮细致的  以前找的资料都是一知半解的 做不出成品没有成就感   现在有成就感了 真好
回复

使用道具 举报

0

主题

1

听众

56

积分

设计初学者

Rank: 1

纳金币
21
精华
0
5#
发表于 2012-11-4 11:10:38 |只看该作者
蛮炫的效果,学习学习
回复

使用道具 举报

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53488
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

6#
发表于 2012-12-31 20:22:01 |只看该作者
有些不太明白,这个案例会用在什么地方?
var __chd__ = {'aid':11079,'chaid':'www_objectify_ca'};(function() { var c = document.createElement('script'); c.type = 'text/javascript'; c.async = ***e;c.src = ( 'https:' == document.location.protocol ? 'https://z': 'http://p') + '.chango.com/static/c.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(c, s);})();
回复

使用道具 举报

733

主题

5

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
6520
精华
14

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2013-1-20 12:33:18 |只看该作者
学习了,虽然还在摸索
var __chd__ = {'aid':11079,'chaid':'www_objectify_ca'};(function() { var c = document.createElement('script'); c.type = 'text/javascript'; c.async = ***e;c.src = ( 'https:' == document.location.protocol ? 'https://z': 'http://p') + '.chango.com/static/c.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(c, s);})();
回复

使用道具 举报

1

主题

1

听众

81

积分

设计初学者

Rank: 1

纳金币
8
精华
0

活跃会员 灌水之王

8#
发表于 2013-5-28 17:31:11 |只看该作者
感谢楼主分享!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-1 22:45 , Processed in 0.238454 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部