From 1ae9f1b54903e2dfa59abc651b1d07138ce5d5f9 Mon Sep 17 00:00:00 2001 From: Henrique Campos Date: Mon, 7 Oct 2019 21:04:40 -0300 Subject: [PATCH] Added Ball Factory and Removed container.png using a Polygond2D instead --- misc/instancing/ball_factory.gd | 16 ++++++++++++ misc/instancing/bowling_ball.png.import | 3 +++ misc/instancing/container.png | Bin 6852 -> 0 bytes misc/instancing/container.png.import | 31 ------------------------ misc/instancing/container.tscn | 15 ++++++------ misc/instancing/icon.png.import | 3 +++ 6 files changed, 30 insertions(+), 38 deletions(-) create mode 100644 misc/instancing/ball_factory.gd delete mode 100644 misc/instancing/container.png delete mode 100644 misc/instancing/container.png.import diff --git a/misc/instancing/ball_factory.gd b/misc/instancing/ball_factory.gd new file mode 100644 index 00000000..a4a5d3e1 --- /dev/null +++ b/misc/instancing/ball_factory.gd @@ -0,0 +1,16 @@ +extends Position2D + +export (PackedScene) var ball_scene = preload("res://ball.tscn") + +func _unhandled_input(event): + if event.is_echo(): + return + if event is InputEventMouseButton and event.is_pressed(): + if event.button_index == BUTTON_LEFT: + spawn(get_global_mouse_position()) + + +func spawn(spawn_global_position = global_position): + var instance = ball_scene.instance() + instance.global_position = spawn_global_position + add_child(instance) diff --git a/misc/instancing/bowling_ball.png.import b/misc/instancing/bowling_ball.png.import index 4b0aade3..6d4b8cd5 100644 --- a/misc/instancing/bowling_ball.png.import +++ b/misc/instancing/bowling_ball.png.import @@ -3,6 +3,9 @@ importer="texture" type="StreamTexture" path="res://.import/bowling_ball.png-0fe48f78a8537b41cee7fd03e5ee14fe.stex" +metadata={ +"vram_texture": false +} [deps] diff --git a/misc/instancing/container.png b/misc/instancing/container.png deleted file mode 100644 index e9ac0d8b184a8a20a260dd0e8e316e9dc6864cda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6852 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 F{{XLd?f?J) diff --git a/misc/instancing/container.png.import b/misc/instancing/container.png.import deleted file mode 100644 index e0028d22..00000000 --- a/misc/instancing/container.png.import +++ /dev/null @@ -1,31 +0,0 @@ -[remap] - -importer="texture" -type="StreamTexture" -path="res://.import/container.png-08b8c30d2209234da421d1db5c67b811.stex" - -[deps] - -source_file="res://container.png" -dest_files=[ "res://.import/container.png-08b8c30d2209234da421d1db5c67b811.stex" ] - -[params] - -compress/mode=0 -compress/lossy_quality=0.7 -compress/hdr_mode=0 -compress/bptc_ldr=0 -compress/normal_map=0 -flags/repeat=0 -flags/filter=true -flags/mipmaps=false -flags/anisotropic=false -flags/srgb=2 -process/fix_alpha_border=true -process/premult_alpha=false -process/HDR_as_SRGB=false -process/invert_color=false -stream=false -size_limit=0 -detect_3d=true -svg/scale=1.0 diff --git a/misc/instancing/container.tscn b/misc/instancing/container.tscn index 232a3efc..d0953675 100644 --- a/misc/instancing/container.tscn +++ b/misc/instancing/container.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=13 format=2] -[ext_resource path="res://container.png" type="Texture" id=1] +[ext_resource path="res://ball_factory.gd" type="Script" id=1] [ext_resource path="res://ball.tscn" type="PackedScene" id=2] [sub_resource type="PhysicsMaterial" id=1] @@ -35,16 +35,18 @@ bounce = 0.4 [node name="container" type="Node"] +[node name="ball_factory" type="Position2D" parent="."] +script = ExtResource( 1 ) + [node name="static" type="StaticBody2D" parent="."] -[node name="sprite" type="Sprite" parent="static"] -position = Vector2( 3, -4 ) -texture = ExtResource( 1 ) -centered = false - [node name="collision" type="CollisionPolygon2D" parent="static"] polygon = PoolVector2Array( 8.68994, 22.1976, 50.4445, 556.656, 292.621, 501.54, 335.36, 550.855, 510.039, 563.135, 542.137, 526.368, 567.463, 515.822, 612.463, 506.822, 667.291, 495.079, 747.553, 553.575, 793.806, 6.70509, 802.465, 601.097, 4.43558, 596.186 ) +[node name="polygon2d" type="Polygon2D" parent="static"] +color = Color( 1, 0.266667, 0.419608, 1 ) +polygon = PoolVector2Array( 8.68994, 22.1976, 50.4445, 556.656, 292.621, 501.54, 335.36, 550.855, 510.039, 563.135, 542.137, 526.368, 567.463, 515.822, 612.463, 506.822, 667.291, 495.079, 747.553, 553.575, 793.806, 6.70509, 802.465, 601.097, 4.43558, 596.186 ) + [node name="ball 1" parent="." instance=ExtResource( 2 )] position = Vector2( 223.823, 161.773 ) physics_material_override = SubResource( 1 ) @@ -84,4 +86,3 @@ physics_material_override = SubResource( 9 ) [node name="ball 10" parent="." instance=ExtResource( 2 )] position = Vector2( 143.756, 295.139 ) physics_material_override = SubResource( 10 ) - diff --git a/misc/instancing/icon.png.import b/misc/instancing/icon.png.import index 45ee6af7..96cbf462 100644 --- a/misc/instancing/icon.png.import +++ b/misc/instancing/icon.png.import @@ -3,6 +3,9 @@ importer="texture" type="StreamTexture" path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} [deps]