diff --git a/graphics/cloud layers.png b/graphics/cloud layers.png deleted file mode 100644 index 71fbcb4..0000000 Binary files a/graphics/cloud layers.png and /dev/null differ diff --git a/graphics/cloud layers.png.import b/graphics/cloud layers.png.import deleted file mode 100644 index 0373751..0000000 --- a/graphics/cloud layers.png.import +++ /dev/null @@ -1,40 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b3dqvd23nbmrm" -path="res://.godot/imported/cloud layers.png-4d2d52eab55e5e1ba1e0e021786c2357.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://graphics/cloud layers.png" -dest_files=["res://.godot/imported/cloud layers.png-4d2d52eab55e5e1ba1e0e021786c2357.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -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/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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/graphics/muzzle_flash.png b/graphics/muzzle_flash.png deleted file mode 100644 index f02f0bd..0000000 Binary files a/graphics/muzzle_flash.png and /dev/null differ diff --git a/graphics/muzzle_flash.png.import b/graphics/muzzle_flash.png.import deleted file mode 100644 index d8bf0de..0000000 --- a/graphics/muzzle_flash.png.import +++ /dev/null @@ -1,40 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://crmbupr3qg0j" -path="res://.godot/imported/muzzle_flash.png-a4acd317005dff07444b3286deac56f4.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://graphics/muzzle_flash.png" -dest_files=["res://.godot/imported/muzzle_flash.png-a4acd317005dff07444b3286deac56f4.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -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/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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/resources/shot_stock.tres b/resources/shot_stock.tres index a485b71..a3817e7 100644 --- a/resources/shot_stock.tres +++ b/resources/shot_stock.tres @@ -6,6 +6,6 @@ [resource] script = ExtResource("1_dpne1") shot_name = "Stock" -speed = -350 +speed = -300 cooldown = 0.0 metadata/_custom_type_script = "uid://ccdohs4gduee5" diff --git a/scenes/game.tscn b/scenes/game.tscn index 18dbab4..bb55de7 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -30,7 +30,6 @@ grow_horizontal = 2 grow_vertical = 2 [node name="Title" type="TextureRect" parent="TitleMenu/HBoxContainer" unique_id=1389062363] -modulate = Color(0.1764706, 0.5686275, 1, 1) layout_mode = 2 size_flags_horizontal = 10 size_flags_vertical = 4 @@ -42,8 +41,6 @@ layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = -1.0 -offset_right = -1.0 grow_horizontal = 2 grow_vertical = 2 color = Color(0.67049235, 0.66050816, 0.7086971, 1) diff --git a/scenes/player.tscn b/scenes/player.tscn index 177e4e7..80abd56 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -3,108 +3,18 @@ [ext_resource type="Script" uid="uid://otm88638j7f8" path="res://scripts/player.gd" id="1_g2els"] [ext_resource type="PackedScene" uid="uid://ddpclu2vdy2ve" path="res://scenes/stock_weapon.tscn" id="2_dqkch"] [ext_resource type="Texture2D" uid="uid://cq4we1m1yv22s" path="res://graphics/ship.png" id="2_qhqgy"] -[ext_resource type="Texture2D" uid="uid://crmbupr3qg0j" path="res://graphics/muzzle_flash.png" id="4_dqkch"] -[ext_resource type="Texture2D" uid="uid://b0iavxi8vaxtj" path="res://graphics/ship_thrusters.png" id="5_qlg0r"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_tuyoq"] -atlas = ExtResource("5_qlg0r") -region = Rect2(28, 0, 14, 6) - -[sub_resource type="AtlasTexture" id="AtlasTexture_fjrip"] -atlas = ExtResource("5_qlg0r") -region = Rect2(42, 0, 14, 6) - -[sub_resource type="AtlasTexture" id="AtlasTexture_smehm"] -atlas = ExtResource("5_qlg0r") -region = Rect2(1, 0, 14, 6) - -[sub_resource type="AtlasTexture" id="AtlasTexture_ur7pv"] -atlas = ExtResource("5_qlg0r") -region = Rect2(15, 0, 14, 6) - -[sub_resource type="SpriteFrames" id="SpriteFrames_y4r1p"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_tuyoq") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_fjrip") -}], -"loop": true, -"name": &"banked", -"speed": 15.0 -}, { -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_smehm") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_ur7pv") -}], -"loop": true, -"name": &"fwd", -"speed": 15.0 -}] - -[sub_resource type="AtlasTexture" id="AtlasTexture_qlg0r"] -atlas = ExtResource("4_dqkch") -region = Rect2(0, 0, 15, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_y4r1p"] -atlas = ExtResource("4_dqkch") -region = Rect2(15, 0, 15, 8) - -[sub_resource type="AtlasTexture" id="AtlasTexture_d2wvv"] -atlas = ExtResource("4_dqkch") -region = Rect2(30, 0, 15, 8) - -[sub_resource type="SpriteFrames" id="SpriteFrames_3v2ag"] -animations = [{ -"frames": [{ -"duration": 1.0, -"texture": SubResource("AtlasTexture_qlg0r") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_y4r1p") -}, { -"duration": 1.0, -"texture": SubResource("AtlasTexture_d2wvv") -}], -"loop": true, -"name": &"stock", -"speed": 15.0 -}] [sub_resource type="RectangleShape2D" id="RectangleShape2D_dqkch"] -size = Vector2(10, 11) [node name="Player" type="Area2D" unique_id=652131079] script = ExtResource("1_g2els") -speed = 165 weapon_current = ExtResource("2_dqkch") [node name="Ship" type="Sprite2D" parent="." unique_id=1155866924] unique_name_in_owner = true texture = ExtResource("2_qhqgy") -hframes = 3 -region_rect = Rect2(0, 0, 62, 24.370766) - -[node name="Thrusters" type="AnimatedSprite2D" parent="Ship" unique_id=2096876587] -position = Vector2(0, 15) -sprite_frames = SubResource("SpriteFrames_y4r1p") -animation = &"fwd" -autoplay = "fwd" - -[node name="MuzzleFlash" type="AnimatedSprite2D" parent="Ship" unique_id=1584132038] -unique_name_in_owner = true -position = Vector2(0, -16) -sprite_frames = SubResource("SpriteFrames_3v2ag") -animation = &"stock" -autoplay = "stock" [node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=485826453] -position = Vector2(0, -3.5) shape = SubResource("RectangleShape2D_dqkch") [node name="WeaponCooldown" type="Timer" parent="." unique_id=269678170] diff --git a/scenes/world.tscn b/scenes/world.tscn index b0110e3..5386ae3 100644 --- a/scenes/world.tscn +++ b/scenes/world.tscn @@ -1,82 +1,7 @@ [gd_scene format=3 uid="uid://bj4fytc3sy482"] [ext_resource type="PackedScene" uid="uid://14fhj8834pkq" path="res://scenes/ui.tscn" id="1_nnsk1"] -[ext_resource type="PackedScene" uid="uid://coix5dqblmu7r" path="res://scenes/player.tscn" id="2_rwgxs"] -[ext_resource type="Texture2D" uid="uid://b3dqvd23nbmrm" path="res://graphics/cloud layers.png" id="3_4wyf3"] [node name="World" type="Node2D" unique_id=1317852169] -[node name="Level" type="Node2D" parent="." unique_id=934289771] - -[node name="UI" parent="Level" unique_id=480295610 instance=ExtResource("1_nnsk1")] - -[node name="Player" parent="Level" unique_id=652131079 instance=ExtResource("2_rwgxs")] -z_index = 1 -position = Vector2(97, 173) - -[node name="Background" type="Node2D" parent="Level" unique_id=485120278] -z_index = -1 - -[node name="BaseBackground" type="ColorRect" parent="Level/Background" unique_id=1360709800] -offset_right = 217.0 -offset_bottom = 410.0 -color = Color(0.2899925, 0.5692833, 0.9110645, 1) - -[node name="Back" type="Parallax2D" parent="Level/Background" unique_id=529215091] -scroll_scale = Vector2(0.25, 0.25) -repeat_size = Vector2(0, 50) -autoscroll = Vector2(0, 150) -repeat_times = 15 -follow_viewport = false - -[node name="CloudLeft" type="Sprite2D" parent="Level/Background/Back" unique_id=1098035995] -position = Vector2(40, 32) -texture = ExtResource("3_4wyf3") -hframes = 4 -frame = 1 - -[node name="CloudRight" type="Sprite2D" parent="Level/Background/Back" unique_id=1729409543] -position = Vector2(177, 32) -texture = ExtResource("3_4wyf3") -flip_h = true -hframes = 4 -frame = 1 - -[node name="Mid" type="Parallax2D" parent="Level/Background" unique_id=906676376] -scroll_scale = Vector2(0.5, 0.5) -repeat_size = Vector2(0, 50) -autoscroll = Vector2(0, 205) -repeat_times = 15 -follow_viewport = false - -[node name="CloudLeft" type="Sprite2D" parent="Level/Background/Mid" unique_id=1179862071] -position = Vector2(40, 32) -texture = ExtResource("3_4wyf3") -hframes = 4 -frame = 2 - -[node name="CloudRight" type="Sprite2D" parent="Level/Background/Mid" unique_id=702118355] -position = Vector2(177, 32) -texture = ExtResource("3_4wyf3") -flip_h = true -hframes = 4 -frame = 2 - -[node name="Fore" type="Parallax2D" parent="Level/Background" unique_id=1005527243] -repeat_size = Vector2(0, 50) -autoscroll = Vector2(0, 425) -repeat_times = 15 -follow_viewport = false - -[node name="CloudLeft" type="Sprite2D" parent="Level/Background/Fore" unique_id=146182935] -position = Vector2(32, 32) -texture = ExtResource("3_4wyf3") -hframes = 4 -frame = 3 - -[node name="CloudRight" type="Sprite2D" parent="Level/Background/Fore" unique_id=1798342457] -position = Vector2(185, 32) -texture = ExtResource("3_4wyf3") -flip_h = true -hframes = 4 -frame = 3 +[node name="UI" parent="." unique_id=480295610 instance=ExtResource("1_nnsk1")] diff --git a/scripts/player.gd b/scripts/player.gd index 669b58e..4262e3b 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -3,8 +3,7 @@ extends Area2D @export var speed: int = 150 @export var shield_max: int = 10 -#var ship = %Ship - +var velocity: Vector2 = Vector2.ZERO var shield: int = 0: set = shield_set var can_shoot: bool = true var is_shooting: bool = false @@ -28,42 +27,55 @@ func _process(delta): ship_displacement = position.y - previous_position.y travel += bullet_speed * delta + (ship_displacement) travel = clamp(travel, 0, 1.9 * weapon_spacing) - - # Sprite feedback based one player input - if input.x > 0: - %Ship.frame = 2 - %Ship/Thrusters.flip_h = true - %Ship/Thrusters.animation = "banked" - elif input.x < 0: - %Ship.frame = 1 - %Ship/Thrusters.flip_h = false - %Ship/Thrusters.animation = "banked" - else: - %Ship.frame = 0 - %Ship/Thrusters.flip_h = false - %Ship/Thrusters.animation = "fwd" + #TODO: sprite frame change on x axis + #if input.x > 0: + #$Ship.frame = 2 + #$Ship/Boosters.animation = "right" + #elif input.x < 0: + #$Ship.frame = 0 + #$Ship/Boosters.animation = "left" + #else: + #$Ship.frame = 1 + #$Ship/Boosters.animation = "forward" previous_position = position position += input * speed * delta position = position.clamp(Vector2(12,12), screensize - Vector2(12,12)) + # Update velocity based on input + #var direction = Vector2.ZERO + #if Input.is_action_pressed("down"): + #direction.y += 1 + #if Input.is_action_pressed("up"): + #direction.y -= 1 +# + ## Normalize direction and apply speed + #if direction.length() > 0: + #velocity = direction.normalized() * speed + + # Update velocity + #velocity += velocity * delta + velocity = input * speed + if Input.is_action_pressed("shoot"): + print("Spacebar pressed!") is_shooting = true else: is_shooting = false if is_shooting == true: - print("Spacebar pressed!") - %MuzzleFlash.show() - %Ship/MuzzleFlash.animation = "stock" - if travel > weapon_spacing: shoot() travel -= weapon_spacing - - if is_shooting == false: - %MuzzleFlash.hide() + + #weapon_timer += delta + #print(weapon_timer) + #if weapon_timer >= weapon_rate: + #shoot() + #weapon_timer = 0.0 + + if is_shooting == false: return func shield_set(_value: int): return @@ -76,13 +88,16 @@ func _on_weapon_cooldown_timeout() -> void: func shoot(): - # Instantiate the bullet var bullet = weapon_current.instantiate() + bullet.position = position + Vector2(0,-20) + #previous_position = position get_tree().root.add_child(bullet) - bullet.position = position + Vector2(0,-23) weapon_rate = bullet.shot_data.rate weapon_spacing = bullet.shot_data.spacing bullet_speed = abs(bullet.shot_data.speed) + #bullet.global_transform = self.global_transform prints(bullet.shot_data.shot_name, "weapon fired") #Print which weapon is firing - - + #weapon_cooldown = $WeaponCooldown + #weapon_cooldown.wait_time = bullet.shot_data.cooldown + #weapon_cooldown.start() + #can_shoot = not can_shoot diff --git a/scripts/player_shot.gd b/scripts/player_shot.gd index 54418e6..98bf23d 100644 --- a/scripts/player_shot.gd +++ b/scripts/player_shot.gd @@ -3,8 +3,8 @@ extends Resource @export var shot_name: String @export var damage: int = 1 -@export var speed: int = 135 +@export var speed: int = 100 @export var rate: float = 0.1 @export var cooldown: float = 0.25 @export var sprite: Texture2D = preload("res://graphics/shot.png") -@export var spacing: float = 35 +@export var spacing: float = 50