SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Godot Engine 2Dゲーム開発入門

Godot Engineのゲーム開発はじめの一歩──インストールしてプロジェクトを動かそう!

Godot Engine 2Dゲーム開発入門 第1回

  • X ポスト
  • このエントリーをはてなブックマークに追加

7.スクリプトを書いてみよう3

 もう少しだけスクリプトを追加します。スクリプトの追加は、これが最後です。

 ルートノードの「Sprite2D」の「インスペクター」ドックを操作して、「Offset」の「x」と「y」を0に戻します。値の横にリロードの回転アイコンがある場合は、このアイコンを押すと初期値に戻ります。

Offsetをリセット
Offsetをリセット

 次に、sprite_2d.gdを次のように書き換えます。

sprite_2d.gd
extends Sprite2D

const TEST = preload("res://test.gd")


func _init():
	print("Hello, world!")
	var test = TEST.new()
	test.my_func()


func _ready() -> void:
	position.x = 576.0
	position.y = 324.0


func _process(delta):
	position.y += 10
	if position.y > get_viewport().size.y:
		position.y = 0
sprite_2d.gd の変更
sprite_2d.gd の変更

 _ready関数は、ノードがツリーに追加されて、準備完了になったタイミングで実行されます。多くの場合、ノードにアタッチしたスクリプトの初期化はここでおこないます。

 「インスペクター」ドックにある値は、それぞれのノード(クラス)のプロパティ(メンバー変数)です。そのためpositionのように直接利用できます。長く書くならself.positionです。

 _ready関数では、position.xposition.yの値を初期化します。

 続く_process関数は、毎フレーム呼び出される関数です。ここでは画像を下に移動させ、端まで来たら上から出現させます。

 ここではまず、position.y10を足します。

 if文はPythonと同じようにif 条件式:と書いてインデントします。ビューポートのサイズはget_viewport().sizeで得られます。高さはsize.yです。Y位置が、ビューポートの高さを超えたら、Y位置を0にします。

 「Ctrl+S」で変更を保存したあと、右上の「▶」(プロジェクトの実行)をクリックします。アイコンが上から下に移動するのが分かります。

下移動
下移動
下移動

次のページ
8.実行ファイルを出力しよう

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/21360 2025/04/28 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング