unity3D,NGUI中button響應(yīng)事件實現(xiàn)

最近做的一個項目央碟,是鼠標點擊左鍵在plane上畫線税灌,其中,界面上有NGUI的button亿虽,點擊用來改變線的顏色菱涤,顯然主要畫線腳本綁定在攝像頭上面,而button響應(yīng)事件的腳本綁定在對應(yīng)的button上面经柴,不同對象上面綁定的腳本怎么來實現(xiàn)點擊button響應(yīng)呢狸窘,下面就來說一說。
首先坯认,要在畫線腳本上寫一個對外接口函數(shù)翻擒,比如改變顏色的對外接口函數(shù),我這么寫:
<pre><code>
public void set_linecolor() //定義為公有型的函數(shù)
{
linecolor = Color.red; //linecolor是全局變量
line = new VectorLine("DrawnLine", linePoints,linecolor,lineMaterial, lineWidth, LineType.Continuous);
}
</code></pre>
對應(yīng)的在button上面綁定一個腳本牛哺,里面要找到MainCamera對象陋气,再找到這個對象上面的腳本,我這里是test巩趁,然后,再調(diào)用腳本里面改變顏色的對外接口函數(shù)set_linecolor淳附,這樣就實現(xiàn)響應(yīng)機制了议慰。
button上面腳本:
<pre><code>
using UnityEngine;
using System.Collections;

public class bb1 : MonoBehaviour {
//定義一個對象標簽
private GameObject myobj1;
// Use this for initialization
void Start () {
//獲得標簽對象
myobj1 = GameObject.FindWithTag("MainCamera");
}
// Update is called once per frame
void Update () {
}
//button響應(yīng)事件
void OnClick()
{
test t = GetComponent<test>();//找到腳本test
t.set_linecolor();//調(diào)用腳本里面的函數(shù)
Debug.Log("button!"); //測試是否響應(yīng)
}
}
</code></pre>
這樣就可以實現(xiàn)點擊button别凹,改變顏色了洽糟。(當然還要將test腳本拖拽到button上面,然后添加相應(yīng)的畫線材質(zhì)嘱丢,碰撞體越驻,這樣才能實現(xiàn)试疙,不然會錯誤提示找不到對象诵棵,這個很重要!W?酢)
但是這樣其實還有一個缺陷履澳,就是,當需要改變的顏色很多的時候怀跛,那是不是要定義很多個對外接口函數(shù)距贷?所以這樣也不方便,但有一個解決方法很好吻谋,就是利用參數(shù)傳遞的方法忠蝗。
下面是改變寬度的對外接口函數(shù):
<pre><code>
//公有類型函數(shù),里面有一個float型參數(shù)漓拾,用來傳遞寬度
ublic void set_linewidth(float line_width)
{
lineWidth = line_width; //將傳遞的寬度賦值給畫線的寬度
line = new VectorLine("DrawnLine", linePoints,linecolor,lineMaterial, lineWidth, LineType.Continuous);
}
</code></pre>
然后在,button里面建立腳本阁最,調(diào)用:
<pre><code>
using UnityEngine;
using System.Collections;

public class bb1 : MonoBehaviour {
//定義一個對象標簽
private GameObject myobj1;
// Use this for initialization
void Start () {
//獲得標簽對象
myobj1 = GameObject.FindWithTag("MainCamera");
}
// Update is called once per frame
void Update () {
}
//button響應(yīng)事件
void OnClick()
{
test t = GetComponent<test>();//找到腳本test
t.set_linewidth(4.0f);//調(diào)用腳本里面的函數(shù),并傳遞一個float型的參數(shù)
Debug.Log("button!"); //測試是否響應(yīng)
}
}
</code></pre>
這樣的話骇两,畫線腳本里面只要創(chuàng)建一個對外接口函數(shù)即可以速种,只是不同button的時候傳遞不同參數(shù)便可以了,這樣可能方便多了低千,讓我想到c++里面的代碼重用_(當然還要重復(fù)操作將test拖到button上面配阵,再拖拽畫線材質(zhì),碰撞體才能實現(xiàn))示血。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棋傍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子难审,更是在濱河造成了極大的恐慌舍沙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剔宪,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機葱绒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門感帅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人地淀,你說我怎么就攤上這事失球。” “怎么了帮毁?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵实苞,是天一觀的道長。 經(jīng)常有香客問我烈疚,道長黔牵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任爷肝,我火速辦了婚禮猾浦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘灯抛。我一直安慰自己金赦,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布对嚼。 她就那樣靜靜地躺著夹抗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纵竖。 梳的紋絲不亂的頭發(fā)上漠烧,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機與錄音磨确,去河邊找鬼沽甥。 笑死,一個胖子當著我的面吹牛乏奥,可吹牛的內(nèi)容都是我干的摆舟。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼邓了,長吁一口氣:“原來是場噩夢啊……” “哼恨诱!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起骗炉,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤照宝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后句葵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厕鹃,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡兢仰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了剂碴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片把将。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖忆矛,靈堂內(nèi)的尸體忽然破棺而出察蹲,到底是詐尸還是另有隱情,我是刑警寧澤催训,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布洽议,位于F島的核電站,受9級特大地震影響漫拭,放射性物質(zhì)發(fā)生泄漏亚兄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一嫂侍、第九天 我趴在偏房一處隱蔽的房頂上張望儿捧。 院中可真熱鬧,春花似錦挑宠、人聲如沸菲盾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懒鉴。三九已至,卻和暖如春碎浇,著一層夾襖步出監(jiān)牢的瞬間临谱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工奴璃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悉默,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓苟穆,卻偏偏與公主長得像抄课,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子雳旅,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理跟磨,服務(wù)發(fā)現(xiàn),斷路器攒盈,智...
    卡卡羅2017閱讀 134,600評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,514評論 25 707
  • 更新:【面試題含答案】http://bbs.9ria.com/thread-288394-1-1.html 高頻問...
    好怕怕閱讀 4,719評論 3 52
  • 在這一天抵拘,我終于明白了腿長和腿短距離,惡人先告狀的憋屈型豁。 “花顏僵蛛,我叫你去接人尚蝌,人家莫同學怎么自己來了?”看著講臺...
    莫上人如玉閱讀 172評論 0 0
  • 濃蔭遮蔽下的蓮花山墩瞳,遮擋了蒙蒙細雨驼壶。走在路上特別的舒適愜意,小朋友的視角總是那么特別喉酌。他會對一張椅子流連忘返,在一...
    顧鳴芬閱讀 178評論 1 2