ダクメデリバース大型アプデ進捗報告2(2023/07/02)
こんばんはー、レイマスターです。
7月に入って、2023年後半に入りました。
タイトル通り、ダクメデリバースの大型アプデ進捗報告です。
ダクメデリバース大型アプデ
古洋館ステージに扉追加
クリエイターズ文化祭2022Verには無かった扉を、
大型アップデートで追加することにしました。
レイヤー番号となるz_indexをプレイヤーより低めに設定すれば、
プレイヤーが扉の前にいるような感じとなります、が…
一つの問題が浮上。
「もしも、まだ開いてない扉の後ろにプレイヤーがいたとしたら…」
答え
「プレイヤーが何故か扉を上から踏んでいるかのような違和感っ!」
別のノードでプレイヤーがエリア内に入ったら
z_indexの数値を変えるなど、試行錯誤してみたが、
思うように上手くいかずの繰り返し。
ようやく、この問題を解決!
どうやって、この問題を解決したのかというと…、
扉を開けるエリアとは別のエリアノードを作成。
扉を開けるエリアより上のエリアを
ChangeFrontArea2D
下のエリアを
ChangeBackArea2D
扉のスクリプト内に、
func _on_ChangeFrontArea2D_body_entered(body:Node) -> void:
$Sprite.set_z_index(2)
pass
func _on_ChangeBackArea2D_body_entered(body:Node) -> void: #
$Sprite.set_z_index(0)
pass
エリアを踏むとz_indexを変更する処理を追加。
(プレイヤーキャラのz_indexが1の場合)
このような処理を行った結果、
プレイヤーが扉より前。
プレイヤーが扉より後ろ。
無事に実装できました!
もしも、他のマップチップでこういう違和感が起きそうな時は、
この方法で解決をしてみようと考えてます。
次は逃走妨害トラップとアイテム関連の処理実装。
これが終われば、全部ではなくてもゲームの基本的な部分が
完成したことになります。
報告は以上です。