投稿

ラベル(プログラミング)が付いた投稿を表示しています

おすすめ!自作ゲーム!

【バイサバ!】溜めて、狙って、ぶっ飛ばせ!チャージで全て薙ぎ払うタワーディフェンス!

イメージ
バイサバをBOOTHでも販売開始しました! サーマーセールも合わせて開催! 今なら 50%OFF! の 500円で購入可能 に! ダウンロードは →  https://yamatogamelabs.booth.pm/items/8407425   DLsiteで販売しています。(Bloggerの規約上、リンクは貼れません。 Bye!Bye!Survivor!  もしくは  RJ01621439  で検索してください) デモ版もあるのでまずはお試しから! ■ ゲーム概要 溜めて、狙って、ぶっ飛ばせ! 右クリック長押しでチャージ! 溜めるほど、攻撃がどんどんパワーアップ! 攻撃力・攻撃サイズ・Hit数・クリティカルまで強化される、強力なチャージ攻撃で、押し寄せるスライムをまとめて吹き飛ばそう! 敵をピンポイントで狙い撃つか、 最大までチャージして敵の群れを一気に薙ぎ払うか。 シンプルな操作で、チャージのタイミングと狙いが勝敗を分ける! チャージ攻撃で敵をまとめて撃破! ■ このゲームの魅力 シンプルな操作で、チャージのタイミングと狙いが勝敗を分ける! チャージ攻撃で敵をまとめて撃破! 基本操作は左右移動だけ。 攻撃は自動で行われるので、難しい操作は必要ありません。 そこに加わるのが、強力なチャージ攻撃。 チャージするほど攻撃が強くなり、 大きさやHit数も増加! 大量の敵をまとめて貫通させたり、 強力な一撃で狙った敵を撃ち抜いたり。 いつ撃つか、どこを狙うかはあなた次第! ■ クリスタルを守り抜け! スライムたちは、あなたではなくクリスタルを狙って押し寄せてきます。 敵がクリスタルに到達するとダメージを受け、 HPが0になるとクリスタルが大爆発! そのまま空の彼方へ吹き飛ばされてゲームオーバー! 攻撃だけでなく、クリスタルのHP管理も重要です。 ボスを倒してステージを突破! ステージの最後には強力なボスが登場。 大量のHPを持ち、強力な攻撃を繰り出してきます。 さらに、ボスがクリスタルに到達すると即ゲームオーバー! 敵の攻撃は、こちらの攻撃で相殺することも可能。 迫りくる敵と弾をまとめて薙ぎ払い、 ボスがクリスタルへ到達する前に撃破しよう! ■ オブ...

Godotの継承、superが必要っぽい

せっかくだから継承用のスクリプトを作ってまとめていたら、 ハマってしまったのが super 継承元の _ready() で初期化していて、 継承先のスクリプトでも必要なものを _ready() で初期化したら、 オーバーライドになってしまっていた! 継承が必要なら super._ready() を入れないとダメということで @何かのスクリプト  extends TransObj func _ready() -> void: super._ready() @継承元 class_name TransObj extends Node func _ready() -> void: pass    # 何かの処理 ー これ必須

【Godot 4入門】知らなきゃ損!コードをスッキリ保つアノテーション(@export, @onreadyなど)

  アノテーションとは? アノテーションとは、スクリプトの変数や関数に「追加の目印やルール」を与える機能です。 Godot 4では、行頭に @ マークをつけて記述します。コードの可読性が上がり、インスペクターとの連携も強力になります。 @export var character_name: String = "勇者" @export var max_health: int = 100 @export var move_speed: float = 5.5 範囲を指定する ( @export_range ) @export_range(0.0, 100.0, 0.1) var volume: float = 50.0 ファイルパスを制限する ( @export_file ) @export_file("*.tscn") var next_scene: String グループ化する ( @export_category / @export_group ) @export_category("ステータス") @export var attack_power: int = 10 @export var defense: int = 5 @export_group("ステータス") @export var attack_power: int = 10 @export var defense: int = 5

【Godot 4】これだけは覚えておきたい!await で使える便利なコルーチンまとめ

Godot 4でスクリプトを書いていると、「1フレームだけ待ちたい」「少しだけ演出を遅らせたい」「特定のシグナルを待ち受けたい」という場面によく遭遇します。 Godot 4では await キーワードを使うことで、コードの流れを止めることなく、スマートに待機処理を実装できます。よく使う代表的なパターンを見ていきましょう! 1. 定番!「1フレーム待つ」処理 一番よく使うのがこれです。物理演算やノードの初期化順序の関係で、「インスタンス生成の次のフレームで位置を確定させたい」ときなどに重宝します。 # 1フレーム処理を待つ  await get_tree().process_frame 2. 物理演算フレーム( _physics_process )のタイミングで待つ 物理挙動( CharacterBody2D や RigidBody3D など)をスクリプトから制御する際、物理演算の更新タイミングに合わせたい場合に使います。 # 次の物理フレームまで待つ  await get_tree().physics_frame 3. 指定した時間だけ待つ(タイマー処理) 演出のウェイトや、連続入力を防ぐクールダウンなどに必須の処理です。 Engine.get_main_loop() や get_tree().create_timer() を利用します。 # 1.5秒待つ  await get_tree().create_timer(1.5).timeout 4. シグナル(イベント)の発行を待つ Godotの真骨頂であるシグナルを await で直接待ち受けることができます。 何かの完了を待つ処理が、上から下に流れるようなきれいなコードで書けます。 # アニメーションの再生が終わるのを待つ $AnimationPlayer.play("explosion") await $AnimationPlayer.animation_finished print("爆発アニメーション終了!") 5. Tween(トゥイーン)の完了を待つ UIのフェードイン・フェードアウトや、 オブジェクトのスムーズな移動の完了を待つパターンです。 Tween自体に await を繋げられます。 var tween = create_tween() t...