Compare commits
8 commits
f60105d56a
...
454c15f146
Author | SHA1 | Date | |
---|---|---|---|
|
454c15f146 | ||
|
fa1870bb3c | ||
|
49c3ea4076 | ||
|
91d6c7855e | ||
|
5b6edfa836 | ||
|
359da7b3a3 | ||
|
cf08e821bc | ||
|
130dc27efa |
18 changed files with 496 additions and 142 deletions
|
@ -12,10 +12,14 @@ script/source = "extends Node2D
|
|||
const Speed:float = 900
|
||||
|
||||
var spaceState
|
||||
var query
|
||||
var query : PhysicsPointQueryParameters2D
|
||||
var CastResult
|
||||
var old_result
|
||||
var selectedSticker
|
||||
|
||||
var hoveredObjects : Array
|
||||
var hoveredObject
|
||||
var hoveredSticker
|
||||
var grabbedSticker
|
||||
|
||||
enum CURSOR_STATE {DEFAULT, CLICK, GRAB, GRABBED}
|
||||
var currentCursorState:CURSOR_STATE
|
||||
var oldCursorState:CURSOR_STATE
|
||||
|
@ -38,35 +42,77 @@ func _process(delta):
|
|||
cursor_look()
|
||||
|
||||
|
||||
func isSticker(selectedObject:Node):
|
||||
var _isSticker:bool = false
|
||||
var _tags = getTags(selectedObject)
|
||||
if (_tags.size() > 0):
|
||||
if (_tags.find(\"sticker\") != -1):
|
||||
_isSticker = true
|
||||
|
||||
return _isSticker
|
||||
|
||||
func getTags(selectedObject:Node):
|
||||
var _tags: Array
|
||||
if (selectedObject.has_meta(\"tags\")):
|
||||
_tags = selectedObject.get_meta(\"tags\")
|
||||
return _tags
|
||||
else:
|
||||
printerr(\"no tags inside %\",selectedObject)
|
||||
return _tags
|
||||
|
||||
|
||||
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 is not reliable. Objects are added randomly in the array
|
||||
# so we need to filter/sort the trace result
|
||||
if ( CastResult.size() > 0):
|
||||
hoveredObjects.clear()
|
||||
for _object in CastResult:
|
||||
if(_object.collider.input_pickable == true):
|
||||
hoveredObjects.append(_object.collider.get_parent())
|
||||
if (hoveredObjects.size() > 0):
|
||||
if (hoveredObjects.size() >= 2):
|
||||
sortByPosY(hoveredObjects,false)
|
||||
hoveredObject = hoveredObjects[0]
|
||||
print(\"Current hovered object :\", hoveredObject)
|
||||
if (CastResult.size() == 0 and !grabbedSticker ):
|
||||
CastResult.clear()
|
||||
old_result = null
|
||||
selectedSticker = null
|
||||
hoveredSticker = null
|
||||
hoveredObjects.clear()
|
||||
hoveredObject = null
|
||||
|
||||
|
||||
func sortByPosY(objects: Array, ascending_order: bool = true):
|
||||
var _tempArray :Array
|
||||
_tempArray = objects
|
||||
# Inline comparison function
|
||||
_tempArray.sort_custom(comparePosY)
|
||||
# Reverse if descending order is required
|
||||
if not ascending_order:
|
||||
_tempArray.reverse()
|
||||
objects = _tempArray
|
||||
|
||||
func comparePosY(a, b):
|
||||
#print(\"Compare \",a,\" at \",a.position.y, \" and \",b,\" at \",b.position.y )
|
||||
return a.position.y < b.position.y
|
||||
|
||||
func cursor_look():
|
||||
|
||||
if (Input.is_action_pressed(\"select\")):
|
||||
if (selectedSticker):
|
||||
if (hoveredSticker):
|
||||
currentCursorState = CURSOR_STATE.GRABBED
|
||||
if ($GrabTimer.is_stopped()):
|
||||
$GrabTimer.start()
|
||||
else:
|
||||
currentCursorState = CURSOR_STATE.CLICK
|
||||
else:
|
||||
if (selectedSticker):
|
||||
if (hoveredSticker):
|
||||
currentCursorState = CURSOR_STATE.GRAB
|
||||
else:
|
||||
currentCursorState = CURSOR_STATE.DEFAULT
|
||||
$GrabTimer.stop()
|
||||
|
||||
if (currentCursorState != oldCursorState):
|
||||
oldCursorState = currentCursorState
|
||||
|
@ -79,6 +125,11 @@ func cursor_look():
|
|||
$AnimatedSprite2D.play(\"grab_intro\")
|
||||
CURSOR_STATE.GRABBED:
|
||||
$AnimatedSprite2D.play(\"grab\")
|
||||
|
||||
|
||||
func _on_grab_timer_timeout():
|
||||
if (hoveredSticker):
|
||||
grabbedSticker = hoveredSticker
|
||||
"
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_u3xkr"]
|
||||
|
@ -136,3 +187,8 @@ frame = 2
|
|||
frame_progress = 1.0
|
||||
centered = false
|
||||
offset = Vector2(-80, -190)
|
||||
|
||||
[node name="GrabTimer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
|
||||
[connection signal="timeout" from="GrabTimer" to="." method="_on_grab_timer_timeout"]
|
||||
|
|
|
@ -5,7 +5,7 @@ extends CharacterBody2D
|
|||
@export var CurrentHat: CanvasTexture
|
||||
|
||||
const SPEED = 1000.0
|
||||
|
||||
const MOUSESPEED = 10.0
|
||||
func teleport(location:Transform2D , direction:float = 1):
|
||||
transform = location
|
||||
scale = Vector2(direction,1)
|
||||
|
@ -25,6 +25,8 @@ func changeSkin(NewSkin:CanvasTexture,_NewHat:CanvasTexture = null):
|
|||
func get_input():
|
||||
var directionX = Input.get_axis("move_left", "move_right")
|
||||
var directionY = Input.get_axis("move_up", "move_down")
|
||||
var mouseDirectionX = Input.get_axis("mouse_left", "mouse_right")
|
||||
var mouseDirectionY = Input.get_axis("mouse_up", "mouse_down")
|
||||
#region Movement
|
||||
## Get the input direction and handle the movement/deceleration.
|
||||
if directionX :
|
||||
|
@ -36,6 +38,8 @@ func get_input():
|
|||
else:
|
||||
velocity.y = move_toward(velocity.y, 0, SPEED)
|
||||
#endregion
|
||||
var wantedMousePosition = get_viewport().get_mouse_position()+(Vector2(mouseDirectionX,mouseDirectionY)*MOUSESPEED)
|
||||
get_viewport().warp_mouse(wantedMousePosition)
|
||||
#region Animation
|
||||
if (directionX < 0):
|
||||
$Skeleton2D/root/Hips.set_scale(Vector2(1, 1))
|
||||
|
|
|
@ -26,7 +26,7 @@ func transition_to_scene(new_scene: PackedScene, spawn_location = Vector2(0,0),
|
|||
if (InitialPlayer):
|
||||
player = InitialPlayer.instantiate()
|
||||
player.set_name("player")
|
||||
add_child(player)
|
||||
current_scene.get_child(0).add_child(player)
|
||||
else:
|
||||
printerr("No Initial player found")
|
||||
#endregion
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[preset.0]
|
||||
|
||||
name="StickerCole"
|
||||
name="windows"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
|
@ -20,7 +20,7 @@ encrypt_directory=false
|
|||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=false
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
|
@ -38,8 +38,8 @@ application/console_wrapper_icon=""
|
|||
application/icon_interpolation=4
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
application/company_name=""
|
||||
application/product_name=""
|
||||
application/company_name="Astucious Ferret Games"
|
||||
application/product_name="StickerClone"
|
||||
application/file_description=""
|
||||
application/copyright=""
|
||||
application/trademarks=""
|
||||
|
@ -61,3 +61,44 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi
|
|||
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}'"
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="linux"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
dedicated_server=false
|
||||
custom_features=""
|
||||
export_filter="scenes"
|
||||
export_files=PackedStringArray("res://maps/mapManager.tscn", "res://maps/map1.tscn", "res://maps/mainMenu.tscn")
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="builds/StickerClone.x86_64"
|
||||
encryption_include_filters=""
|
||||
encryption_exclude_filters=""
|
||||
encrypt_pck=false
|
||||
encrypt_directory=false
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=true
|
||||
texture_format/bptc=true
|
||||
texture_format/s3tc=true
|
||||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
binary_format/architecture="x86_64"
|
||||
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="#!/usr/bin/env bash
|
||||
export DISPLAY=:0
|
||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
||||
rm -rf \"{temp_dir}\""
|
||||
|
|
BIN
extracted/Sprite/Tree_Field_01_SPRT.png
(Stored with Git LFS)
BIN
extracted/Sprite/Tree_Field_01_SPRT.png
(Stored with Git LFS)
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ca1mrresx618t"
|
||||
path="res://.godot/imported/Tree_Field_01_SPRT.png-02a529b82fadd4687fe05464ba8bf06c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://extracted/Sprite/Tree_Field_01_SPRT.png"
|
||||
dest_files=["res://.godot/imported/Tree_Field_01_SPRT.png-02a529b82fadd4687fe05464ba8bf06c.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
|
BIN
extracted/Sprite/Tree_Field_02_SPRT.png
(Stored with Git LFS)
BIN
extracted/Sprite/Tree_Field_02_SPRT.png
(Stored with Git LFS)
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bliv5pwjnmsja"
|
||||
path="res://.godot/imported/Tree_Field_02_SPRT.png-e8a50b6e1fe5334b80ff094a374b3521.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://extracted/Sprite/Tree_Field_02_SPRT.png"
|
||||
dest_files=["res://.godot/imported/Tree_Field_02_SPRT.png-e8a50b6e1fe5334b80ff094a374b3521.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
|
BIN
extracted/Texture2D/TreeLarge1_Sticker #62431.png
(Stored with Git LFS)
BIN
extracted/Texture2D/TreeLarge1_Sticker #62431.png
(Stored with Git LFS)
Binary file not shown.
BIN
extracted/Texture2D/Tree_Field_01_SPRT #62459.png
(Stored with Git LFS)
BIN
extracted/Texture2D/Tree_Field_01_SPRT #62459.png
(Stored with Git LFS)
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c46ncjf0ii7uq"
|
||||
path="res://.godot/imported/Tree_Field_01_SPRT #62459.png-ebc8fc76929b8668f4ab97911404147d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://extracted/Texture2D/Tree_Field_01_SPRT #62459.png"
|
||||
dest_files=["res://.godot/imported/Tree_Field_01_SPRT #62459.png-ebc8fc76929b8668f4ab97911404147d.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
|
242
maps/map1.tscn
242
maps/map1.tscn
|
@ -1,10 +1,19 @@
|
|||
[gd_scene load_steps=9 format=3 uid="uid://wlqsvbqpcbh"]
|
||||
[gd_scene load_steps=33 format=3 uid="uid://wlqsvbqpcbh"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cacwy4tka88k1" path="res://maps/map1.tres" id="1_pt5vq"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxharyv0ajr37" path="res://textures/atlas/DioramaEntrance_All_01_SPRT.png" id="2_n7y5f"]
|
||||
[ext_resource type="Texture2D" uid="uid://c5bd2ta3esnib" path="res://extracted/4010-A Tiny Sticker Tale review pic 1.jpg" id="3_yh2wy"]
|
||||
[ext_resource type="PackedScene" uid="uid://bddcriwo55x8k" path="res://prefab/prefab_woddenbridge.tscn" id="4_okpsn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dx8jpmxtm2cdx" path="res://textures/pattern/Pattern_Forest.png" id="5_i137q"]
|
||||
[ext_resource type="Texture2D" uid="uid://cun14l52f477p" path="res://textures/atlas/Bushes_All_01_SPRT.png" id="5_xmosd"]
|
||||
[ext_resource type="PackedScene" uid="uid://domcpxdf6lqpb" path="res://prefab/free_sticker.tscn" id="6_3fkbm"]
|
||||
[ext_resource type="Texture2D" uid="uid://dggavne4ueche" path="res://extracted/Texture2D/Tree_Field_01_SPRT.png" id="7_gygvy"]
|
||||
[ext_resource type="Texture2D" uid="uid://chuv25pm2vqen" path="res://textures/atlas/Rocks_All_01_SPRT.png" id="8_itp05"]
|
||||
[ext_resource type="PackedScene" uid="uid://6ww1g2enfdx3" path="res://prefab/solid_sticker.tscn" id="9_nxjul"]
|
||||
[ext_resource type="Texture2D" uid="uid://b366mcexlko72" path="res://textures/atlas/LogsAndWood_All_01_SPRT.png" id="10_jr64r"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwcex0o7obtg5" path="res://textures/atlas/Props_All_01_SPRT.png" id="11_0efxk"]
|
||||
[ext_resource type="Texture2D" uid="uid://ciyh3rnoo4uk" path="res://extracted/Texture2D/SimpleParticles_All_01_SPRT.png" id="12_ro7fd"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgjlblm2rpy4" path="res://textures/2d_lights_and_shadows_neutral_point_light.webp" id="13_sm1ou"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_js06g"]
|
||||
|
||||
|
@ -16,7 +25,71 @@ region = Rect2(252, 16, 108, 256)
|
|||
atlas = ExtResource("2_n7y5f")
|
||||
region = Rect2(12, 96, 216, 112)
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_lfx7b"]
|
||||
radius = 80.0
|
||||
height = 254.0
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_dqo8w"]
|
||||
radius = 70.0
|
||||
height = 512.0
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rn40i"]
|
||||
atlas = ExtResource("5_xmosd")
|
||||
region = Rect2(736, 96, 224, 160)
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_b3366"]
|
||||
radius = 65.0
|
||||
height = 184.05
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vun1v"]
|
||||
atlas = ExtResource("8_itp05")
|
||||
region = Rect2(288, 256, 192, 160)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4cdlc"]
|
||||
size = Vector2(133.06, 62.73)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wpoj4"]
|
||||
atlas = ExtResource("8_itp05")
|
||||
region = Rect2(1440, 1376, 256, 256)
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_bkpsv"]
|
||||
radius = 115.4
|
||||
height = 230.8
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hk5e3"]
|
||||
size = Vector2(201.89, 146.45)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w86nr"]
|
||||
atlas = ExtResource("10_jr64r")
|
||||
region = Rect2(544, 32, 160, 192)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_tss3y"]
|
||||
size = Vector2(90.375, 25.5)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2qdgk"]
|
||||
atlas = ExtResource("11_0efxk")
|
||||
region = Rect2(1824, 480, 192, 160)
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jw3i8"]
|
||||
lifetime_randomness = 0.2
|
||||
particle_flag_disable_z = true
|
||||
emission_shape_scale = Vector3(0.5, 1, 1)
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 60.0
|
||||
angle_min = -12.5
|
||||
angle_max = 12.5
|
||||
gravity = Vector3(0, -20, 0)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_c24s7"]
|
||||
atlas = ExtResource("12_ro7fd")
|
||||
region = Rect2(0, 0, 128, 160)
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_5wedp"]
|
||||
radius = 42.25
|
||||
|
||||
[node name="Map1" type="Node2D"]
|
||||
z_as_relative = false
|
||||
y_sort_enabled = true
|
||||
material = SubResource("ShaderMaterial_js06g")
|
||||
|
||||
[node name="Container" type="Control" parent="."]
|
||||
|
@ -33,6 +106,7 @@ offset_bottom = 6527.0
|
|||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
auto_translate = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Container"]
|
||||
modulate = Color(0.49519, 0.69, 0.1587, 1)
|
||||
|
@ -54,13 +128,18 @@ scale = Vector2(15, 15)
|
|||
auto_translate = false
|
||||
texture = ExtResource("5_i137q")
|
||||
stretch_mode = 1
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Floors05Sprt" type="Sprite2D" parent="."]
|
||||
z_index = -10
|
||||
z_as_relative = false
|
||||
scale = Vector2(6, 6)
|
||||
texture = ExtResource("1_pt5vq")
|
||||
region_rect = Rect2(0, 0, 1024, 992)
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="Floors05Sprt"]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Floors05Sprt/StaticBody2D"]
|
||||
polygon = PackedVector2Array(-450, 68.3333, -446.167, 162.667, 194.833, 162.667, 211.833, 162.667, 208.167, -35.3333, 462.667, -31.5, 458.833, -131.5, 191.167, -129.667, 191.167, 66.5)
|
||||
|
@ -96,3 +175,164 @@ top_level = true
|
|||
position = Vector2(78, -148)
|
||||
scale = Vector2(6.15, 6.15)
|
||||
texture = ExtResource("3_yh2wy")
|
||||
|
||||
[node name="Bush1" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(-2161, 1140)
|
||||
Shape = SubResource("CapsuleShape2D_lfx7b")
|
||||
Rotation = 1.6
|
||||
|
||||
[node name="Tree1" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(1592, 606)
|
||||
texture = ExtResource("7_gygvy")
|
||||
offset = Vector2(-251.145, -512)
|
||||
Shape = SubResource("CapsuleShape2D_dqo8w")
|
||||
Position = Vector2(0, -253.27)
|
||||
Rotation = 0.0
|
||||
|
||||
[node name="Tree2" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(-2399, -55)
|
||||
texture = ExtResource("7_gygvy")
|
||||
offset = Vector2(-251.145, -512)
|
||||
Shape = SubResource("CapsuleShape2D_dqo8w")
|
||||
Position = Vector2(0, -253.27)
|
||||
Rotation = 0.0
|
||||
|
||||
[node name="Tree3" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(-763, -2021)
|
||||
texture = ExtResource("7_gygvy")
|
||||
offset = Vector2(-251.145, -512)
|
||||
Shape = SubResource("CapsuleShape2D_dqo8w")
|
||||
Position = Vector2(0, -253.27)
|
||||
Rotation = 0.0
|
||||
|
||||
[node name="Tree4" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(2365, -2258)
|
||||
texture = ExtResource("7_gygvy")
|
||||
offset = Vector2(-251.145, -512)
|
||||
Shape = SubResource("CapsuleShape2D_dqo8w")
|
||||
Position = Vector2(0, -253.27)
|
||||
Rotation = 0.0
|
||||
|
||||
[node name="Bush6" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(-1556, 293)
|
||||
Shape = SubResource("CapsuleShape2D_lfx7b")
|
||||
Rotation = 1.6
|
||||
|
||||
[node name="Bush7" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(712, 293)
|
||||
Shape = SubResource("CapsuleShape2D_lfx7b")
|
||||
Rotation = 1.6
|
||||
|
||||
[node name="Bush9" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(1004, -2257)
|
||||
Shape = SubResource("CapsuleShape2D_lfx7b")
|
||||
Rotation = 1.6
|
||||
|
||||
[node name="Bush8" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(-1616, -1651)
|
||||
offset = Vector2(-137.285, -179.785)
|
||||
flip_h = true
|
||||
Shape = SubResource("CapsuleShape2D_lfx7b")
|
||||
Rotation = 1.6
|
||||
|
||||
[node name="Bush10" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(-2063, -2116)
|
||||
texture = SubResource("AtlasTexture_rn40i")
|
||||
offset = Vector2(-108.615, -141.38)
|
||||
flip_h = true
|
||||
Shape = SubResource("CapsuleShape2D_b3366")
|
||||
Position = Vector2(0, -48.95)
|
||||
Rotation = 1.5
|
||||
|
||||
[node name="Bush11" parent="." instance=ExtResource("6_3fkbm")]
|
||||
position = Vector2(2208, 2337)
|
||||
texture = SubResource("AtlasTexture_rn40i")
|
||||
offset = Vector2(-108.615, -141.38)
|
||||
Shape = SubResource("CapsuleShape2D_b3366")
|
||||
Position = Vector2(0, -48.95)
|
||||
Rotation = 1.5
|
||||
|
||||
[node name="Rock1" parent="." instance=ExtResource("9_nxjul")]
|
||||
position = Vector2(-1807, 2030)
|
||||
texture = SubResource("AtlasTexture_vun1v")
|
||||
offset = Vector2(-78.385, -130.2)
|
||||
StickerShape = SubResource("CapsuleShape2D_b3366")
|
||||
Position = Vector2(8.56, -52.395)
|
||||
CollisionShape = SubResource("RectangleShape2D_4cdlc")
|
||||
CollisionPosition = Vector2(7.915, -31.39)
|
||||
|
||||
[node name="Rock2" parent="." instance=ExtResource("9_nxjul")]
|
||||
position = Vector2(-2248, 1895)
|
||||
texture = SubResource("AtlasTexture_wpoj4")
|
||||
offset = Vector2(-126.11, -220.56)
|
||||
StickerShape = SubResource("CapsuleShape2D_bkpsv")
|
||||
Position = Vector2(0, -89.75)
|
||||
CollisionShape = SubResource("RectangleShape2D_hk5e3")
|
||||
CollisionPosition = Vector2(0, -66.02)
|
||||
|
||||
[node name="Log" type="Sprite2D" parent="."]
|
||||
position = Vector2(-1043, -170)
|
||||
scale = Vector2(4, 4)
|
||||
texture = SubResource("AtlasTexture_w86nr")
|
||||
centered = false
|
||||
offset = Vector2(-79.665, -133.81)
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="Log"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Log/StaticBody2D"]
|
||||
position = Vector2(3.75, -17.5)
|
||||
shape = SubResource("RectangleShape2D_tss3y")
|
||||
debug_color = Color(0.999472, 0.00663362, 0.0810784, 0.42)
|
||||
|
||||
[node name="Log3" type="Sprite2D" parent="."]
|
||||
position = Vector2(293, -810)
|
||||
scale = Vector2(4, 4)
|
||||
texture = SubResource("AtlasTexture_w86nr")
|
||||
centered = false
|
||||
offset = Vector2(-79.665, -133.81)
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="Log3"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Log3/StaticBody2D"]
|
||||
position = Vector2(3.75, -17.5)
|
||||
shape = SubResource("RectangleShape2D_tss3y")
|
||||
debug_color = Color(0.999472, 0.00663362, 0.0810784, 0.42)
|
||||
|
||||
[node name="FirePit" type="Sprite2D" parent="."]
|
||||
z_index = -1
|
||||
position = Vector2(-294, -641)
|
||||
scale = Vector2(4, 4)
|
||||
texture = SubResource("AtlasTexture_2qdgk")
|
||||
|
||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="FirePit"]
|
||||
position = Vector2(-5.25, -17.75)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
amount = 4
|
||||
process_material = SubResource("ParticleProcessMaterial_jw3i8")
|
||||
texture = SubResource("AtlasTexture_c24s7")
|
||||
lifetime = 2.0
|
||||
collision_base_size = 0.0
|
||||
visibility_rect = Rect2(-160, -160, 320, 320)
|
||||
local_coords = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="FirePit"]
|
||||
position = Vector2(4.75, -2)
|
||||
scale = Vector2(0.7, 0.7)
|
||||
texture = SubResource("AtlasTexture_c24s7")
|
||||
centered = false
|
||||
offset = Vector2(-71.215, -125.04)
|
||||
|
||||
[node name="PointLight2D" type="PointLight2D" parent="FirePit/Sprite2D"]
|
||||
color = Color(1, 0.54902, 0.270588, 1)
|
||||
energy = 1.2
|
||||
shadow_enabled = true
|
||||
texture = ExtResource("13_sm1ou")
|
||||
texture_scale = 1.9
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="FirePit"]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="FirePit/StaticBody2D"]
|
||||
shape = SubResource("CircleShape2D_5wedp")
|
||||
debug_color = Color(0.937527, 0.247798, 0.087146, 0.42)
|
||||
|
|
50
prefab/free_sticker.tscn
Normal file
50
prefab/free_sticker.tscn
Normal file
|
@ -0,0 +1,50 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://domcpxdf6lqpb"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cun14l52f477p" path="res://textures/atlas/Bushes_All_01_SPRT.png" id="1_1wk1p"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2wdar"]
|
||||
atlas = ExtResource("1_1wk1p")
|
||||
region = Rect2(384, 64, 288, 224)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_uqtu8"]
|
||||
script/source = "@tool
|
||||
extends Sprite2D
|
||||
|
||||
@export_group(\"Sticker Detection Shape\")
|
||||
@export var Shape :Shape2D:
|
||||
set(new_shape):
|
||||
Shape = new_shape
|
||||
$Area2D/CollisionShape2D.shape = Shape
|
||||
$Area2D/CollisionShape2D.queue_redraw()
|
||||
@export var Position :Vector2:
|
||||
set(new_position):
|
||||
Position = new_position
|
||||
$Area2D/CollisionShape2D.position = Position
|
||||
$Area2D/CollisionShape2D.queue_redraw()
|
||||
@export var Rotation :float:
|
||||
set(new_rotation):
|
||||
Rotation = new_rotation
|
||||
$Area2D/CollisionShape2D.rotation = Rotation
|
||||
$Area2D/CollisionShape2D.queue_redraw()
|
||||
|
||||
"
|
||||
|
||||
[node name="FreeSticker1" type="Sprite2D"]
|
||||
scale = Vector2(3.80334, 3.95089)
|
||||
texture = SubResource("AtlasTexture_2wdar")
|
||||
centered = false
|
||||
offset = Vector2(-161.055, -179.785)
|
||||
script = SubResource("GDScript_uqtu8")
|
||||
Rotation = Vector2(0, 0)
|
||||
metadata/tags = ["sticker"]
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
monitoring = false
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(-4.46976, -71.6294)
|
||||
rotation = 1.5708
|
||||
|
||||
[connection signal="property_list_changed" from="." to="." method="_on_property_list_changed"]
|
|
@ -10,6 +10,7 @@ region = Rect2(72, 1392, 216, 272)
|
|||
[node name="WoodenBridge" type="Sprite2D"]
|
||||
scale = Vector2(5.71296, 5.71296)
|
||||
texture = SubResource("AtlasTexture_nkyhf")
|
||||
metadata/tags = ["sticker"]
|
||||
|
||||
[node name="BridgeNode" parent="." instance=ExtResource("2_te8ug")]
|
||||
position = Vector2(1788, 788)
|
||||
|
|
76
prefab/solid_sticker.tscn
Normal file
76
prefab/solid_sticker.tscn
Normal file
|
@ -0,0 +1,76 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://6ww1g2enfdx3"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cun14l52f477p" path="res://textures/atlas/Bushes_All_01_SPRT.png" id="1_ssqve"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2wdar"]
|
||||
atlas = ExtResource("1_ssqve")
|
||||
region = Rect2(384, 64, 288, 224)
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_uqtu8"]
|
||||
script/source = "@tool
|
||||
extends Sprite2D
|
||||
|
||||
@export_group(\"Sticker Detection Shape\")
|
||||
@export var StickerShape :Shape2D:
|
||||
set(new_shape):
|
||||
StickerShape = new_shape
|
||||
$Area2D/StickerShape2D.shape = StickerShape
|
||||
$Area2D/StickerShape2D.queue_redraw()
|
||||
@export var Position :Vector2:
|
||||
set(new_position):
|
||||
Position = new_position
|
||||
$Area2D/StickerShape2D.position = Position
|
||||
$Area2D/StickerShape2D.queue_redraw()
|
||||
@export var Rotation :Vector2:
|
||||
set(new_rotation):
|
||||
Rotation = new_rotation
|
||||
$Area2D/StickerShape2D.rotation = Rotation
|
||||
$Area2D/StickerShape2D.queue_redraw()
|
||||
|
||||
@export_group(\"Collision Shape\")
|
||||
@export var CollisionShape :Shape2D:
|
||||
set(new_CollisionShape):
|
||||
CollisionShape = new_CollisionShape
|
||||
$StaticBody2D/CollisionShape2D.shape = CollisionShape
|
||||
$StaticBody2D/CollisionShape2D.queue_redraw()
|
||||
@export var CollisionPosition :Vector2:
|
||||
set(new_CollisionPosition):
|
||||
CollisionPosition = new_CollisionPosition
|
||||
$StaticBody2D/CollisionShape2D.position = CollisionPosition
|
||||
$StaticBody2D/CollisionShape2D.queue_redraw()
|
||||
@export var CollisionRotation :float:
|
||||
set(new_ColissionRotation):
|
||||
CollisionRotation = new_ColissionRotation
|
||||
$StaticBody2D/CollisionShape2D.rotation = CollisionRotation
|
||||
$StaticBody2D/CollisionShape2D.queue_redraw()
|
||||
|
||||
"
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ep5ck"]
|
||||
size = Vector2(104.391, 20.3774)
|
||||
|
||||
[node name="SolidSticker1" type="Sprite2D"]
|
||||
scale = Vector2(3.80334, 3.95089)
|
||||
texture = SubResource("AtlasTexture_2wdar")
|
||||
centered = false
|
||||
offset = Vector2(-161.055, -179.785)
|
||||
script = SubResource("GDScript_uqtu8")
|
||||
metadata/tags = ["sticker"]
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
collision_layer = 2
|
||||
collision_mask = 0
|
||||
monitoring = false
|
||||
|
||||
[node name="StickerShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(-4.46976, -71.6294)
|
||||
rotation = 1.5708
|
||||
|
||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||
position = Vector2(2.10341, -10.8836)
|
||||
shape = SubResource("RectangleShape2D_ep5ck")
|
||||
debug_color = Color(0.996033, 0, 0.194446, 0.42)
|
||||
|
||||
[connection signal="property_list_changed" from="." to="." method="_on_property_list_changed"]
|
BIN
textures/2d_FE44.tmp
Normal file
BIN
textures/2d_FE44.tmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
BIN
textures/2d_lights_and_shadows_neutral_point_light.webp
Normal file
BIN
textures/2d_lights_and_shadows_neutral_point_light.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
|
@ -2,16 +2,16 @@
|
|||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c00o46q3iyg6b"
|
||||
path="res://.godot/imported/TreeLarge1_Sticker #62431.png-301805e3beb3b1cf0e118ec36f3dcef3.ctex"
|
||||
uid="uid://dcgjlblm2rpy4"
|
||||
path="res://.godot/imported/2d_lights_and_shadows_neutral_point_light.webp-086f9c4fa9cb6d024434559510c1a988.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://extracted/Texture2D/TreeLarge1_Sticker #62431.png"
|
||||
dest_files=["res://.godot/imported/TreeLarge1_Sticker #62431.png-301805e3beb3b1cf0e118ec36f3dcef3.ctex"]
|
||||
source_file="res://textures/2d_lights_and_shadows_neutral_point_light.webp"
|
||||
dest_files=["res://.godot/imported/2d_lights_and_shadows_neutral_point_light.webp-086f9c4fa9cb6d024434559510c1a988.ctex"]
|
||||
|
||||
[params]
|
||||
|
Loading…
Reference in a new issue