mieki256's diary



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

使用画像。 :

使用画像は以下。CC0 / Public Domain ってことで。

scifi_bg_chip_base.png
_scifi_bg_chip_base.png


enemy_ball0.png
_enemy_ball0.png

ノード等についてメモ。 :

多重スクロールをするには、ParallaxBackgroundノードとParallaxLayerノードを使うらしい。

以下のようなノード構成にしてみた。

godot_parallax_ss01.png

Main (Node)
│
├─ ParallaxBackground
│     │
│     ├─ ParallaxLayer
│     │     │
│     │     └─ TileMap
│     │
│     ├─ ParallaxLayer
│     │     │
│     │     └─ TileMap
│     │
│     └─ ParallaxLayer
│            │
│            └─ TileMap
│       
└─ Sprite
       │
       └─ Camera2D

ParallaxLayer 1つで背景1面分を担当するらしい。

各面の速度の違いは、ParallaxLayer のプロパティ、Motion - Scale で指定する。1なら等速(?)スクロール。1より小さければ遅くなるし、1より大きければ速くなる。

godot_parallax_ss02.png


ParallaxLayer の下にぶら下げた表示ノードは、繰り返し表示もできるらしい。Motion - Mirroring でサイズ?を指定すれば、そのサイズで繰り返し表示される状態になる。

godot_parallax_ss03.png


Camera2Dノードはカメラを担当するノードっぽい。

godot_parallax_ss04.png

  • Current にチェックを入れて有効化すると、そのCamera2Dで指定された範囲がウインドウに表示される模様。
  • Limit に値を指定すれば、その範囲内だけを表示する状態になる。
  • Smoothing にチェックを入れれば、カメラが動く時に若干動きが遅れて滑らかなカメラの動きになる。

以上です。

過去ログ表示

Prev - 2020/11 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project