From 57f147236ac784afe578b480ce87bc42e518ead6 Mon Sep 17 00:00:00 2001 From: Tabby <41929769+tabby-cat-nya@users.noreply.github.com> Date: Fri, 27 Jun 2025 16:39:28 +1000 Subject: [PATCH] gaming --- Prefabs/lander.tscn | 58 +++++++++++++++++++++++++++++++++++ Sprites/LanderArt.pdn | Bin 0 -> 4879 bytes Sprites/LanderArt.png | Bin 0 -> 543 bytes Sprites/LanderArt.png.import | 34 ++++++++++++++++++++ Sprites/start.pdn | Bin 0 -> 11335 bytes Sprites/start.png | Bin 0 -> 1665 bytes Sprites/start.png.import | 34 ++++++++++++++++++++ autoscroll.gd | 18 +++++++++++ autoscroll.gd.uid | 1 + game.tscn | 55 +++++++++++++++++++++++++++++++++ project.godot | 9 +++++- ship.gd | 14 +++++++-- test.tscn | 28 +++++------------ 13 files changed, 227 insertions(+), 24 deletions(-) create mode 100644 Prefabs/lander.tscn create mode 100644 Sprites/LanderArt.pdn create mode 100644 Sprites/LanderArt.png create mode 100644 Sprites/LanderArt.png.import create mode 100644 Sprites/start.pdn create mode 100644 Sprites/start.png create mode 100644 Sprites/start.png.import create mode 100644 autoscroll.gd create mode 100644 autoscroll.gd.uid create mode 100644 game.tscn diff --git a/Prefabs/lander.tscn b/Prefabs/lander.tscn new file mode 100644 index 0000000..8b5752f --- /dev/null +++ b/Prefabs/lander.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=5 format=3 uid="uid://crrbht7mwhgyc"] + +[ext_resource type="Script" uid="uid://cd54ktlkabbla" path="res://ship.gd" id="1_do8h0"] +[ext_resource type="Texture2D" uid="uid://bd5oswedqnenh" path="res://Sprites/LanderArt.png" id="2_do8h0"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ykrsh"] +size = Vector2(8, 2) + +[sub_resource type="Gradient" id="Gradient_do8h0"] +offsets = PackedFloat32Array(0, 0.0886699, 1) +colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0) + +[node name="Lander" type="RigidBody2D" node_paths=PackedStringArray("particles_l", "particles_r")] +gravity_scale = 0.2 +script = ExtResource("1_do8h0") +thrust_power = 500.0 +turn_power = 1000.0 +particles_l = NodePath("Particles/ThrusterLeft") +particles_r = NodePath("Particles/ThrusterRight") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_do8h0") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2(-12, 15) +shape = SubResource("RectangleShape2D_ykrsh") + +[node name="CollisionShape2D2" type="CollisionShape2D" parent="."] +position = Vector2(12, 15) +shape = SubResource("RectangleShape2D_ykrsh") + +[node name="Particles" type="Node2D" parent="."] + +[node name="ThrusterLeft" type="CPUParticles2D" parent="Particles"] +position = Vector2(-12, 15) +direction = Vector2(0, 1) +spread = 0.0 +gravity = Vector2(0, 0) +initial_velocity_min = 56.0 +initial_velocity_max = 56.0 +damping_min = 34.4 +damping_max = 60.8 +scale_amount_min = 6.0 +scale_amount_max = 6.0 +color_ramp = SubResource("Gradient_do8h0") + +[node name="ThrusterRight" type="CPUParticles2D" parent="Particles"] +position = Vector2(12, 15) +direction = Vector2(0, 1) +spread = 0.0 +gravity = Vector2(0, 0) +initial_velocity_min = 56.0 +initial_velocity_max = 56.0 +damping_min = 34.4 +damping_max = 60.8 +scale_amount_min = 6.0 +scale_amount_max = 6.0 +color_ramp = SubResource("Gradient_do8h0") diff --git a/Sprites/LanderArt.pdn b/Sprites/LanderArt.pdn new file mode 100644 index 0000000000000000000000000000000000000000..63a88f4e0072ed36f98c1f8575b47d1652db5700 GIT binary patch literal 4879 zcmd^DeQaCR6@RaB9KVu|mO>dYhHD_DB#WK+E9sKJv!9zdslPu`C#u4;{bIl5+0S|J z*{;{EE3m2B5JKB3ZK$0<+Lu_x*oIiAb}X&5e~>m%TLvv^*C8>qt&~pPMp3)gJLlSo zowN)#X@B)v@4S1@Irn$&J@=e@o*d--)_<*_1`6rCH^*lLV_8gV*+G-F*JR8JVkWEA z`VwCe6m`&KHyKsFB&5ehEgJ`pDCdFM-DBzN?(cP4x@|o@{dUvPK&q%}a&Blq%NBD< zVLInAY8VL4QFH)nm-cDdSV&qxpBy5+^i2?E>FR$3=_^)eg`7fjebQ!e!-LNR2H#ys0&;iQ)}oBPd9)bmwhoK{8|m)<-Yh?&i1);~SQ#XQIx zO?k2tDG+li+H-PjDqWfz#))ozBAy+cn3YDyGOQPs!5Gh?9TammWF;5Jo&=6%HUv0i zeK^Hc$d+M%V-L|s9hPXaXy1i9uIt0RQFf$0DEnr7Ww6GEE7E4fnwyn8p?Js^b@oPLAt&c!vs^^zH#^wj-b^$S z*5>*r#^mV8cx9qTwFw2*I$9pLm%?6WQS&D(+vQBW9QO@-@7)3r{vGfm~Fwibj2NyC#)7u6@%qDN3u6+7W4k;ErF7hk-aflaYoCf zm^%^5jLyuuLS;_zj7)pS=KQlG7K`f1I1(d5HicVeBe8fOJZ5(%yxu{R(L6L@UI8q5>gtZ zvD!T>&+1K|O>gWr+0!Oo&RTRF0j_jNg z(b+dQF;wvj!YxhXQtd|60sM8(xpo#v8H@#{4G38Zyme@F*)frIO!@d3SVb;_VBQ;CKxNgpuHJ+(%JopQWfaWRSo{kd}9Dhy&Ms2uXZnY!!p3Wmc%P zmM~RmTF(Gu)qTQtak^XMGuBDVHvLLqaRbOQifO3h7O375Tt=oIhsmf_3c{cX$~*xW zG{uHD7n1oef`zs7~%?_oEB)Ty}BFaD}<(3+}V8iB>2g3qc0W?T;B;kS=sO!(*K9CfN0ogOcat$-8jOG!B{fZpIz`~%s^<&9z1qEMok-8n$cFXO;zbv!8Y0l z8ATg`5J)R@==DIZfwZB-1cX4^p;L$KC6Mr$O~29%iOEPH`*0#=x~ z4TsPeg+zuyw@ilNL}VB}%VZcAM22CoRCW{GO2DkO-S<3!1s~eVb8j4F4qFVmp!2-{ z^nUA!sww=ZpKN&j;UV?4uRN0cMe41>=fB%?=HQ!e?|J(7N3`#4ik6~}9~(dM+U1{K zy>zyEeEi}(^Xp4j_Wtc^;KM3skG^44_w2m*+hF2>L*LqcYR87PxpC!=9WSI`e6Q=w zql5Qa=l`6zyQ*K~UdPt9+gOvcX-&WT8ADmxTiA0C`Pc24>lnG~mo4_0p+~=L`_Z8{ zr>3SLv6WT(-+ua!%Q1pY7_auMq+nl1E?3nHtb5Zp_IVC>ytm8Kb!vp74l~d9{r%^c zpL<3=bdj6?K-vF($6E(}xc9l8SKJ3$sE40i_5Bt5o>~qbxCY#P^i;L)8Gxoetu)%ABT37-@U*cIJ>vwr64ZaFsJ zg#G#vhFagw9o6!I4_>l!13G0Q;ePCi>XB3X)|kKktH@st_I>l%OIMG>Uj?RZXAXSv qIao$3m+-)eMwSNN+mwlK3 literal 0 HcmV?d00001 diff --git a/Sprites/LanderArt.png b/Sprites/LanderArt.png new file mode 100644 index 0000000000000000000000000000000000000000..b3e1b63cd1c2aafafd490913af1785f0fc833c45 GIT binary patch literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$1AIbUH!=MGU;h@!J2Qpv4v=Cl3Gxg6|DWOdDPEvj2F?PH$YKTtzQZ8Q zcszea3Q$m@#5JNMI6tkVJh3R1As{g`uSCz!HAKNw&rr`oI`h>Epqg!|5uRzDo>~kX zKn^Q|6eBAGBar0<#L`eU$i*6r%wTaQAls0Ui9rBJM*(qWI}2Dm3&;k61Rw_KhtX)3 zG64NNft`T`sKUU=*nn{X#8i+D)&&rgrU2O>zyvgh39K^6(gMhW>M}Gi0LiXyP!tZH zXQ2UPuJUwo46*RvJ1LOwumOj&=ll8>jN2MbCT?3Fsnv2kTCH?*`%31bg6P>7m3OZ- z?KND)S`c!uBh-e$U1$2Q3YKRdlC8fje{ifk(MSAX`+tr&wPc6&t0lSOGRrO>i6*t*0d$TkzW3Lhi`M}fF&t;ucLK6TZxRL$< literal 0 HcmV?d00001 diff --git a/Sprites/LanderArt.png.import b/Sprites/LanderArt.png.import new file mode 100644 index 0000000..67138a6 --- /dev/null +++ b/Sprites/LanderArt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bd5oswedqnenh" +path="res://.godot/imported/LanderArt.png-f496178f1c14f00dc1c8e97ba4d43656.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/LanderArt.png" +dest_files=["res://.godot/imported/LanderArt.png-f496178f1c14f00dc1c8e97ba4d43656.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Sprites/start.pdn b/Sprites/start.pdn new file mode 100644 index 0000000000000000000000000000000000000000..e08bbfa34830eb31cf6f49dfd94ba1808a6381e0 GIT binary patch literal 11335 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 literal 0 HcmV?d00001 diff --git a/Sprites/start.png.import b/Sprites/start.png.import new file mode 100644 index 0000000..829590d --- /dev/null +++ b/Sprites/start.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://evhjxwdbsmlo" +path="res://.godot/imported/start.png-e66cd9e4fa09dd546b814b1a0c2c199c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/start.png" +dest_files=["res://.godot/imported/start.png-e66cd9e4fa09dd546b814b1a0c2c199c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/autoscroll.gd b/autoscroll.gd new file mode 100644 index 0000000..7093990 --- /dev/null +++ b/autoscroll.gd @@ -0,0 +1,18 @@ +extends Camera2D + +@export var camera_speed : float = 10 +var active : bool = false + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + if active: + position.x += delta * camera_speed + + +func _on_lander_moved() -> void: + active = true diff --git a/autoscroll.gd.uid b/autoscroll.gd.uid new file mode 100644 index 0000000..d98889f --- /dev/null +++ b/autoscroll.gd.uid @@ -0,0 +1 @@ +uid://bltj2frs6vqwj diff --git a/game.tscn b/game.tscn new file mode 100644 index 0000000..80600d2 --- /dev/null +++ b/game.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=8 format=3 uid="uid://hv07lm2tjwn4"] + +[ext_resource type="PackedScene" uid="uid://crrbht7mwhgyc" path="res://Prefabs/lander.tscn" id="1_80nbo"] +[ext_resource type="Script" uid="uid://bltj2frs6vqwj" path="res://autoscroll.gd" id="1_feb5d"] +[ext_resource type="Texture2D" uid="uid://evhjxwdbsmlo" path="res://Sprites/start.png" id="2_e2o6t"] + +[sub_resource type="Gradient" id="Gradient_mwb40"] +offsets = PackedFloat32Array(0.806763, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_80nbo"] +frequency = 0.1855 +domain_warp_enabled = true +domain_warp_amplitude = 43.465 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_mwb40"] +width = 6400 +height = 360 +color_ramp = SubResource("Gradient_mwb40") +noise = SubResource("FastNoiseLite_80nbo") + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_feb5d"] +size = Vector2(115, 20) + +[node name="Game" type="Node2D"] + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="ParallaxBackground" type="ParallaxBackground" parent="CanvasLayer"] + +[node name="ParallaxLayer" type="ParallaxLayer" parent="CanvasLayer/ParallaxBackground"] +motion_scale = Vector2(0.5, 0) + +[node name="TextureRect" type="TextureRect" parent="CanvasLayer/ParallaxBackground/ParallaxLayer"] +offset_right = 40.0 +offset_bottom = 40.0 +texture = SubResource("NoiseTexture2D_mwb40") + +[node name="Camera2D" type="Camera2D" parent="."] +anchor_mode = 0 +script = ExtResource("1_feb5d") + +[node name="Lander" parent="." instance=ExtResource("1_80nbo")] +position = Vector2(95, 324) + +[node name="Start" type="StaticBody2D" parent="."] +position = Vector2(320, 180) + +[node name="Sprite2D" type="Sprite2D" parent="Start"] +texture = ExtResource("2_e2o6t") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Start"] +position = Vector2(-262.5, 170) +shape = SubResource("RectangleShape2D_feb5d") + +[connection signal="moved" from="Lander" to="Camera2D" method="_on_lander_moved"] diff --git a/project.godot b/project.godot index 980d3d8..750f886 100644 --- a/project.godot +++ b/project.godot @@ -11,10 +11,16 @@ config_version=5 [application] config/name="Lunar" -run/main_scene="uid://d2waabvrlsfs8" +run/main_scene="uid://hv07lm2tjwn4" config/features=PackedStringArray("4.4", "GL Compatibility") config/icon="res://icon.svg" +[display] + +window/size/viewport_width=640 +window/size/viewport_height=360 +window/stretch/mode="canvas_items" + [input] thrust={ @@ -38,5 +44,6 @@ turn_right={ [rendering] +textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" diff --git a/ship.gd b/ship.gd index 66302db..15806a2 100644 --- a/ship.gd +++ b/ship.gd @@ -1,7 +1,11 @@ extends RigidBody2D +signal moved + @export var thrust_power : float = 1 @export var turn_power : float = 1 +@export var particles_l : CPUParticles2D +@export var particles_r : CPUParticles2D # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -10,9 +14,15 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: + pass + +func _physics_process(delta: float) -> void: var turning : float = Input.get_axis("turn_left","turn_right") * turn_power var thrust : float = Input.get_action_strength("thrust") * thrust_power - + particles_l.emitting = thrust != 0 + particles_r.emitting = thrust != 0 + if Input.is_action_just_pressed("thrust"): + moved.emit() + #pass apply_torque(turning) apply_force(Vector2(-thrust,-thrust) * transform.y ) - diff --git a/test.tscn b/test.tscn index a9ee996..eba0481 100644 --- a/test.tscn +++ b/test.tscn @@ -1,18 +1,15 @@ -[gd_scene load_steps=5 format=3 uid="uid://d2waabvrlsfs8"] +[gd_scene load_steps=4 format=3 uid="uid://d2waabvrlsfs8"] [ext_resource type="Texture2D" uid="uid://lkj8ecm5p4g6" path="res://icon.svg" id="1_8uh7m"] -[ext_resource type="Script" uid="uid://cd54ktlkabbla" path="res://ship.gd" id="2_6uqi0"] +[ext_resource type="PackedScene" uid="uid://crrbht7mwhgyc" path="res://Prefabs/lander.tscn" id="2_8uh7m"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ppyta"] size = Vector2(128, 26) -[sub_resource type="RectangleShape2D" id="RectangleShape2D_ykrsh"] -size = Vector2(38, 38) - [node name="Node2D" type="Node2D"] [node name="StaticBody2D" type="StaticBody2D" parent="."] -position = Vector2(597, 583) +position = Vector2(407, 23) [node name="Sprite2D" type="Sprite2D" parent="StaticBody2D"] modulate = Color(0, 0, 0, 1) @@ -23,7 +20,7 @@ texture = ExtResource("1_8uh7m") shape = SubResource("RectangleShape2D_ppyta") [node name="StaticBody2D2" type="StaticBody2D" parent="."] -position = Vector2(932, 437) +position = Vector2(409, 110) [node name="Sprite2D" type="Sprite2D" parent="StaticBody2D2"] modulate = Color(0, 0, 0, 1) @@ -45,7 +42,7 @@ texture = ExtResource("1_8uh7m") shape = SubResource("RectangleShape2D_ppyta") [node name="StaticBody2D4" type="StaticBody2D" parent="."] -position = Vector2(796, 107) +position = Vector2(555, 243) [node name="Sprite2D" type="Sprite2D" parent="StaticBody2D4"] modulate = Color(0, 0, 0, 1) @@ -55,16 +52,5 @@ texture = ExtResource("1_8uh7m") [node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"] shape = SubResource("RectangleShape2D_ppyta") -[node name="RigidBody2D" type="RigidBody2D" parent="."] -position = Vector2(597, 548) -gravity_scale = 0.2 -script = ExtResource("2_6uqi0") -thrust_power = 500.0 -turn_power = 1000.0 - -[node name="Sprite2D" type="Sprite2D" parent="RigidBody2D"] -scale = Vector2(0.3, 0.3) -texture = ExtResource("1_8uh7m") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"] -shape = SubResource("RectangleShape2D_ykrsh") +[node name="Lander" parent="." instance=ExtResource("2_8uh7m")] +position = Vector2(223, 258)