ゼルダ風にしたいのでモノを押したり引いたりできるようにしたい……
と思って調べてたら既に先駆者様がいらっしゃったので参考にさせてもらいました。
参考:【Bakinゲーム開発実況#17】押し引きアクションの実装方法!~アクションRPGを作る!~
Bakinのデフォルトに「押して転がせるイベント」という機能が備わっています。
マジか!って思ったけど、大抵こういうものは理想にそぐわない形でしょう。
実際に設置してみて確かに押して動かせるけど、案の定物理演算を利用した挙動でコレジャナイ感がすごいのでやはり自作せざるを得ない状況になりました。
物理演算を使ったゲームであればこれで事足りるかもしれませんね。
ただ、やりたいのは時オカみたいにグリッドに沿った4方向でのオブジェクト移動がやりたいわけですが、ツクールと違ってマップは3Dなのでひと工夫必要です。
参考動画の通りにやればできるけどなんでこれが実現できたのか理解してないまま
ってことがあまり好きではないので、仕組みを洗い出してしっかりと理解して実装してみます。
全部やると長くなるのでとりあえずキャラが近づいたらオブジェクトにアクションを起こせる状態になるまでやってみます。
まずはやりたいことをざっくりと洗い出してみます。そこから深堀してみましょう。
ゼルダの岩を押したりするときの仕組みですね。ここから深堀してみます。
この機能を実現するためには以下の要素が必要になります。
1つずつ見ていきましょう。
後は条件に応じて押し引き処理を作るだけですね。
続きは動画を参考にしてもらったほうがよいです。
今のところ私はこの機能を使わないので、実際に使うようになったらまた改めてスクリプトで作成してみようと思います。