From eaf97cb4d366b28d2526c621e3420700cf06b477 Mon Sep 17 00:00:00 2001 From: tonydero Date: Thu, 3 Oct 2024 06:45:33 -0600 Subject: [PATCH] new start with sprites and instantiation pt 2 --- assets/icon.svg | 1 + assets/icon.svg.import | 37 ++++++++++++++++++++++++++ scenes/testInstanceScene.tscn | 48 ++++++++++++++++++++++++++++++++++ scripts/test_instance_scene.gd | 32 +++++++++++++++++++++++ 4 files changed, 118 insertions(+) create mode 100644 assets/icon.svg create mode 100644 assets/icon.svg.import create mode 100644 scenes/testInstanceScene.tscn create mode 100644 scripts/test_instance_scene.gd diff --git a/assets/icon.svg b/assets/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/assets/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icon.svg.import b/assets/icon.svg.import new file mode 100644 index 0000000..4d8ac93 --- /dev/null +++ b/assets/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b10c1776j6j60" +path="res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icon.svg" +dest_files=["res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.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 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/scenes/testInstanceScene.tscn b/scenes/testInstanceScene.tscn new file mode 100644 index 0000000..dadd9f7 --- /dev/null +++ b/scenes/testInstanceScene.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=2 format=3 uid="uid://cbjst1wmpg8yc"] + +[ext_resource type="Script" path="res://scripts/test_instance_scene.gd" id="1_qbiqn"] + +[node name="TestInstanceScene" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_qbiqn") + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 10 +theme_override_constants/margin_top = 10 +theme_override_constants/margin_right = 10 +theme_override_constants/margin_bottom = 10 + +[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 + +[node name="ButtonInstantiate" type="Button" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +text = "Instantiate Enemy" + +[node name="TouchScreenButton" type="TouchScreenButton" parent="MarginContainer/HBoxContainer/ButtonInstantiate"] + +[node name="ButtonExit" type="Button" parent="MarginContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 4 +size_flags_vertical = 8 +text = "Exit" + +[node name="TouchScreenButton" type="TouchScreenButton" parent="MarginContainer/HBoxContainer/ButtonExit"] + +[connection signal="pressed" from="MarginContainer/HBoxContainer/ButtonInstantiate" to="." method="_on_button_instantiate_pressed"] +[connection signal="pressed" from="MarginContainer/HBoxContainer/ButtonExit" to="." method="_on_button_exit_pressed"] diff --git a/scripts/test_instance_scene.gd b/scripts/test_instance_scene.gd new file mode 100644 index 0000000..bf128be --- /dev/null +++ b/scripts/test_instance_scene.gd @@ -0,0 +1,32 @@ +extends Control + + +var enemies = Array() + + +func _on_button_instantiate_pressed() -> void: + var middleX := get_viewport_rect().size.x/2 + var upperY := get_viewport_rect().size.y/4 + var middleY := get_viewport_rect().size.y/2 + for enemy in enemies: + remove_child(enemy) + + enemies = [] + var numEnemies = randi_range(1, 5) + for i in range(numEnemies): + enemies.append(load("res://scenes/npc.tscn").instantiate()) + add_child(enemies[i]) + var posX := int(round((i + 1)*get_viewport_rect().size.x/(numEnemies + 1))) + enemies[i].position = Vector2(posX, middleY) + enemies[0].get_node("%NPCNameLabel").text = "Test" + var bossEnemy = load("res://scenes/npc.tscn").instantiate() + bossEnemy.npcDifficulty = NPC.npcDifficulties.BOSS + add_child(bossEnemy) + bossEnemy.position = Vector2(middleX, upperY) + #print(bossEnemy.npcDifficulty) + bossEnemy.scale = Vector2.ONE*1.6 + + +func _on_button_exit_pressed() -> void: + get_tree().quit() +