<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>GDScript入門 on Godot 4 レシピ</title><link>https://kamera25.github.io/godot_recipes/4.x/ja/g101/gdscript/index.html</link><description>Recent content in GDScript入門 on Godot 4 レシピ</description><generator>Hugo -- gohugo.io</generator><language>ja</language><atom:link href="https://kamera25.github.io/godot_recipes/4.x/ja/g101/gdscript/index.xml" rel="self" type="application/rss+xml"/><item><title>入門</title><link>https://kamera25.github.io/godot_recipes/4.x/ja/g101/gdscript/gdscript_01/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://kamera25.github.io/godot_recipes/4.x/ja/g101/gdscript/gdscript_01/index.html</guid><description>&lt;h2 id="概要"&gt;概要&lt;/h2&gt;
&lt;p&gt;ゲームの動作やメカニクスを構築するには、スクリプトを記述してノードやその他のオブジェクトにアタッチします。例えば、&lt;i class="gd-Sprite2D"&gt;&lt;/i&gt;&lt;code&gt;Sprite2D&lt;/code&gt;ノードは自動的に画像を表示しますが、画面上で移動させるには、速度や移動方向などを制御するスクリプトを追加する必要があります。&lt;/p&gt;
&lt;p&gt;これはインスペクターを使用する場合と同様と考えてください。GDScriptはGodotノードに関するあらゆる知識を持ち、それらへのアクセス方法を知っているだけでなく、動的に変更することもできます。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://docs.godotengine.org/ja/stable/tutorials/scripting/gdscript/gdscript_basics.html" target="_blank"&gt;Godot公式ウェブサイトのGDScriptドキュメント&lt;/a&gt;は、言語の基本を理解するための最適なリソースです。時間を取ってしっかり読み込むことを強くオススメします。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GDScript は Python ですか？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;「GDScriptはPythonをベースにしている」と説明されているのをよく目にするでしょう。これは一見誤解を招きやすい表現ですが、実際にはGDScriptはPythonに似た &lt;em&gt;構文&lt;/em&gt; を採用してはいるものの、Godotエンジン向けに最適化された完全に独立した言語です。とはいえ、すでにPythonをある程度知っている方なら、GDScriptは非常に親しみやすいものに感じられるはずです。&lt;/p&gt;
&lt;div class="box notices cstyle warning"&gt;
&lt;div class="box-label"&gt;&lt;i class="fa-fw fas fa-exclamation-triangle"&gt;&lt;/i&gt; 警告&lt;/div&gt;
&lt;div class="box-content"&gt;
&lt;p&gt;多くのチュートリアル（およびGodot自体）では、ある程度のプログラミング経験があることを前提としています。これまで一度もコードを書いたことがない場合、Godotを学ぶのは困難に感じるかもしれません。ゲームエンジンを習得するだけでも大きな挑戦ですが、同時にコーディングも学ぶとなると、負担はさらに大きくなります。もしこのセクションのコードで苦戦しているなら、初心者向けプログラミング講座（Pythonがオススメです）を履修することで、基本的な概念をしっかりと理解できるはずです。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="スクリプトの構成要素"&gt;スクリプトの構成要素&lt;/h2&gt;
&lt;p&gt;GDScriptファイルの最初の行は&lt;code&gt;extends &amp;lt;クラス名&amp;gt;&lt;/code&gt;で始めなければなりません。ここで&lt;code&gt;&amp;lt;クラス名&amp;gt;&lt;/code&gt;は、既存の組み込みクラスまたはユーザーが定義したカスタムクラスのいずれかを指定します。たとえば、&lt;code&gt;CharacterBody2D&lt;/code&gt;ノードにスクリプトをアタッチする場合、スクリプトの冒頭は&lt;code&gt;extends CharacterBody2D&lt;/code&gt;となります。これは、スクリプトが組み込みの&lt;i class="gd-CharacterBody2D"&gt;&lt;/i&gt;&lt;code&gt;CharacterBody2D&lt;/code&gt;オブジェクトの持つ機能をすべて引き継ぎ、さらにユーザー定義の追加機能で拡張していることを意味します。&lt;/p&gt;
&lt;p&gt;スクリプトの残り部分では、任意数の変数（通称「クラスプロパティ」）と関数（通称「クラスメソッド」）を定義できます。&lt;/p&gt;
&lt;h2 id="スクリプトの作成方法"&gt;スクリプトの作成方法&lt;/h2&gt;
&lt;p&gt;最初のスクリプトを作成してください。覚えておくべきは、どのノードにもスクリプトをアタッチできるということです。&lt;/p&gt;
&lt;p&gt;エディターを開き、空のシーンに &lt;i class="gd-Sprite2D"&gt;&lt;/i&gt;&lt;code&gt;Sprite2D&lt;/code&gt;ノードを追加してください。新規追加したノードを右クリックし、「スクリプトをアタッチ」を選択します。または、検索ボックス横のボタンをクリックしてスクリプトをアタッチすることもできます。&lt;/p&gt;
&lt;p&gt;
&lt;a href="#image-8fe849639c77278794fa773989ae54ee" class="lightbox-link"&gt;
&lt;img src="https://kamera25.github.io/godot_recipes/4.x/img/gds_01_attach.png?width=250" alt="alt" style="height: auto; width: 250;" loading="lazy"&gt;
&lt;/a&gt;
&lt;a href="javascript:history.back();" class="lightbox" id="image-8fe849639c77278794fa773989ae54ee"&gt;
&lt;img src="https://kamera25.github.io/godot_recipes/4.x/img/gds_01_attach.png?width=250" alt="alt" class="lightbox-image" loading="lazy"&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;次に、スクリプトを保存する場所とファイル名を決定する必要があります。ノードに名前を付けている場合、スクリプトは自動的にそれに一致する名前が割り当てられます（変更を加えない限り、このスクリプトはおそらく「sprite2d.gd」という名前になります）。&lt;/p&gt;
&lt;p&gt;スクリプトエディターウィンドウが開きます。ここに、新しく作成した空のスプライト用スクリプトが表示されます。Godotは自動的に数行のコードと、各コードの機能を説明するコメントを自動生成しています。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript" data-lang="gdscript"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;extends&lt;/span&gt; &lt;span style="color:#8fbcbb"&gt;Sprite2D&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#616e87;font-style:italic"&gt;# Called when the node enters the scene tree for the first time.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;func&lt;/span&gt; &lt;span style="color:#88c0d0"&gt;_ready&lt;/span&gt;&lt;span style="color:#eceff4"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#81a1c1;font-weight:bold"&gt;pass&lt;/span&gt; &lt;span style="color:#616e87;font-style:italic"&gt;# Replace with function body.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#616e87;font-style:italic"&gt;# Called every frame. &amp;#39;delta&amp;#39; is the elapsed time since the previous frame.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#81a1c1;font-weight:bold"&gt;func&lt;/span&gt; &lt;span style="color:#88c0d0"&gt;_process&lt;/span&gt;&lt;span style="color:#eceff4"&gt;(&lt;/span&gt;delta&lt;span style="color:#eceff4"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#81a1c1;font-weight:bold"&gt;pass&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;スクリプトが &lt;i class="gd-Sprite2D"&gt;&lt;/i&gt;&lt;code&gt;Sprite2D&lt;/code&gt; に追加されたため、最初の行は &lt;code&gt;extends Sprite2D&lt;/code&gt; に自動的に設定されます。このスクリプトは &lt;i class="gd-Sprite2D"&gt;&lt;/i&gt;&lt;code&gt;Sprite2D&lt;/code&gt; クラスを継承しているため、&lt;i class="gd-Sprite2D"&gt;&lt;/i&gt;&lt;code&gt;Sprite2D&lt;/code&gt;ノードが提供するすべてのプロパティとメソッドにアクセスして操作することが可能になります。&lt;/p&gt;</description></item></channel></rss>