Unity C# | Function & return

閱讀時間約 5 分鐘

前言

  這篇文章將會介紹函式(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新手很常碰到的一項資料類型,也請記住,它依然屬於一種資料類型。

應用

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

固定回傳

  基本上就是把它當變數來定義,我也不確定它能做什麼,不過回傳值永遠都是固定某個值,就像變數一樣。
上面的程式,無論做了什麼事情,Number()永遠都會等於123。

數值判斷

  我們可以判斷一些數值差距,譬如在遊戲中,我們可能要判斷玩加是否清空某個區域的怪物,否則不進行下一步。
  其中 default 是 C# 中默認值的關鍵字,譬如 bool 的默認值為 false,整數的默認值為0。在寫函式的時候要注意每一個結果都要有回傳值,如果沒有系統會提醒你。

後記

  寫這篇文章的時候剛好遇到電腦 D槽消失,所以我用 Windows Console 程式重新介紹一遍程式概念,為了符合物件導向的設計原則,我是用兩個不同的類別進行撰寫。
  所以我遇到困難了,因為我不能像 Unity 那樣同步使用,我最終用參考方法的方式,在自己了類別時做了一個程式。我不確定我是否形容對了,總之我完成示範程式的撰寫,也能執行。

瓶裝雪

為什麼會看到廣告
avatar-img
106會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
瓶裝雪的沙龍 的其他內容
這篇文章將會講述 Inspector 的簡易優化小技巧,並介紹系列文章。
這篇文章將會講述陣列泛型 List<T>的介紹及使用。
這篇文章將會講述子彈時間、暫停時間相關的時間規模。
這篇文章將會講述 Unity Event 的介紹及基礎使用方法。
這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。
這篇文章將會講述 Inspector 的簡易優化小技巧,並介紹系列文章。
這篇文章將會講述陣列泛型 List<T>的介紹及使用。
這篇文章將會講述子彈時間、暫停時間相關的時間規模。
這篇文章將會講述 Unity Event 的介紹及基礎使用方法。
這篇文章將會講述 static 的小技巧,讓常用的欄位不用重複指定或拖拉。
你可能也想看
Google News 追蹤
Thumbnail
在 Dart 程式語言中,函式不僅能執行特定任務,還能回傳值,這使得函式在程式中更具彈性和重用性。本篇文章將深入探討如何定義一個具有回傳值的函式,並透過實際範例來幫助大家理解其結構與用途。
Thumbnail
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
Thumbnail
今天要來介紹的是Python中資料型別的函數, 這幾天學習的素材是Youtube上“程式柴大大的Python 6 小時初學者課程”,一步一步帶著大家操作並解,學習中也別忘了要多多練習,練習的部分我是把我學到的東西請Chatgpt幫我出類似的題型並讓我練習。 以下我先寫出一個簡單的code,再加以
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
本章節旨在介紹TypeScript中的函數,包括其基本結構、如何呼叫函數、函數的參數以及函數的返回值等相關概念。通過本章節,讀者可以學習到如何在TypeScript中使用不同的方式來定義函數,如函數聲明、函數表達式、箭頭函數和匿名函數等。
Thumbnail
本章節旨在介紹 C# 中函數的基本結構,包括訪問修飾符、返回類型、方法名稱、參數列表和方法體。同時,也介紹了函數的各種呼叫方式、參數傳遞方式和返回值類型。讀者可以通過本章節,深入理解 C# 中函數的使用和應用。
對於程序式編程來說,程式是由一系列的指令組成,例如計算數值、印出訊息、修改變數、呼叫子程序、配置變數的記憶體空間等。定義函式是為了讓一些程序可以重複利用,因此稱為子程序,其中參數為子程序中特別的變數,讓我們能夠透過它們控制子程序的行為。函式的回傳值只是一種方便將結果帶回來的方法,但一般只能回傳一個值
Thumbnail
在 Dart 程式語言中,函式不僅能執行特定任務,還能回傳值,這使得函式在程式中更具彈性和重用性。本篇文章將深入探討如何定義一個具有回傳值的函式,並透過實際範例來幫助大家理解其結構與用途。
Thumbnail
這篇內容,將會講解什麼是腳本函式,以及與腳本函式相關的知識。包括腳本的簡介、使用函式(或全域變數)的注意事項、定義全域變數、定義函式、什麼是宣告、局部變數的應用。
Thumbnail
今天要來介紹的是Python中資料型別的函數, 這幾天學習的素材是Youtube上“程式柴大大的Python 6 小時初學者課程”,一步一步帶著大家操作並解,學習中也別忘了要多多練習,練習的部分我是把我學到的東西請Chatgpt幫我出類似的題型並讓我練習。 以下我先寫出一個簡單的code,再加以
Thumbnail
這篇內容,將會講解什麼是函式,以及與函式相關的知識。包括函式的簡介、Runtime Function、自訂函式、Script Function 腳本函式、Method 方法。
主要來講宣告函式跟箭頭函式 : 宣告函式(Function Declaration) 語法: function functionName(parameters) { return result; } 特點: 使用 function 關鍵字 函式名稱是必需的 存在函式
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
本章節旨在介紹TypeScript中的函數,包括其基本結構、如何呼叫函數、函數的參數以及函數的返回值等相關概念。通過本章節,讀者可以學習到如何在TypeScript中使用不同的方式來定義函數,如函數聲明、函數表達式、箭頭函數和匿名函數等。
Thumbnail
本章節旨在介紹 C# 中函數的基本結構,包括訪問修飾符、返回類型、方法名稱、參數列表和方法體。同時,也介紹了函數的各種呼叫方式、參數傳遞方式和返回值類型。讀者可以通過本章節,深入理解 C# 中函數的使用和應用。
對於程序式編程來說,程式是由一系列的指令組成,例如計算數值、印出訊息、修改變數、呼叫子程序、配置變數的記憶體空間等。定義函式是為了讓一些程序可以重複利用,因此稱為子程序,其中參數為子程序中特別的變數,讓我們能夠透過它們控制子程序的行為。函式的回傳值只是一種方便將結果帶回來的方法,但一般只能回傳一個值