Unity C# | Function & return

更新 發佈閱讀 6 分鐘

前言

  這篇文章將會介紹函式(Function)及其回傳值(retrun)的定義及介紹。

Function | 函式

  函示是接觸程式設計的人都會面對的內容,但大多數的時候只懂照抄網路上的範例,如果是遊戲設計入門,可能只懂使用 void 函式,接下來會簡單介紹函式的介紹、結構、應用。

解決問題

  函式最基本的設計是用來解決問題。在程式設計的領域中,一個函式只做好一件功能,並且只解決一個問題。通常一個類別會運用多個函式,來達成特定功能或解決一個比較明確的大問題。

執行操作

  函式可以用來執行操作。使用其他函式,這些函式通常會式其他程式的開放函式或是自己的函式。運用這些函式,能達成只需要組合其他程式的功能,自身不使用任何參數就能達成目標。

數學運算

  函式也可以用於數學計算,輸入一個或兩個以上不等的參數,函式會運算這兩個參數的關係,並回傳答案。函式也能去判斷是否為某種狀態,像是某個數值是否大於標準值。

Function Structure | 函式結構

  這邊簡單介紹函式的結構。

結構

--------------------------------

(修飾詞)(Static)資料型別 函數名稱(參數資料型別 參數名稱, ...)

{

  //函式功能

  return 相同資料型別數值;

}

--------------------------------

修飾詞

  決定一個函式的「可使用範圍」,有些函式只能自身類別可以使用,有些函式別的類別可以使用,以下是常用的清單:

  • 私有 | private

  私有函式只有本類別內可以自由呼叫並使用它,其他類別無法使用甚至無法發現這個函式。

  • 公用 | public

  公用函式任何類別都可以在呼叫此類別時發現並使用它。

  • 保護 | protected

  保護函式只有繼承自己的類別可以使用它,不相干的類別無法發現甚至無法使用它。

資料型別

  從常見的 int、bool、float 到少見的 double、char 都是資料型別,使用資料型別的函式,就必須要回傳相關的資料型別,否則函數無法使用。

回傳類型 | return & void

  所謂的回傳,可以略為視為等於,接下來會介紹它的本質。

return 的本質

  非無類型(void)函數,可以視為一個比較複雜的變數,這個變數可以處理其他的變數,也可以添加參數去調整此變數代表的值。

在本質上,以下兩行程式碼是相同的:

--------------------------------

int i =1;

int i() { return 1;}

--------------------------------

回傳值 | return

  所謂的回傳,本質上是延遲定義數值。 return 的值,就相當於最後定義這個資料的值,相較於直接定義,它還能再做運算及判斷,最後在輸出一個代表某些意義的值。

  我會這麼晚學會這項知識,只是因為我學習的程式太雜亂且不成體系,我高中教過的程式有 return 0;、大學自學 C# 有學習到 void 函式、學習遊戲程式有用到 return 函式。

  這導致我對於程式回傳值很混亂,並且撰寫遊戲程式,了解 void 函式就足夠完成大多數的工作了。

無類型 | void

  無類型是紙這個函式本身沒有資料類型,它不需要回傳。不需要回傳的函式就是為了執行某些事情而存在,譬如跳躍、移動、發射砲彈等,這些函式不需要計算,只需要執行。

  void 屬於一種資料型態,專門用於函式。這種函式依然可以攜帶參數,這些參數可以協助計算,並善用 if 去判斷哪些該執行、哪些不該執行。 void是Unity新手很常碰到的一項資料類型,也請記住,它依然屬於一種資料類型。

應用

  這邊會介紹幾種常見的運用。

固定回傳

  基本上就是把它當變數來定義,我也不確定它能做什麼,不過回傳值永遠都是固定某個值,就像變數一樣。

raw-image

上面的程式,無論做了什麼事情,Number()永遠都會等於123。

數值判斷

  我們可以判斷一些數值差距,譬如在遊戲中,我們可能要判斷玩加是否清空某個區域的怪物,否則不進行下一步。

raw-image

  其中 default 是 C# 中默認值的關鍵字,譬如 bool 的默認值為 false,整數的默認值為0。在寫函式的時候要注意每一個結果都要有回傳值,如果沒有系統會提醒你。

後記

  寫這篇文章的時候剛好遇到電腦 D槽消失,所以我用 Windows Console 程式重新介紹一遍程式概念,為了符合物件導向的設計原則,我是用兩個不同的類別進行撰寫。

  所以我遇到困難了,因為我不能像 Unity 那樣同步使用,我最終用參考方法的方式,在自己了類別時做了一個程式。我不確定我是否形容對了,總之我完成示範程式的撰寫,也能執行。

瓶裝雪

想了解我更多嗎?

留言
avatar-img
瓶裝雪的沙龍
117會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/07/21
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
Thumbnail
2023/07/21
這篇文章將會講述 Unity 自帶參數的功能,在撰寫時要怎麼進行封裝。
Thumbnail
2023/06/21
這篇文章將會介紹建構式(Constructor),這是一個隱藏在程式腳本中的重要知識,我們極常使用建構式,但新手程式員幾乎不會知道它。
Thumbnail
2023/06/21
這篇文章將會介紹建構式(Constructor),這是一個隱藏在程式腳本中的重要知識,我們極常使用建構式,但新手程式員幾乎不會知道它。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
這一篇會介紹非常重要的 JavaScript 函式概念 - 高階函式(Higher-order function),高階函數是將一個或多個函數作為參數,或將一個函數作為結果返回的函數。在本文中,我們將深入探討什麽是高階函數、使用高階函數的好處以及如何在實際應用中使用高階函數,函式導向是什麼?
Thumbnail
這一篇會介紹非常重要的 JavaScript 函式概念 - 高階函式(Higher-order function),高階函數是將一個或多個函數作為參數,或將一個函數作為結果返回的函數。在本文中,我們將深入探討什麽是高階函數、使用高階函數的好處以及如何在實際應用中使用高階函數,函式導向是什麼?
Thumbnail
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
Thumbnail
這篇文章將會講述 if 判斷式的簡寫與可讀性維護。
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
這次分享的是常數、變數、宣告與初始化。 [常數]就是固定不變的數,如:PI=3.14 [變數]顧名思義就是會改變的數,如:y=2x (在數學中x確定後y才會確定,因此x為自變數,y為應變數,x、y都屬於變數) 一、常數   常數在定義的時候,一開始就必須指定好資料型別並且給予值,因為它在整個程式在執
Thumbnail
這次分享的是常數、變數、宣告與初始化。 [常數]就是固定不變的數,如:PI=3.14 [變數]顧名思義就是會改變的數,如:y=2x (在數學中x確定後y才會確定,因此x為自變數,y為應變數,x、y都屬於變數) 一、常數   常數在定義的時候,一開始就必須指定好資料型別並且給予值,因為它在整個程式在執
Thumbnail
這篇文章將會介紹函式(Function)及其回傳值(retrun)的定義及介紹。
Thumbnail
這篇文章將會介紹函式(Function)及其回傳值(retrun)的定義及介紹。
Thumbnail
這篇文章將會介紹運算式與程式碼小知識,並介紹Switch-case這常用的陳述式,並提供範例的程式碼。
Thumbnail
這篇文章將會介紹運算式與程式碼小知識,並介紹Switch-case這常用的陳述式,並提供範例的程式碼。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
雜湊演算法(hash function)。或許你聽過它,但你是否了解它?劍術大師都說要人劍合一了,若是資訊人員不能人與技術合一,那要如何登峰造極?我們必須正確的使用它,才能讓它變成你的武器。 縮圖來源:https://www.pexels.com/zh-tw/photo/53207/
Thumbnail
雜湊演算法(hash function)。或許你聽過它,但你是否了解它?劍術大師都說要人劍合一了,若是資訊人員不能人與技術合一,那要如何登峰造極?我們必須正確的使用它,才能讓它變成你的武器。 縮圖來源:https://www.pexels.com/zh-tw/photo/53207/
Thumbnail
函式(Function)、傳值法、傳位址法、傳參考法
Thumbnail
函式(Function)、傳值法、傳位址法、傳參考法
Thumbnail
變數(variable)、型別(type)、初始化(initialize)、宣告
Thumbnail
變數(variable)、型別(type)、初始化(initialize)、宣告
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News