Open25

card-game

frommiddle1frommiddle1

Godotにおいて「コントロール」が何を指すかよくわかっていなかったがUIを作成するための要素らしい。

frommiddle1frommiddle1

Godotにおいて「コントロール」が何を指すかよくわかっていなかったが

frommiddle1frommiddle1

@export の説明
以下のプロパティをエクスポート済み(インスペクタ・ドックで編集可能、ディスクに保存可能)としてマークします。エクスポートされるプロパティのタイプを制御するには、タイプヒント表記を使用します

frommiddle1frommiddle1

Godotで、他のクラスをインスタンス化する際はインスタンス化対象のオブジェクトをシーンとして保存する必要がある。コードでインスタンス化したい場合はインスタンス化対象のファイル(*.tscn)をpreloadやloadで読み込んで、instantantiateを実行する。エディタの機能で実装する場合は@exportを利用してエディタ側に変数をエクスポートし、インスペクターからインポート対象のファイルパスを指定する。

frommiddle1frommiddle1

*.tscn に対する *gdの紐づきはResurceで定義されているようだ。インスペクターから確認できる。

frommiddle1frommiddle1

@onready アノテーションの使いどころがわからない。。。別シーンのスクリプトロードには不要っぽい?ノードの生成サイクルを理解しておかないと発火タイミングがわからんな。readyにはいつなるのだ?

frommiddle1frommiddle1

var CardDatabase = load("res://Cards/CardDatabase/CardDatabase.gd")
上記の形にしたらgdファイルのみで外部からDB利用ができた。単にLoadしてnewすればいい様子だ。

frommiddle1frommiddle1

scaleプロパティはControlに所属している。多くのノードがControlを継承しているので、だいたい利用可能だ。主にこいつはアニメーションを実現するためのプロパティらしい。(processの中で連続的に大小させれば、大きくなったり小さくなったりするのだろう。

frommiddle1frommiddle1

切り替えていく。まだインプットが足りていない。とにかくいろんなゲームのチュートリアルや素材を探す。
タイルセット
https://docs.godotengine.org/en/stable/tutorials/2d/using_tilesets.html
よさげなチュートリアル
https://quiver.dev/tutorials/
アニメーションチュートリアル
https://docs.godotengine.org/en/stable/tutorials/animation/index.html
視覚効果
https://www.youtube.com/watch?v=eU-F-xuEo7s
など

frommiddle1frommiddle1


プロジェクト設定から物理レイヤーに名前を付けることができる。

frommiddle1frommiddle1

Layerは物理的に存在するレイヤーで、Maskで指定したレイヤーとの衝突を検出できるようになる。どう使いこなすかがよくわからない。

frommiddle1frommiddle1


作成中のシーンを部分的に切り出して保存することができる。便利だ。

frommiddle1frommiddle1

シーンのインスタンスはデフォルトプロパティの値を上書きすることができる。

frommiddle1frommiddle1

Input.is_action_just_pressed
はインプットが継続した際に一度だけ発火する。

frommiddle1frommiddle1

Time.get_tick_msec() でゲーム開始時からの経過時刻をmsecで取得できる。

frommiddle1frommiddle1

queue_free() で現在のノードを削除するためのキューに入れる。削除されたノードの子ノードもすべて削除されて、当該ノードをその子ノードへの参照はすべて無効となる。

frommiddle1frommiddle1

Area2Dのbody_enteredとbody_exitedは頻出なシグナルだと思う。当該シグナルに渡すコールバックは領域に侵入したオブジェクトを引数として受け取る。

frommiddle1frommiddle1

get_tree().reload_current_scene()
でゲーム内の設定リフレッシュ

frommiddle1frommiddle1

CanvasItemは基本的な2次元のノードが継承している要素

frommiddle1frommiddle1

親のtransformを継承しており、親が動くと子も動く。この性質は便利な反面、すべての場合において都合がいいわけではない。

frommiddle1frommiddle1

シーンツリーからD&Dでノードにスクリプトを持ってくると参照コードが記述可能。
Ctrlを押していると@onreadyも付与してくれる。

frommiddle1frommiddle1

Area2DにCollisionとSpriteを子として入れるのはイディオムチック