Cursor work

This commit is contained in:
Lucas Peter 2024-07-25 16:36:40 +02:00
parent 7064af0707
commit 2d87d3beab
No known key found for this signature in database
10 changed files with 234 additions and 19 deletions

View file

@ -1,36 +1,109 @@
[gd_scene load_steps=4 format=3 uid="uid://524sv8spw6go"] [gd_scene load_steps=7 format=3 uid="uid://524sv8spw6go"]
[ext_resource type="Texture2D" uid="uid://docoki1q4vvfh" path="res://textures/atlas/SPRT_Hand.png" id="1_va1hk"] [ext_resource type="Texture2D" uid="uid://q1rdbr8uh78r" path="res://textures/cursor_default.tres" id="1_50ts1"]
[ext_resource type="Texture2D" uid="uid://buxws7r3kn0d7" path="res://textures/cursor_grab_01.tres" id="3_fj3w4"]
[ext_resource type="Texture2D" uid="uid://pbahcjllgjjq" path="res://textures/cursor_grab_02.tres" id="4_153q8"]
[ext_resource type="Texture2D" uid="uid://6fajq480n7se" path="res://textures/cursor_grab_03.tres" id="5_tsejy"]
[sub_resource type="GDScript" id="GDScript_h2l04"] [sub_resource type="GDScript" id="GDScript_h2l04"]
script/source = "extends Node2D script/source = "extends Node2D
const Speed:float = 900 const Speed:float = 900
var spaceState
var query
var CastResult
var old_result
var selectedSticker
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
pass # Replace with function body. if not OS.is_debug_build():
Input.set_mouse_mode(Input.MOUSE_MODE_CONFINED_HIDDEN)
query = PhysicsPointQueryParameters2D.new()
spaceState = get_world_2d()
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta): func _process(delta):
var mouse = get_viewport().get_mouse_position()
#region Mouse Position
var old_pos var old_pos
if (mouse != old_pos): #if (get_global_mouse_position() != old_pos):
position = mouse position = get_global_mouse_position()
old_pos = position old_pos = position
#endregion
pointcast()
cursor_look()
func pointcast():
query.collide_with_areas = true
query.position = get_global_mouse_position()
CastResult = spaceState.direct_space_state.intersect_point(query)
if ( (CastResult.size() > 0) and (old_result != CastResult) ):
old_result = CastResult
for _result in CastResult:
if (_result.collider.input_pickable == true):
selectedSticker = _result.collider.get_parent()
print(\"selected sticker %\",selectedSticker)
if (CastResult.size() == 0):
CastResult.clear()
old_result = null
selectedSticker = null
func cursor_look():
if (selectedSticker):
$AnimatedSprite2D.play(\"grab_intro\")
else:
$AnimatedSprite2D.play(\"default\")
" "
[sub_resource type="AtlasTexture" id="AtlasTexture_n2i6f"] [sub_resource type="SpriteFrames" id="SpriteFrames_u3xkr"]
atlas = ExtResource("1_va1hk") resource_local_to_scene = true
region = Rect2(0, 0, 256, 256) animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("1_50ts1")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_fj3w4")
}, {
"duration": 1.0,
"texture": ExtResource("4_153q8")
}, {
"duration": 1.0,
"texture": ExtResource("5_tsejy")
}],
"loop": false,
"name": &"grab",
"speed": 7.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_fj3w4")
}],
"loop": true,
"name": &"grab_intro",
"speed": 5.0
}]
[node name="Cursor" type="Node2D"] [node name="Cursor" type="Node2D"]
top_level = true top_level = true
script = SubResource("GDScript_h2l04") script = SubResource("GDScript_h2l04")
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
scale = Vector2(0.5, 0.5) scale = Vector2(1.5, 1.5)
texture = SubResource("AtlasTexture_n2i6f") sprite_frames = SubResource("SpriteFrames_u3xkr")
autoplay = "default"
centered = false centered = false
offset = Vector2(-23.615, -235.42) offset = Vector2(-80, -190)

View file

@ -1,3 +1,30 @@
[gd_scene format=3 uid="uid://kbso0l2uk2n7"] [gd_scene load_steps=2 format=3 uid="uid://kbso0l2uk2n7"]
[node name="Sticker" type="Node"] [sub_resource type="GDScript" id="GDScript_4kxk0"]
script/source = "extends Area2D
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass
func _on_mouse_entered():
pass # Replace with function body.
func _on_mouse_exited():
pass # Replace with function body.
"
[node name="StickerDetection" type="Area2D"]
monitoring = false
script = SubResource("GDScript_4kxk0")
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]

View file

@ -33,4 +33,4 @@ func transition_to_scene(new_scene: PackedScene, spawn_location = Vector2(0,0),
func _on_ready(): func _on_ready():
transition_to_scene(InitialMap,Vector2(0,0),1) transition_to_scene(InitialMap,Vector2(0,0),1)
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)

63
export_presets.cfg Normal file
View file

@ -0,0 +1,63 @@
[preset.0]
name="StickerCole"
platform="Windows Desktop"
runnable=true
dedicated_server=false
custom_features=""
export_filter="scenes"
export_files=PackedStringArray("res://maps/mainMenu.tscn", "res://maps/map1.tscn", "res://maps/mapManager.tscn")
include_filter=""
exclude_filter=""
export_path="builds/stickerClone.exe"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/bptc=true
texture_format/s3tc=true
texture_format/etc=false
texture_format/etc2=false
binary_format/architecture="x86_64"
codesign/enable=false
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/icon=""
application/console_wrapper_icon=""
application/icon_interpolation=4
application/file_version=""
application/product_version=""
application/company_name=""
application/product_name=""
application/file_description=""
application/copyright=""
application/trademarks=""
application/export_angle=0
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
$settings = New-ScheduledTaskSettingsSet
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
Start-ScheduledTask -TaskName godot_remote_debug
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"

View file

@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://d382cexpr4075"] [gd_scene load_steps=5 format=3 uid="uid://d382cexpr4075"]
[ext_resource type="Script" path="res://core/sceneInstance.gd" id="1_p0vo1"] [ext_resource type="Script" path="res://core/sceneInstance.gd" id="1_p0vo1"]
[ext_resource type="PackedScene" uid="uid://0m1hk2nu4bps" path="res://core/player.tscn" id="2_fyjh8"] [ext_resource type="PackedScene" uid="uid://0m1hk2nu4bps" path="res://core/player.tscn" id="2_fyjh8"]
[ext_resource type="PackedScene" uid="uid://wlqsvbqpcbh" path="res://maps/map1.tscn" id="2_qgqfi"] [ext_resource type="PackedScene" uid="uid://wlqsvbqpcbh" path="res://maps/map1.tscn" id="2_qgqfi"]
[ext_resource type="PackedScene" uid="uid://524sv8spw6go" path="res://core/Cursor.tscn" id="4_uwedi"]
[node name="MapManager" type="Node2D"] [node name="MapManager" type="Node2D"]
script = ExtResource("1_p0vo1") script = ExtResource("1_p0vo1")
@ -11,4 +12,6 @@ InitialMap = ExtResource("2_qgqfi")
[node name="CurrentScene" type="Node2D" parent="."] [node name="CurrentScene" type="Node2D" parent="."]
[node name="Cursor" parent="." instance=ExtResource("4_uwedi")]
[connection signal="ready" from="." to="." method="_on_ready"] [connection signal="ready" from="." to="." method="_on_ready"]

View file

@ -0,0 +1,7 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://q1rdbr8uh78r"]
[ext_resource type="Texture2D" uid="uid://docoki1q4vvfh" path="res://textures/atlas/SPRT_Hand.png" id="1_n6y0a"]
[resource]
atlas = ExtResource("1_n6y0a")
region = Rect2(0, 0, 256, 256)

21
textures/cursor_grab.tres Normal file
View file

@ -0,0 +1,21 @@
[gd_resource type="AnimatedTexture" load_steps=5 format=3 uid="uid://sgwck5ca17s1"]
[ext_resource type="Texture2D" uid="uid://q1rdbr8uh78r" path="res://textures/cursor_default.tres" id="1_k7xih"]
[ext_resource type="Texture2D" uid="uid://docoki1q4vvfh" path="res://textures/atlas/SPRT_Hand.png" id="1_ltia2"]
[sub_resource type="AtlasTexture" id="AtlasTexture_gpt2k"]
atlas = ExtResource("1_ltia2")
region = Rect2(0, 256, 256, 256)
[sub_resource type="AtlasTexture" id="AtlasTexture_hq7jx"]
atlas = ExtResource("1_ltia2")
region = Rect2(256, 256, 256, 256)
[resource]
frames = 3
frame_0/texture = ExtResource("1_k7xih")
frame_0/duration = 0.5
frame_1/texture = SubResource("AtlasTexture_gpt2k")
frame_1/duration = 0.5
frame_2/texture = SubResource("AtlasTexture_hq7jx")
frame_2/duration = 0.5

View file

@ -0,0 +1,7 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://buxws7r3kn0d7"]
[ext_resource type="Texture2D" uid="uid://docoki1q4vvfh" path="res://textures/atlas/SPRT_Hand.png" id="1_xhy8h"]
[resource]
atlas = ExtResource("1_xhy8h")
region = Rect2(256, 0, 256, 256)

View file

@ -0,0 +1,7 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://pbahcjllgjjq"]
[ext_resource type="Texture2D" uid="uid://docoki1q4vvfh" path="res://textures/atlas/SPRT_Hand.png" id="1_it2wc"]
[resource]
atlas = ExtResource("1_it2wc")
region = Rect2(0, 256, 256, 256)

View file

@ -0,0 +1,7 @@
[gd_resource type="AtlasTexture" load_steps=2 format=3 uid="uid://6fajq480n7se"]
[ext_resource type="Texture2D" uid="uid://docoki1q4vvfh" path="res://textures/atlas/SPRT_Hand.png" id="1_r8woc"]
[resource]
atlas = ExtResource("1_r8woc")
region = Rect2(256, 256, 256, 256)