From 2362a4656b443f89ff60acb3741bccb4c7e0052b Mon Sep 17 00:00:00 2001 From: Henrique Campos Date: Thu, 6 Aug 2020 10:12:10 -0300 Subject: [PATCH] Add selection box experiment --- 08.selection-box/devlog.md | 228 ++++++++++++++++++ 08.selection-box/source/Actors/Player.gd | 82 +++++++ 08.selection-box/source/Actors/Player.tscn | 44 ++++ .../source/Actors/SelectableArea.gd | 30 +++ .../source/Actors/SelectableArea.tscn | 8 + .../source/Actors/side-scroll-player.svg | 65 +++++ .../Actors/side-scroll-player.svg.import | 34 +++ 08.selection-box/source/Demo.tscn | 14 ++ .../source/Interface/Montserrat-ExtraBold.ttf | Bin 0 -> 244868 bytes .../source/Interface/SelectionBox.gd | 53 ++++ .../source/Interface/SelectionBox.tscn | 12 + .../source/Interface/label_font.tres | 9 + 08.selection-box/source/Levels/Level.tscn | 62 +++++ 08.selection-box/source/Objects/Platform.tscn | 16 ++ 08.selection-box/source/default_env.tres | 7 + 08.selection-box/source/icon.ico | Bin 0 -> 5694 bytes 08.selection-box/source/icon.png | Bin 0 -> 1466 bytes 08.selection-box/source/icon.png.import | 34 +++ 08.selection-box/source/icon.svg | 126 ++++++++++ 08.selection-box/source/icon.svg.import | 34 +++ 08.selection-box/source/project.godot | 65 +++++ 21 files changed, 923 insertions(+) create mode 100644 08.selection-box/devlog.md create mode 100644 08.selection-box/source/Actors/Player.gd create mode 100644 08.selection-box/source/Actors/Player.tscn create mode 100644 08.selection-box/source/Actors/SelectableArea.gd create mode 100644 08.selection-box/source/Actors/SelectableArea.tscn create mode 100644 08.selection-box/source/Actors/side-scroll-player.svg create mode 100644 08.selection-box/source/Actors/side-scroll-player.svg.import create mode 100644 08.selection-box/source/Demo.tscn create mode 100644 08.selection-box/source/Interface/Montserrat-ExtraBold.ttf create mode 100644 08.selection-box/source/Interface/SelectionBox.gd create mode 100644 08.selection-box/source/Interface/SelectionBox.tscn create mode 100644 08.selection-box/source/Interface/label_font.tres create mode 100644 08.selection-box/source/Levels/Level.tscn create mode 100644 08.selection-box/source/Objects/Platform.tscn create mode 100644 08.selection-box/source/default_env.tres create mode 100644 08.selection-box/source/icon.ico create mode 100644 08.selection-box/source/icon.png create mode 100644 08.selection-box/source/icon.png.import create mode 100644 08.selection-box/source/icon.svg create mode 100644 08.selection-box/source/icon.svg.import create mode 100644 08.selection-box/source/project.godot diff --git a/08.selection-box/devlog.md b/08.selection-box/devlog.md new file mode 100644 index 0000000..4b42893 --- /dev/null +++ b/08.selection-box/devlog.md @@ -0,0 +1,228 @@ +In the [Selectable Object experiment](https://pigdev.itch.io/experiments/devlog/166154/selectable-objects) we've saw how to use Area2D to create an SelectableArea to trigger selection on a single object at a time. + +But...in strategy games, especially in the RTS genre, it's more likely that we would want players to select multiple units at once. A common solution for this kind of system is a _SelectionBox_. + +![](https://img.itch.zone/aW1nLzQwMDI2NzIuZ2lm/original/9%2Bx2I2.gif) + +_Download the SelectionBox experiment!_ + + + +This is the most common approach in many user interfaces, you've probably used such thing with your OS graphic interface. + +The SelectionBox is a rectangle that grows towards the mouse selecting everything inside it once we release the left mouse button. + +![](https://img.itch.zone/aW1nLzQwMDI2NzMuZ2lm/original/QKXJpf.gif) + +In this experiment's approach I'm going to take advantage of the previous experiment's SelectableArea, but once you get the idea you can implement it with any CanvasItem. + +## Rect resizing + +For this system I'm going to use a [`ColorRect`](https://docs.godotengine.org/en/stable/classes/class_colorrect.html) just to have a decent looking SelectionBox, but you can use any Control node, preferably one that serves pure graphical purposes like a TextureRect. + +Then I'll rename it _SelectionBox_ and change the _Color_ property to a transparent blue. + +![](https://img.itch.zone/aW1nLzQwMDI2ODUuZ2lm/original/R6RpzM.gif) + +Almost everything from here is done code wise, so let's attach a script to it! + +The first that we need to do is to detect when the player presses the left mouse button, here I've created an InputAction on the _Project > Project Settings > Input Map_ and called it "selection", it refers to left mouse button input events. + +When the player presses the `selection` InputAction we want to reset the Rect's size. We'll need to know where the player clicked, so let's keep the `click_position` stored in a member variable. + +``` +extends ColorRect + +var click_position = Vector2.ZERO + +func _unhandled_input(event): + if event.is_action("select"): + if event.is_pressed(): + reset_rect() + click_position = get_global_mouse_position() + + +func reset_rect(): + rect_size = Vector2.ZERO +``` + +With the box in place we want to be allowed to scale it while holding the left mouse button and dragging the mouse. For that, we are going to expand the SelectionBox by setting its end point to the mouse position with the `set_end` method. + +Since we want to do this smootly whenever the mouse changes its position we are going to `expand_to_mouse`in the `_process` callback. + +To prevent this from happening if we are not holding the left mouse button, we can toggle the `_process` callback based on if the `select` action is pressed and start without processing by calling `set_process(false)` at the `_ready` callback. + +``` +func _ready(): + set_process(false) + + +func _unhandled_input(event): + if event.is_action("select"): + if event.is_pressed(): + reset_rect() + set_process(event.is_pressed()) + + +func _process(delta): + expand_to_mouse() + + +func expand_to_mouse(): + var mouse_position = get_global_mouse_position() + set_begin(click_position) + set_end(mouse_position) +``` + +![](https://img.itch.zone/aW1nLzQwMDI2ODcuZ2lm/original/XY3SfT.gif) + +## Fixing begin and end points + +Now we have a bit of a problem, our SelectionBox only resizes to the right and bottom, i.e. in the third quadrant. + +![](https://img.itch.zone/aW1nLzQwMDI2ODguZ2lm/original/yP%2FbEw.gif) + +To fix that we need to fix the begin and end points. The idea is that: + +- The begin vertical and horizontal axes should be the minimum value between the current mouse position and the click position +- The end vertical and horizontal axes should be the maximum value between the current mouse position and the click position + +Well...for that we can use the `min` and `max` builtin functions to build two new points based on that logic. Our `expand_to_mouse` method should become something like this: + +``` +func expand_to_mouse(): + var mouse_position = get_global_mouse_position() + + var min_point = Vector2.ZERO + min_point.x = min(mouse_position.x, click_position.x) + min_point.y = min(mouse_position.y, click_position.y) + set_begin(min_point) + + var max_point = Vector2.ZERO + max_point.x = max(mouse_position.x, click_position.x) + max_point.y = max(mouse_position.y, click_position.y) + set_end(max_point) +``` + +And that should fix that problem! + +![](https://img.itch.zone/aW1nLzQwMDI2ODkuZ2lm/original/vvB8xH.gif) + +## Selecting selectable stuff + +Now, here is where things start to get a bit complicated because is when game systems start to interact with each other and the approaches can become quite _ad hoc-y_. + +When we release the left mouse button we want to deselect everything that was selected before and select everything that is selectable. + +Why did I say that things get a bit complicated? Simply because I don't know how your selection system works, so you have to guess it yourself. But if you are using my SelectableArea approach you can assume a few things: + +- We can toggle a `selected` bool on them +- We can iterate through a `selected` node group to know what is currently selected + +But how do we know what is _selectable_ or not? Well...we can use more groups. By adding SelectableAreas to a `selectable` group we can scope down the objects we need to process to know what can be selected when we release the left mouse button. + +![](https://img.itch.zone/aW1nLzQwMDI2NTkucG5n/original/RxoPT9.png) + +Knowing the selectable objects available we just need to know if their `global_position` is inside the SelectionBox by using the `has_point` method on the SelectionBox global rectangle. + +``` +func select(): + for selection_area in get_tree().get_nodes_in_group("selectable"): + if get_global_rect().has_point(selection_area.global_position): + selection_area.exclusive = false + selection_area.selected = true +``` + +Remember that if a `SelectableArea.exclusive = true` it will deselect other SelectableAreas when its `selected` becomes `true`. So to prevent that we set `exclusive` to `false` before selecting it. + +Now, to deselect is about the same process, but we have a scope even narrower. Since SelectableAreas add themselves to a `selected` group we just need to iterate on it and set their `selected` variable to `false` + +``` +func deselect(): + for selection_area in get_tree().get_nodes_in_group("selected"): + selection_area.exclusive = true + selection_area.selected = false +``` + +Finally, we just need to call the `deselect()` method before calling the `select()` when we release the left mouse button and reset it again after we've selected what we want. + +``` +func _unhandled_input(event): + if event.is_action("select"): + if event.is_pressed(): + reset_rect() + click_position = get_global_mouse_position() + else: + deselect() + select() + reset_rect() + set_process(event.is_pressed()) +``` + +Since we are resetting the rect when we release the `select` InputAction, we don't need to reset it again when we click, so we can remove it from the `if event.is_pressed()` branch. The final code looks like this: + +``` +extends ColorRect + +var click_position = Vector2.ZERO + +func _ready(): + rect_size = Vector2.ZERO + set_process(false) + + +func _process(delta): + expand_to_mouse() + + +func _unhandled_input(event): + if event.is_action("select"): + if event.is_pressed(): + click_position = get_global_mouse_position() + else: + deselect() + select() + reset_rect() + set_process(event.is_pressed()) + + +func expand_to_mouse(): + var mouse_position = get_global_mouse_position() + + var min_point = Vector2.ZERO + min_point.x = min(mouse_position.x, click_position.x) + min_point.y = min(mouse_position.y, click_position.y) + set_begin(min_point) + + var max_point = Vector2.ZERO + max_point.x = max(mouse_position.x, click_position.x) + max_point.y = max(mouse_position.y, click_position.y) + set_end(max_point) + + +func select(): + for selection_area in get_tree().get_nodes_in_group("selectable"): + if get_global_rect().has_point(selection_area.global_position): + selection_area.exclusive = false + selection_area.selected = true + + +func deselect(): + for selection_area in get_tree().get_nodes_in_group("selected"): + selection_area.exclusive = true + selection_area.selected = false + + +func reset_rect(): + rect_size = Vector2.ZERO + +``` + + +--- + +If you have any questions or if something wasn't clear, please leave a comment below. Don't forget to [join the community](https://pigdev.itch.io/experiments/community) to discuss this experiment and more topics as well. + +You can also make [requests](https://itch.io/board/791663/requests) for more experiments you'd like to see. + +That's it for this experiment, thank you a lot for reading. _**Keep developing and until the next time!**_ diff --git a/08.selection-box/source/Actors/Player.gd b/08.selection-box/source/Actors/Player.gd new file mode 100644 index 0000000..975f64e --- /dev/null +++ b/08.selection-box/source/Actors/Player.gd @@ -0,0 +1,82 @@ +extends KinematicBody2D + +const FLOOR_NORMAL = Vector2.UP +const SNAP_DIRECTION = Vector2.DOWN +const SNAP_LENGTH = 32 +const SLOPE_LIMIT = deg2rad(45) + +export(float) var speed = 500.0 +export(float) var gravity = 2000.0 +export(float) var jump_strength = 800.0 + +var direction = Vector2.ZERO +var velocity = Vector2.ZERO +var snap_vector = SNAP_DIRECTION * SNAP_LENGTH + +onready var sprite = $Sprite +onready var label = $Label + + +func _ready() -> void: + set_process_unhandled_input(false) + + +func _physics_process(delta): + move(delta) + + +func _unhandled_input(event): + handle_input(event) + + +func handle_input(event): + if event.is_action("left") or event.is_action("right"): + update_direction() + if event.is_action_pressed("jump"): + if Input.is_action_pressed("down"): + fall_through() + else: + jump() + elif event.is_action_released("jump"): + cancel_jump() + cancel_fall_through() + + +func move(delta): + velocity.y += gravity * delta + velocity.y = move_and_slide_with_snap(velocity, snap_vector, FLOOR_NORMAL).y + if is_on_floor(): + snap_vector = SNAP_DIRECTION * SNAP_LENGTH + + +func jump(): + if is_on_floor(): + snap_vector = Vector2.ZERO + velocity.y = -jump_strength + + +func cancel_jump(): + if not is_on_floor() and velocity.y < 0.0: + velocity.y = 0.0 + + +func fall_through(): + if is_on_floor(): + set_collision_mask_bit(1, false) + + +func cancel_fall_through(): + if get_collision_mask_bit(1) == false: + set_collision_mask_bit(1, true) + + +func update_direction(): + direction.x = Input.get_action_strength("right") - Input.get_action_strength("left") + velocity.x = direction.x * speed + if not velocity.x == 0: + sprite.flip_h = velocity.x < 0 + + +func _on_SelectableArea2D_selection_toggled(selected): + set_process_unhandled_input(selected) + label.visible = selected diff --git a/08.selection-box/source/Actors/Player.tscn b/08.selection-box/source/Actors/Player.tscn new file mode 100644 index 0000000..95c28f6 --- /dev/null +++ b/08.selection-box/source/Actors/Player.tscn @@ -0,0 +1,44 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://Actors/side-scroll-player.svg" type="Texture" id=1] +[ext_resource path="res://Actors/Player.gd" type="Script" id=2] +[ext_resource path="res://Actors/SelectableArea.tscn" type="PackedScene" id=3] +[ext_resource path="res://Interface/label_font.tres" type="DynamicFont" id=4] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 32, 32 ) + +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 32, 32 ) + +[node name="Player" type="KinematicBody2D"] +collision_mask = 3 +script = ExtResource( 2 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +position = Vector2( 0, -32 ) +shape = SubResource( 1 ) + +[node name="SelectableArea2D" parent="." instance=ExtResource( 3 )] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="SelectableArea2D"] +position = Vector2( 0, -32 ) +shape = SubResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0, -32 ) +texture = ExtResource( 1 ) + +[node name="Label" type="Label" parent="."] +visible = false +margin_left = -48.0 +margin_top = -96.0 +margin_right = 48.0 +margin_bottom = -70.0 +custom_fonts/font = ExtResource( 4 ) +text = "selected" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} +[connection signal="selection_toggled" from="SelectableArea2D" to="." method="_on_SelectableArea2D_selection_toggled"] diff --git a/08.selection-box/source/Actors/SelectableArea.gd b/08.selection-box/source/Actors/SelectableArea.gd new file mode 100644 index 0000000..25837f8 --- /dev/null +++ b/08.selection-box/source/Actors/SelectableArea.gd @@ -0,0 +1,30 @@ +extends Area2D + +signal selection_toggled(selected) + +export var exclusive = true + +var selected = false setget set_selected + + +func _input_event(viewport, event, shape_idx): + if event.is_action_released("select"): + set_selected(not selected) + + +func set_selected(select): + if select: + _make_exclusive() + add_to_group("selected") + else: + if is_in_group("selected"): + remove_from_group("selected") + selected = select + emit_signal("selection_toggled", selected) + + +func _make_exclusive(): + if not exclusive: + return + for selection_area in get_tree().get_nodes_in_group("selected"): + selection_area.selected = false diff --git a/08.selection-box/source/Actors/SelectableArea.tscn b/08.selection-box/source/Actors/SelectableArea.tscn new file mode 100644 index 0000000..4774278 --- /dev/null +++ b/08.selection-box/source/Actors/SelectableArea.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Actors/SelectableArea.gd" type="Script" id=1] + +[node name="SelectableArea2D" type="Area2D" groups=[ +"selectable", +]] +script = ExtResource( 1 ) diff --git a/08.selection-box/source/Actors/side-scroll-player.svg b/08.selection-box/source/Actors/side-scroll-player.svg new file mode 100644 index 0000000..a695daf --- /dev/null +++ b/08.selection-box/source/Actors/side-scroll-player.svg @@ -0,0 +1,65 @@ + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/08.selection-box/source/Actors/side-scroll-player.svg.import b/08.selection-box/source/Actors/side-scroll-player.svg.import new file mode 100644 index 0000000..3b1202d --- /dev/null +++ b/08.selection-box/source/Actors/side-scroll-player.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/side-scroll-player.svg-f1999ece214d406b010f4a21a872b51b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Actors/side-scroll-player.svg" +dest_files=[ "res://.import/side-scroll-player.svg-f1999ece214d406b010f4a21a872b51b.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/08.selection-box/source/Demo.tscn b/08.selection-box/source/Demo.tscn new file mode 100644 index 0000000..b80f0a7 --- /dev/null +++ b/08.selection-box/source/Demo.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Levels/Level.tscn" type="PackedScene" id=1] +[ext_resource path="res://Interface/SelectionBox.tscn" type="PackedScene" id=2] + +[node name="Demo" type="Node"] + +[node name="LevelLayer" type="CanvasLayer" parent="."] + +[node name="Level" parent="LevelLayer" instance=ExtResource( 1 )] + +[node name="InterfaceLayer" type="CanvasLayer" parent="."] + +[node name="SelectionBox" parent="InterfaceLayer" instance=ExtResource( 2 )] diff --git a/08.selection-box/source/Interface/Montserrat-ExtraBold.ttf b/08.selection-box/source/Interface/Montserrat-ExtraBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..80ea8061b046af5af78623788022a3bdd9f79994 GIT binary patch literal 244868 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

=`#)KG;=SQP=17j4kq9TUs=w=g{Du)f2YW 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 z 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 Ogs;njlgr_m!9M|bKS&(_ literal 0 HcmV?d00001 diff --git a/08.selection-box/source/Interface/SelectionBox.gd b/08.selection-box/source/Interface/SelectionBox.gd new file mode 100644 index 0000000..a366453 --- /dev/null +++ b/08.selection-box/source/Interface/SelectionBox.gd @@ -0,0 +1,53 @@ +extends ColorRect + +var click_position = Vector2.ZERO + +func _ready(): + rect_size = Vector2.ZERO + set_process(false) + + +func _process(delta): + expand_to_mouse() + + +func _unhandled_input(event): + if event.is_action("select"): + if event.is_pressed(): + click_position = get_global_mouse_position() + else: + deselect() + select() + reset_rect() + set_process(event.is_pressed()) + + +func expand_to_mouse(): + var mouse_position = get_global_mouse_position() + + var min_point = Vector2.ZERO + min_point.x = min(mouse_position.x, click_position.x) + min_point.y = min(mouse_position.y, click_position.y) + set_begin(min_point) + + var max_point = Vector2.ZERO + max_point.x = max(mouse_position.x, click_position.x) + max_point.y = max(mouse_position.y, click_position.y) + set_end(max_point) + + +func select(): + for selection_area in get_tree().get_nodes_in_group("selectable"): + if get_global_rect().has_point(selection_area.global_position): + selection_area.exclusive = false + selection_area.selected = true + + +func deselect(): + for selection_area in get_tree().get_nodes_in_group("selected"): + selection_area.exclusive = true + selection_area.selected = false + + +func reset_rect(): + rect_size = Vector2.ZERO diff --git a/08.selection-box/source/Interface/SelectionBox.tscn b/08.selection-box/source/Interface/SelectionBox.tscn new file mode 100644 index 0000000..6080381 --- /dev/null +++ b/08.selection-box/source/Interface/SelectionBox.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://Interface/SelectionBox.gd" type="Script" id=1] + +[node name="SelectionBox" type="ColorRect"] +margin_right = 100.0 +margin_bottom = 100.0 +color = Color( 0.294118, 0.356863, 0.670588, 0.498039 ) +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/08.selection-box/source/Interface/label_font.tres b/08.selection-box/source/Interface/label_font.tres new file mode 100644 index 0000000..c3ac70b --- /dev/null +++ b/08.selection-box/source/Interface/label_font.tres @@ -0,0 +1,9 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://Interface/Montserrat-ExtraBold.ttf" type="DynamicFontData" id=1] + +[resource] +size = 20 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/08.selection-box/source/Levels/Level.tscn b/08.selection-box/source/Levels/Level.tscn new file mode 100644 index 0000000..5124759 --- /dev/null +++ b/08.selection-box/source/Levels/Level.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://Actors/Player.tscn" type="PackedScene" id=1] +[ext_resource path="res://Objects/Platform.tscn" type="PackedScene" id=2] + +[sub_resource type="LineShape2D" id=1] +normal = Vector2( 1, 0 ) + +[sub_resource type="LineShape2D" id=2] +normal = Vector2( -1, 0 ) + +[node name="Level" type="Node2D"] +__meta__ = { +"_edit_horizontal_guides_": [ 704.0 ] +} + +[node name="Floor" type="StaticBody2D" parent="."] +collision_mask = 0 + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Floor"] +polygon = PoolVector2Array( 0, 448, 0, 720, 1280, 728, 1280, 448 ) + +[node name="Polygon2D" type="Polygon2D" parent="Floor"] +color = Color( 0.278431, 0.231373, 0.470588, 1 ) +polygon = PoolVector2Array( 0, 448, 0, 720, 1280, 728, 1280, 448 ) + +[node name="WallLeft" type="StaticBody2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="WallLeft"] +shape = SubResource( 1 ) + +[node name="WallRight" type="StaticBody2D" parent="."] +position = Vector2( 1280, 0 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="WallRight"] +shape = SubResource( 2 ) + +[node name="Platforms" type="Node2D" parent="."] + +[node name="Platform" parent="Platforms" instance=ExtResource( 2 )] +position = Vector2( 384, 224 ) + +[node name="Platform5" parent="Platforms" instance=ExtResource( 2 )] +position = Vector2( 288, 304 ) + +[node name="Platform2" parent="Platforms" instance=ExtResource( 2 )] +position = Vector2( 704, 96 ) + +[node name="Platform3" parent="Platforms" instance=ExtResource( 2 )] +position = Vector2( 960, 288 ) + +[node name="Platform4" parent="Platforms" instance=ExtResource( 2 )] +position = Vector2( 640, 352 ) + +[node name="Player" parent="." instance=ExtResource( 1 )] +position = Vector2( 160, 448 ) + +[node name="Player2" parent="." instance=ExtResource( 1 )] +position = Vector2( 928, 448 ) + +[node name="Player3" parent="." instance=ExtResource( 1 )] +position = Vector2( 480, 448 ) diff --git a/08.selection-box/source/Objects/Platform.tscn b/08.selection-box/source/Objects/Platform.tscn new file mode 100644 index 0000000..50e11ea --- /dev/null +++ b/08.selection-box/source/Objects/Platform.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=2 format=2] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 64, 32 ) + +[node name="Platform" type="StaticBody2D"] +collision_layer = 2 +collision_mask = 0 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource( 1 ) +one_way_collision = true + +[node name="Polygon2D" type="Polygon2D" parent="."] +color = Color( 0.278431, 0.231373, 0.470588, 1 ) +polygon = PoolVector2Array( -64, -32, -64, 32, 64, 32, 64, -32 ) diff --git a/08.selection-box/source/default_env.tres b/08.selection-box/source/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/08.selection-box/source/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/08.selection-box/source/icon.ico b/08.selection-box/source/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8867eed84ea4bef3f23a3d23b69eeae029e7151e GIT binary patch literal 5694 zcmeH~Yfw~W7{~v1QMbJP z2q>xLB{WnNH5CNiNX0Ov`ch37wGX9PlT%u1&)LhsaddLF4^1=su)p)}^FQzZeP^EY zyn6T2g0B5B^l5-T7)p?YJVMg%6gro&&<~Sv#iZeGU?W_?3FFAIm^#W0eDru2 z$9N)WoEyU2JTTLJ96~*m2%q4NKumK97@))oe+^a!s8KrI3(JGNP&r+LDq>Zz7s`WGsGcFh6r#e~ znIdW=f<@F4bwpK|H`axSs1Nl+Loma3q9KGviBN_eVH}OK7`8-C#MVeHc7-!EMKJ7{ zL-*!t(HzCFH;SV?ZclV>mF6@>t4ab!Z|E#n8M3I_ykPWB)=OTH@$_ zq6RGsI9iD#3poxY=+PF>aWGMj+?YhPC2+J8&5J}FPST@=IGV@^jsqzgVb>mBVn_0%Uu z&HiWp&Gw^@m|N#LzQ6;A&1UnlT@EeKfA5oMCcD}EzC-?}%q@E?_5=4iDk*KGc_V#oYLC4c*&_nvUfj$!7b2kUNQzW<@S zi$|&k-gf7H!rg`9wr;@bch+xQN{KxRX1;8#hf7qUT`QbBLJ*|>d3e$0ZT6^s!`e{P zKf&b@QzzSEdg|)o(gNO<@&0x#Ah}W{`Cr(%c43GuX6H2~SQh9fxR>k2UJ+gJydVsz z@b4vw{uP52=(}ZEZ_U^^N?M?wkP_Kj7R41~1%ai>wKRhQuW$F0iA&a4{Urf1SeX6ohHX zaxFPf0k;iuEoqbW`OlE|Dz6+O2%crS-jj99Jr#I-_nW;nu{PG~AG9iZV$Tg;G=+}e zfQ+zEeg>QYUN7KIj!Gl)6Fd~0tmOXMRr#vg2-$4sZ*>)}46gNmZzkS1+ z-hIaw^*c67|7Kg?AJ2{P_OXTMV98A}V5FB_^KzkF`u)J8uH$Xt@#=k&;C%l$-@lf2 c`NxZ;f2=Jdzut3q(MRrbX3h#YE8wia-)Kz9f&c&j literal 0 HcmV?d00001 diff --git a/08.selection-box/source/icon.png b/08.selection-box/source/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd06650cc741a327a4b468ad854e4bada8546fe GIT binary patch literal 1466 zcmV;r1x5OaP)pF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H11xHCl zK~#90?V4X~Q&k+tKj-%Dc5T;=x-r=p5H_|5vJi$m7)>OgA&dCnvqm4}K@$=~P@^## z(4f;8Uopyq55~k72#FB!52yoF1_FX(2pBTw*htszU)%NHIX-M`yZh62-R7ZLKTpd! zx8M6c-<^AV&hJz-uHCL!#2C5_=%x^WZUee01fbi1ZVCbDHlQ2x?jJ(jyICjzB^N~7 z1Tc!+xcsXZ(TCo;kI@8OckfCm3 z9hXt5WD1xhwOiR=qND$^2KAxeCtq5}jEHna$q4g=Jw?*8mW0KRsbE0#9QThIGL7_AJbf;xI5OtMP1XV(_;^wyq_Q z@5EL22&(0K2oGiFPY4{f^^`x`OwWOx$f3|!pKU%m>oz08L#V)=tOpN3JdWz@z^Yz{ z;VvC(wkqo|ED!2-Co0>)!^pK=|6n*vuqx}u+Rd`%xHmSzg|nzE2R|aHP&ck2dIOX` z_MEND7J%umf`R_*g(nh^Lo|%(UpCg{@K?dmAjljF&r-qA01kiUSd&$~4%HWcNH`~p z>UJm2RU2$=wg7}tH02qd6;dJ`*0`Q&ftcob1nm*#^r;4FsPdWKq$*qUu4 zO?2NNQNDtrnmP#Ff#E1hWq2%16MUsm;w60U>(OaCf{gSNZ9k3cfkz=2K!pc0E{%m@ zK#3Rp~)4@oZ#VR%Aa`;QQ}2){|m8LW<8%D*3=WZdWz`P7JGl=+U;uc$xzX< zTAV8zFkIgBg9nf)lA$h!ueTy&({EBtUj@ar4`F!k8+i`Xp%ikcm*Jb|N%oHvMJAsN zIlN`~wmgq>Wdp)2%4jj!*TYcj5u$BBPwAUBfP0O?(bxh~2tc<1-4p`QZ9q4L0CXGB z&7u#$1W+I+c@>^ds%uuVcmE!wR9yW1 z3dfKA#1G%L5DMmahA{z=4?mY*wYr)^M-STCWJ+@R(pA1Y-oiIWPv#s(Uc3Y3G{gS_&_iyS-g1x-7)=A@k;0c6;cpE-4oGpEkwq&@q}hXz!d8p8S3%k0^;FK6xi zm;q@HS2t~LV9VBrbJos_0Mg9>fVbY=&C-gpoV4>IfYfLJpZn}0X73#REjY$~?88;%3e7aCyCu6-Ol z@a3$v^5PMgj!>|lP^cf2;^mj#rtQz%il%w76kbU3@)4L%3IXUgpqoMfx((>&KidP^ U+tqxJK>z>%07*qoM6N<$g0*n7C;$Ke literal 0 HcmV?d00001 diff --git a/08.selection-box/source/icon.png.import b/08.selection-box/source/icon.png.import new file mode 100644 index 0000000..96cbf46 --- /dev/null +++ b/08.selection-box/source/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.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/08.selection-box/source/icon.svg b/08.selection-box/source/icon.svg new file mode 100644 index 0000000..bb565ab --- /dev/null +++ b/08.selection-box/source/icon.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/08.selection-box/source/icon.svg.import b/08.selection-box/source/icon.svg.import new file mode 100644 index 0000000..b806afb --- /dev/null +++ b/08.selection-box/source/icon.svg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.svg-218a8f2b3041327d8a5756f3a245f83b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=[ "res://.import/icon.svg-218a8f2b3041327d8a5756f3a245f83b.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/08.selection-box/source/project.godot b/08.selection-box/source/project.godot new file mode 100644 index 0000000..f597590 --- /dev/null +++ b/08.selection-box/source/project.godot @@ -0,0 +1,65 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +_global_script_classes=[ ] +_global_script_class_icons={ + +} + +[application] + +config/name="Selection Box" +config/description="A demo project showing how you can create a Selection Box to select multiple objects at once." +run/main_scene="res://Demo.tscn" +config/icon="res://icon.png" +config/windows_native_icon="res://icon.ico" + +[display] + +window/size/width=1280 +window/size/height=720 +window/stretch/mode="2d" +window/stretch/aspect="keep_width" + +[input] + +select={ +"deadzone": 0.5, +"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null) + ] +} +left={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null) + ] +} +right={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null) + ] +} +jump={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) + ] +} +down={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null) + ] +} + +[rendering] + +environment/default_clear_color=Color( 0.196078, 0.160784, 0.278431, 1 ) +environment/default_environment="res://default_env.tres"