fullseye

parallax_layers — GFX2D tile op

使い方

Scroll a set of rgba layers at different rates and composite them.

layers[0] is the farthest layer and is drawn first. Each layer is shifted by -round(camera_x * factors[i]) columns (and rows, if factors_y is given) and wraps — a parallax backdrop is a loop, and wrapping is what makes it one.

Shifts are rounded to whole pixels, so the scroll is a pure permutation: a single layer shifted by exactly its own width comes back with its alpha channel bit-identical and its colour identical wherever alpha > 0. (The colour of fully transparent pixels is not preserved — compositing goes through :func:premultiply, which zeroes it by definition. That is the documented cost of the premultiplied round trip, not a bug in the scroll.)

Sub-pixel scrolling would resample every frame and accumulate blur, which is why it is not offered here — put the fractional part in :func:sprite_transform if you need it.

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(rgba を入力に取れる)

premultiply · alpha_composite · sprite_blit · sprite_transform · sprite_sheet_slice · nine_slice

同カテゴリ(tile)

tilemap_render


Provenance: gfx2d.py — GFX2D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.