GameMaker|Data Type 資料型態|程式基礎

閱讀時間約 4 分鐘

這篇內容,將會講解什麼是資料型態,以及與資料型態相關的知識。有了這些概念,各位會更容易理解,要如何設計程式碼。

本篇教學所使用的系統是Windows 10,如果有按鍵相關的說明,會用Windows的系統來解釋。如果你用的是Mac系統,再麻煩自行換成相對應的按鍵。

raw-image


前置知識


在學習本篇內容之前,最好具備以下的前置知識,以免看不懂這篇教學的內容。


Data Type的簡介


在變數的說明中,我們知道變數可以存放,多種不同的資料型態。

那麼,在了解資料型態之後,又有什麼用處呢?答案如下:

  • 當我們在設定參數,或在使用函數(Function)時,就不會把數值,放在不正確的地方,例如:把字串類型的數值,設定到XY座標(實數類型)裡面。
  • 當我們在進行邏輯比較時(大於、小於之類的),就不會把不相干的數值,拿來進行比較,例如:比較某個字串和某個數字,哪一個比較大。


下方我會說明,初學者應該要了解的資料型態。這些資料型態,除了在GameMaker中會用到之外,其他的程式語言,也幾乎有相同的東西(可能名字不同而已)。

不過,我並不會說明,所有的資料類型。老實說,有些資料類型,我也還沒看懂,他們的應用場景在哪裡。

如果之後我有使用到,也覺得他們很有用,那麼,我會再找個時間,補上這些資料型態的相關說明。

最後,我也會附上官方的說明書連結,如果遇到沒看過的資料型態,可以從這邊尋找關鍵字,接著再用google去尋找答案。


Real Number 實數


這裡的實數,與數學裡的實數是一樣的,包含了正數、負數、整數、小數,例如:100、-50、3.14、-6.66。

在官方的說明裡,並沒有詳細講到,實數的範圍有多大(最小值到最大值),但有提到是用64位元雙精度浮點數(64-bit double-precision floating point)來存放的。

如果0的數值,是放在雙精度浮點數的中間,那麼能使用的數字範圍就是2-1024到21024之間。

以下是變數賦值的範例:

a = 10 ;
b = -50 ;
c = 3.14 ;
d = -6.66 ;


Boolean 布林值


布林值只有兩種數值,分別是true和false,這種資料型態,通常會用在邏輯判斷上面。

例如以下的程式碼:

//如果滑鼠的左鍵點下
if mouse_check_button_pressed(mb_left)
{
//執行某些程式碼
}


當滑鼠左鍵點下時,第二行裡面的mouse_check_button_pressed(mb_left),就會回傳true,相反的話,就會傳遞false。

當if收到true的指令,那就表示左鍵有按下,那就會執行if裡面的程式碼。


String 字串


所謂的字串,指的就是文字資料,不管是abcd、中文字、數字、符號,都能用字串的方式,存放在變數當中。

在使用字串時,需要用兩個雙引號來包覆,才能表示雙引號中的內容,是字串資料,例如以下的程式碼:

a = "你好";
b = "Hi!";


這邊講一個初學者常犯的錯誤,那就是「把實數資料當成字串使用」。各位可以看看以下的程式碼:

//這是錯誤的程式碼​
a = 0 ;
show_message(a) ;


第三行的show_message(),是用來顯示文字的程式碼,括弧裡面的參數,需要放置「字串」類型的數值。

在上面的程式碼中,我們希望顯示,變數當中的數字,也就是0。但用這種方式會發生程式錯誤,理由是:變數的資料類型是「實數」,而不是「字串」。

那正確的寫法呢?答案是把0,改成"0",這樣才表示,變數存放了「文字0」的字串。

a = "0" ;
show_message(a) ;

備註:另一種方法,是把實數資料,轉換成字串資料,未來如果有用到,會再詳細說明。


Array 陣列


所謂的陣列,是一種「特殊的變數」。一般的變數,一次只能存放一個數值,而陣列卻可以存放多個數值,並透過索引(index)的方式,來尋找我們所存放的數值。

如果用比較簡單的譬喻,那可以把變數想像成是單人房,而陣列就是旅館或公寓。


由於陣列是程式設計中,非常重要的組成,我們會用單獨的教學來講解:

GameMaker|Array 陣列|程式基礎


官方的說明書


在不同的程式語言當中,會有不同的資料類型設定,像是GameMaker的數字類型,就只有實數資料一種,有些語言還有分整數、短整數、長整數、浮點數……等等。

因此,在學習新的程式語言時,最好還是看一下他們的資料類型,而不是用原本的概念,來撰寫他們的程式碼。


以下是官方的說明書,如果遇到不懂的資料類型,可以試著從這裡尋找答案:

GameMaker的資料型態




🔔如果內容對你有幫助,可以按個喜歡,這樣就能讓更多人,接觸到這些棒棒的內容🔔


✨祝各位也能開心的做出好遊戲✨

免費、開心、簡單,這是我做教學的理念,我希望透過我的行動,讓人們找回自我學習的快樂,讓那些資源稀少的自學者們,也能朝著自己的夢想來前進。讓我們一起開心的做出遊戲吧!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
這篇內容,將透過實戰教學,介紹GameMaker中的Event。包括Event的簡介、Create的講解、Step的講解、Events的基本操作。
這篇內容,將透過實戰教學,介紹GameMaker中的Camera。包括Camera的簡介、設定Camera的方法、Viewport的介紹。
這篇內容,將透過實戰教學,介紹GameMaker中的Room。包括Room的簡介、調整寬高、圖層功能的概述、用Object來建立實體。
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
這篇內容,將會講解什麼是變數,以及與變數相關的知識。包括變數、資料型態、變數賦值、變數的命名規則、變數的作用區域、變數的可重複性、內建變數。
這篇內容,將透過實戰教學,來講解「滑鼠點方塊」的程式碼。包括如何測試遊戲、座標系統、自訂參數和內建參數、if else、and、遊戲的邏輯設計、程式碼解析。
這篇內容,將透過實戰教學,介紹GameMaker中的Event。包括Event的簡介、Create的講解、Step的講解、Events的基本操作。
這篇內容,將透過實戰教學,介紹GameMaker中的Camera。包括Camera的簡介、設定Camera的方法、Viewport的介紹。
這篇內容,將透過實戰教學,介紹GameMaker中的Room。包括Room的簡介、調整寬高、圖層功能的概述、用Object來建立實體。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這堂課與地球科學、天體物理的訊號分析有關, 主講人是丹麥國家太空中心的地磁學家。 乍看很生硬,有大量的矩陣、統計、線性代數推導, 目的很單純,想利用各種手法, 對複雜的觀測資料進行降噪、找出合適的回歸模型。 而這種從數據 (Data) 回推模型 (Model) 的問題, 就稱為 Inve
本課程學習如何使用 DataStore 實作一個簡單計數器。
Thumbnail
聚合函數 可以對資料的筆數、平均、最大、最小和加總的運算,提供查詢結果:如下表示: COUNT(Column):計算筆數,「*」是統計紀錄數。 AVG(Column):計算欄位平均值。 MAX(Column):計算欄位最大值。 MIN(Column):計算欄位最小值。 SUM(Colum
Thumbnail
種類 SQL指令分三大部分: 資料定義語言(Data Definition Language,DDL):建立資料表、索引和檢視表等,和定義資料表的欄位。 資料操作語言(Data Manipulation Language,DML):資料表紀錄查詢、插入、刪除和更新指令。 資料控制語言(Dat
Thumbnail
多條件查詢 AND運算子 SELECT *​ FROM your_table_name WHERE column1 LIKE '_value1%' AND column2 = number​2 OR運算子 SELECT *​ FROM your_table_name WHERE colu
Thumbnail
查詢範圍 指定欄位 SELECT column1, column2, column3,... FROM your_table_name 不重複欄位 SELECT DISTINCT column1 FROM your_table_name 欄位別名 SELECT column1 A
Thumbnail
底下列出常用的資料類型: TINYINT:最小的整數,有符號整數-128~127;無符號整數0~255。 SMALLINT:短整數,有符號整數-32,768~32,767;無符號整數0~65,535。 MEDIUMINT:中型整數,有符號整數-8,388,608~8,388,607;無符號整數
Thumbnail
在Data Driven行銷Part 中提及到Data Driven行銷已經成為了一種必要的策略。透過數據驅動的策略,企業可以更準確地預測市場趨勢,更有效地分配資源,並更精確地衡量行銷效果。
Thumbnail
Data-Driven Marketing 已成為行銷人必須掌握的關鍵手法。這種行銷模式是以客戶資料為基礎,透過數據分析來驅動行銷策略的製定和實施。這種模式讓我們能更精準地理解客戶需求,並最大化行銷效益。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
這堂課與地球科學、天體物理的訊號分析有關, 主講人是丹麥國家太空中心的地磁學家。 乍看很生硬,有大量的矩陣、統計、線性代數推導, 目的很單純,想利用各種手法, 對複雜的觀測資料進行降噪、找出合適的回歸模型。 而這種從數據 (Data) 回推模型 (Model) 的問題, 就稱為 Inve
本課程學習如何使用 DataStore 實作一個簡單計數器。
Thumbnail
聚合函數 可以對資料的筆數、平均、最大、最小和加總的運算,提供查詢結果:如下表示: COUNT(Column):計算筆數,「*」是統計紀錄數。 AVG(Column):計算欄位平均值。 MAX(Column):計算欄位最大值。 MIN(Column):計算欄位最小值。 SUM(Colum
Thumbnail
種類 SQL指令分三大部分: 資料定義語言(Data Definition Language,DDL):建立資料表、索引和檢視表等,和定義資料表的欄位。 資料操作語言(Data Manipulation Language,DML):資料表紀錄查詢、插入、刪除和更新指令。 資料控制語言(Dat
Thumbnail
多條件查詢 AND運算子 SELECT *​ FROM your_table_name WHERE column1 LIKE '_value1%' AND column2 = number​2 OR運算子 SELECT *​ FROM your_table_name WHERE colu
Thumbnail
查詢範圍 指定欄位 SELECT column1, column2, column3,... FROM your_table_name 不重複欄位 SELECT DISTINCT column1 FROM your_table_name 欄位別名 SELECT column1 A
Thumbnail
底下列出常用的資料類型: TINYINT:最小的整數,有符號整數-128~127;無符號整數0~255。 SMALLINT:短整數,有符號整數-32,768~32,767;無符號整數0~65,535。 MEDIUMINT:中型整數,有符號整數-8,388,608~8,388,607;無符號整數
Thumbnail
在Data Driven行銷Part 中提及到Data Driven行銷已經成為了一種必要的策略。透過數據驅動的策略,企業可以更準確地預測市場趨勢,更有效地分配資源,並更精確地衡量行銷效果。
Thumbnail
Data-Driven Marketing 已成為行銷人必須掌握的關鍵手法。這種行銷模式是以客戶資料為基礎,透過數據分析來驅動行銷策略的製定和實施。這種模式讓我們能更精準地理解客戶需求,並最大化行銷效益。