関数を宣言する
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 51/92。
関数は、名前の付いたコードのまとまりです。一度書けば、必要なときにいつでも実行、つまり呼び出しができます。
このコードを見てください:
print("Welcome to Coddy")
print("New session...")
print("Welcome to Coddy")
print("Another session...")
print("Welcome to Coddy")ウェルカムメッセージが3回書かれています。メッセージを変更するには、3か所すべてを編集しなければなりません。関数を使えば解決できます。
func、名前、括弧、コロンを使って関数を宣言します。関数の文はその下にインデントして記述します。
func greet():
print("Welcome to Coddy")すでに1つの関数を知っています。プログラムの起動時にGodotが呼び出す_ready()です。自分で定義する関数は、_ready()と並ぶファイルのトップレベルに記述し、その中には入れません。関数を呼び出すには、名前の後にかっこを書きます。
extends Node
func _ready():
greet()
print("New session...")
greet()
print("Another session...")
greet()
func greet():
print("Welcome to Coddy")最初の例と同じ5行が出力され、メッセージは1か所にまとまっています。
ファイル内の関数の順序は関係ありません。_ready()から、その下に記述された関数を呼び出すことができます。関数名には変数と同じようにsnake_caseを使います。
チャレンジ
簡単このプログラムは整数 n を読み取り、n 回実行されるループを持っています。
_ready()の下に、数値50005000を出力するprint_large_numberという名前の関数を宣言してください。- ループ内の
passをprint_large_number()の呼び出しに置き換えてください。
入力が 3 の場合、出力は次のとおりです。
50005000
50005000
50005000自分で試してみよう
extends Node
func _ready():
var n := int(OS.read_string_from_stdin())
for i in range(n):
# ここで print_large_number() を呼び出す
pass
# 以下に関数 print_large_number() を定義する
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ