4.15 Scrolling Background

This commit is contained in:
siyahas 2024-11-17 18:02:23 +03:00
parent 2cd24654f7
commit 243198b83e
3 changed files with 45 additions and 1 deletions

17
scenes/background.tscn Normal file
View file

@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://condfnt5uowdc"]
[ext_resource type="Texture2D" uid="uid://bgdtrj7v0db2s" path="res://assets/textures/bg/Blue.png" id="1_388x7"]
[ext_resource type="Script" path="res://scripts/background.gd" id="1_f3g6g"]
[node name="Background" type="ParallaxBackground"]
script = ExtResource("1_f3g6g")
[node name="ParallaxLayer" type="ParallaxLayer" parent="."]
motion_mirroring = Vector2(640, 640)
[node name="Sprite2D" type="Sprite2D" parent="ParallaxLayer"]
texture_repeat = 2
texture = ExtResource("1_388x7")
centered = false
region_enabled = true
region_rect = Rect2(0, 0, 640, 640)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=3 uid="uid://cchf5vmjp6ahj"]
[gd_scene load_steps=11 format=3 uid="uid://cchf5vmjp6ahj"]
[ext_resource type="Script" path="res://scripts/level.gd" id="1_84g5v"]
[ext_resource type="PackedScene" uid="uid://c7y3ileam1twx" path="res://scenes/player.tscn" id="2_d65cs"]
@ -6,6 +6,7 @@
[ext_resource type="PackedScene" uid="uid://cnt3xr237kdqs" path="res://scenes/saw_trap.tscn" id="4_f5456"]
[ext_resource type="PackedScene" uid="uid://cxfl4ogd53fb3" path="res://scenes/spike_ball_trap.tscn" id="5_8oo66"]
[ext_resource type="PackedScene" uid="uid://c72cqu6ot5fc2" path="res://scenes/tile_map.tscn" id="6_8qvnr"]
[ext_resource type="PackedScene" uid="uid://condfnt5uowdc" path="res://scenes/background.tscn" id="7_fogjy"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iyldn"]
size = Vector2(947, 20)
@ -59,4 +60,6 @@ position = Vector2(199, 69)
[node name="TileMapLayer" parent="." instance=ExtResource("6_8qvnr")]
position = Vector2(160, 162)
[node name="Background" parent="." instance=ExtResource("7_fogjy")]
[connection signal="body_entered" from="Deathzone" to="." method="_on_death_zone_body_entered"]

24
scripts/background.gd Normal file
View file

@ -0,0 +1,24 @@
extends ParallaxBackground
@export var bg_texture: CompressedTexture2D
@export var scroll_speed: float = 15
@onready var sprite_2d: Sprite2D = $ParallaxLayer/Sprite2D
# alternative implementation of scrolling effect using tween
var tween: Tween
func _ready() -> void:
tween = create_tween().set_loops()
tween.tween_property(sprite_2d, "region_rect:position", Vector2(64,64), 64.0/scroll_speed)
tween.tween_property(sprite_2d, "region_rect:position", Vector2.ZERO, 0)
## Animate sprite region using scroll_speed to give motion effect
#func _process(delta: float) -> void:
#sprite_2d.region_rect.position += delta * Vector2(scroll_speed, scroll_speed)
#if sprite_2d.region_rect.position >= Vector2(64,64):
#sprite_2d.region_rect.position = Vector2.ZERO
#pass