added donut colisions

This commit is contained in:
Tabby 2025-08-07 11:34:04 +10:00
parent 0de9e32a02
commit 69c260b1e8
33 changed files with 527 additions and 2 deletions

View file

@ -0,0 +1,26 @@
[gd_scene load_steps=4 format=3 uid="uid://drd1j4dv673ld"]
[ext_resource type="Script" path="res://example/example_area.gd" id="1"]
[ext_resource type="Script" path="res://addons/donut_collision_polygon2D/donut_collision_polygon2D.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://xfkvttl8cxns" path="res://addons/godot-donut-collision-polygon-2d-7780d026ae3d4a37fe68f43cc1f97ba664dd775d/example/icon.png" id="3"]
[node name="Example" type="Node2D"]
[node name="Area2D" type="Area2D" parent="."]
script = ExtResource("1")
[node name="DonutCollisionPolygon2D" type="CollisionPolygon2D" parent="Area2D"]
polygon = PackedVector2Array(1.01033e-14, -165, 32.1899, -161.83, 63.1428, -152.44, 91.6691, -137.192, 116.673, -116.673, 137.192, -91.6691, 152.44, -63.1428, 161.83, -32.1899, 165, 0, 161.83, 32.1899, 152.44, 63.1428, 137.192, 91.6691, 116.673, 116.673, 91.6691, 137.192, 63.1428, 152.44, 32.1899, 161.83, 1.01033e-14, 165, -32.1899, 161.83, -63.1428, 152.44, -91.6691, 137.192, -116.673, 116.673, -137.192, 91.6691, -152.44, 63.1428, -161.83, 32.1899, -165, 2.02067e-14, -161.83, -32.1899, -152.44, -63.1428, -137.192, -91.6691, -116.673, -116.673, -91.6691, -137.192, -63.1428, -152.44, -32.1899, -161.83, -3.031e-14, -165, -2.47991e-14, -135, -26.3372, -132.406, -51.6623, -124.724, -75.002, -112.248, -95.4594, -95.4594, -112.248, -75.002, -124.724, -51.6623, -132.406, -26.3372, -135, 1.65327e-14, -132.406, 26.3372, -124.724, 51.6623, -112.248, 75.002, -95.4594, 95.4594, -75.002, 112.248, -51.6623, 124.724, -26.3372, 132.406, 8.26637e-15, 135, 26.3372, 132.406, 51.6623, 124.724, 75.002, 112.248, 95.4594, 95.4594, 112.248, 75.002, 124.724, 51.6623, 132.406, 26.3372, 135, 0, 132.406, -26.3372, 124.724, -51.6623, 112.248, -75.002, 95.4594, -95.4594, 75.002, -112.248, 51.6623, -124.724, 26.3372, -132.406, 8.26637e-15, -135, 0.0001, -165)
script = ExtResource("2")
radius = 150.0
width = 30.0
[node name="Camera2D" type="Camera2D" parent="."]
[node name="icon" type="Sprite2D" parent="."]
scale = Vector2(3, 3)
texture = ExtResource("3")
[connection signal="input_event" from="Area2D" to="Area2D" method="_on_input_event"]
[connection signal="mouse_entered" from="Area2D" to="Area2D" method="_on_mouse_enter"]
[connection signal="mouse_exited" from="Area2D" to="Area2D" method="_on_mouse_exit"]

View file

@ -0,0 +1,16 @@
extends Area2D
func _on_mouse_enter() -> void:
print("Mouse Enter")
func _on_mouse_exit() -> void:
print("Mouse Exit")
func _on_input_event(_viewport: Node, event: InputEvent, _shape_idx: int) -> void:
if event is InputEventMouseButton \
and event.button_index == MOUSE_BUTTON_LEFT \
and event.is_pressed():
print("On Mouse Click")

View file

@ -0,0 +1,26 @@
[gd_scene load_steps=4 format=3 uid="uid://vogtjcpnjohc"]
[ext_resource type="Script" path="res://example/example_area.gd" id="1_fnxl8"]
[ext_resource type="Script" path="res://addons/donut_collision_polygon2D/donut_collision_rectangle2D.gd" id="2_xud1h"]
[ext_resource type="Texture2D" uid="uid://xfkvttl8cxns" path="res://addons/godot-donut-collision-polygon-2d-7780d026ae3d4a37fe68f43cc1f97ba664dd775d/example/icon.png" id="3_qnowy"]
[node name="ExampleSquare" type="Node2D"]
[node name="Area2D" type="Area2D" parent="."]
script = ExtResource("1_fnxl8")
[node name="DonutCollisionRectangle2D" type="CollisionPolygon2D" parent="Area2D"]
polygon = PackedVector2Array(-160, -160, 160, -160, 160, 160, -160, 160, -160, -160, -140, 140, 140, 140, 140, -140, -140, -140, -140, 140)
script = ExtResource("2_xud1h")
size = Vector2(300, 300)
width = 40.0
[node name="Camera2D" type="Camera2D" parent="."]
[node name="icon" type="Sprite2D" parent="."]
scale = Vector2(3, 3)
texture = ExtResource("3_qnowy")
[connection signal="input_event" from="Area2D" to="Area2D" method="_on_input_event"]
[connection signal="mouse_entered" from="Area2D" to="Area2D" method="_on_mouse_enter"]
[connection signal="mouse_exited" from="Area2D" to="Area2D" method="_on_mouse_exit"]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xfkvttl8cxns"
path="res://.godot/imported/icon.png-7eea17e57ed3675faa8b72817d0880ed.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/godot-donut-collision-polygon-2d-7780d026ae3d4a37fe68f43cc1f97ba664dd775d/example/icon.png"
dest_files=["res://.godot/imported/icon.png-7eea17e57ed3675faa8b72817d0880ed.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