2020/11/28(土) [n年前の日記]
#1 [godot] Godot Engineで多重スクロールを試したり
Godot Engine 3.2.3 x64 を勉強中。Godot Engine で背景の多重スクロールをしてみたい。Parallax Scroll、視差スクロールと呼ばれるらしいけど。
_Parallax scrolling - Wikipedia
以下のページが参考になった。ありがたや。
_【Godot Engine】背景無限スクロールのやり方 - えんどーめも
試した結果を html5 でエクスポートしてみた。
_parallax_test01.html
_Parallax scrolling - Wikipedia
以下のページが参考になった。ありがたや。
_【Godot Engine】背景無限スクロールのやり方 - えんどーめも
試した結果を html5 でエクスポートしてみた。
_parallax_test01.html
- カーソルキーで上下左右にスクロール。
- 背景3面分が異なる速度でスクロールしている。
- 画面をクリックしないとキー入力が反応しないかもしれない。
◎ 使用画像。 :
◎ ノード等についてメモ。 :
多重スクロールをするには、ParallaxBackgroundノードとParallaxLayerノードを使うらしい。
以下のようなノード構成にしてみた。
ParallaxLayer 1つで背景1面分を担当するらしい。
各面の速度の違いは、ParallaxLayer のプロパティ、Motion - Scale で指定する。1なら等速(?)スクロール。1より小さければ遅くなるし、1より大きければ速くなる。
ParallaxLayer の下にぶら下げた表示ノードは、繰り返し表示もできるらしい。Motion - Mirroring でサイズ?を指定すれば、そのサイズで繰り返し表示される状態になる。
Camera2Dノードはカメラを担当するノードっぽい。
以下のようなノード構成にしてみた。
Main (Node) │ ├─ ParallaxBackground │ │ │ ├─ ParallaxLayer │ │ │ │ │ └─ TileMap │ │ │ ├─ ParallaxLayer │ │ │ │ │ └─ TileMap │ │ │ └─ ParallaxLayer │ │ │ └─ TileMap │ └─ Sprite │ └─ Camera2D
ParallaxLayer 1つで背景1面分を担当するらしい。
各面の速度の違いは、ParallaxLayer のプロパティ、Motion - Scale で指定する。1なら等速(?)スクロール。1より小さければ遅くなるし、1より大きければ速くなる。
ParallaxLayer の下にぶら下げた表示ノードは、繰り返し表示もできるらしい。Motion - Mirroring でサイズ?を指定すれば、そのサイズで繰り返し表示される状態になる。
Camera2Dノードはカメラを担当するノードっぽい。
- Current にチェックを入れて有効化すると、そのCamera2Dで指定された範囲がウインドウに表示される模様。
- Limit に値を指定すれば、その範囲内だけを表示する状態になる。
- Smoothing にチェックを入れれば、カメラが動く時に若干動きが遅れて滑らかなカメラの動きになる。
[ ツッコむ ]
以上です。