Frog with simple rope
This commit is contained in:
parent
b01b898558
commit
67031e101b
@ -143,6 +143,11 @@ duck={
|
|||||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_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":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
click={
|
||||||
|
"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)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[layer_names]
|
[layer_names]
|
||||||
|
|
||||||
|
|||||||
@ -102,6 +102,8 @@ func _death_cam():
|
|||||||
$CameraAnimationPlayer.play("deathCam")
|
$CameraAnimationPlayer.play("deathCam")
|
||||||
|
|
||||||
func _update_lighting_shader():
|
func _update_lighting_shader():
|
||||||
|
# Props to gameendaevour
|
||||||
|
# TODO get this into a central world update management system
|
||||||
var lights = get_tree().get_nodes_in_group("light")
|
var lights = get_tree().get_nodes_in_group("light")
|
||||||
image.lock()
|
image.lock()
|
||||||
for i in lights.size():
|
for i in lights.size():
|
||||||
@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=47 format=2]
|
[gd_scene load_steps=47 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://src/Actors/Blobby/BlobbyCam.gd" type="Script" id=1]
|
[ext_resource path="res://src/Actors/BlobbyCam.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=2]
|
[ext_resource path="res://assets/environment/background/Asteroids-Near.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://assets/environment/background/Asteroids-Far.png" type="Texture" id=3]
|
[ext_resource path="res://assets/environment/background/Asteroids-Far.png" type="Texture" id=3]
|
||||||
[ext_resource path="res://assets/environment/background/space.png" type="Texture" id=4]
|
[ext_resource path="res://assets/environment/background/space.png" type="Texture" id=4]
|
||||||
@ -439,6 +439,7 @@ z_index = -1
|
|||||||
texture = ExtResource( 4 )
|
texture = ExtResource( 4 )
|
||||||
|
|
||||||
[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"]
|
[node name="ParallaxLayer2" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||||
|
visible = false
|
||||||
z_index = -1
|
z_index = -1
|
||||||
motion_scale = Vector2( 0, 0 )
|
motion_scale = Vector2( 0, 0 )
|
||||||
|
|
||||||
@ -447,6 +448,7 @@ z_index = -1
|
|||||||
texture = ExtResource( 3 )
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"]
|
[node name="ParallaxLayer3" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||||
|
visible = false
|
||||||
z_index = -1
|
z_index = -1
|
||||||
motion_scale = Vector2( 0.001, 0.001 )
|
motion_scale = Vector2( 0.001, 0.001 )
|
||||||
|
|
||||||
@ -455,6 +457,7 @@ z_index = -1
|
|||||||
texture = ExtResource( 2 )
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="ParallaxLayer4" type="ParallaxLayer" parent="ParallaxBackground"]
|
[node name="ParallaxLayer4" type="ParallaxLayer" parent="ParallaxBackground"]
|
||||||
|
visible = false
|
||||||
motion_scale = Vector2( 0.01, 0.01 )
|
motion_scale = Vector2( 0.01, 0.01 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer4"]
|
[node name="Sprite" type="Sprite" parent="ParallaxBackground/ParallaxLayer4"]
|
||||||
@ -501,14 +504,17 @@ z_index = -1
|
|||||||
texture = ExtResource( 8 )
|
texture = ExtResource( 8 )
|
||||||
|
|
||||||
[node name="Sprite4" type="Sprite" parent="ParallaxBackground/ParallaxLayer5"]
|
[node name="Sprite4" type="Sprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||||
|
visible = false
|
||||||
z_index = -1
|
z_index = -1
|
||||||
texture = ExtResource( 8 )
|
texture = ExtResource( 8 )
|
||||||
|
|
||||||
[node name="AnimatedSprite" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
[node name="AnimatedSprite" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||||
|
visible = false
|
||||||
frames = SubResource( 7 )
|
frames = SubResource( 7 )
|
||||||
frame = 9
|
frame = 8
|
||||||
playing = true
|
playing = true
|
||||||
|
|
||||||
[node name="AnimatedSprite2" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
[node name="AnimatedSprite2" type="AnimatedSprite" parent="ParallaxBackground/ParallaxLayer5"]
|
||||||
frames = SubResource( 8 )
|
frames = SubResource( 8 )
|
||||||
|
frame = 13
|
||||||
playing = true
|
playing = true
|
||||||
|
|||||||
13
src/Actors/Enemies/Beings/BoundFrog.gd
Normal file
13
src/Actors/Enemies/Beings/BoundFrog.gd
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
|
||||||
|
var Rope = preload("res://src/Contraptions/Rope/Rope.tscn")
|
||||||
|
var start_pos := Vector2.ZERO
|
||||||
|
var end_pos := Vector2.ZERO
|
||||||
|
onready var rope: Node2D = null
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
rope = Rope.instance()
|
||||||
|
add_child(rope)
|
||||||
|
rope.spawn_rope($AnchorPos.global_position, Vector2($AnchorPos.global_position.x + 200, $AnchorPos.global_position.y))
|
||||||
|
rope.end_attached_node = $WhatAreFrog1
|
||||||
13
src/Actors/Enemies/Beings/BoundFrog.tscn
Normal file
13
src/Actors/Enemies/Beings/BoundFrog.tscn
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrog.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://src/Contraptions/Rope/RopeAnchor.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://src/Actors/Enemies/Beings/BoundFrog.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="BoundFrog" type="Node2D"]
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="WhatAreFrog" parent="." instance=ExtResource( 1 )]
|
||||||
|
|
||||||
|
[node name="RopeAnchor" parent="." instance=ExtResource( 2 )]
|
||||||
|
position = Vector2( -53, 10 )
|
||||||
@ -29,7 +29,7 @@ func _physics_process(delta: float) -> void:
|
|||||||
elif(left_wrc.is_colliding() || (!right_src.is_colliding() && left_src.is_colliding())):
|
elif(left_wrc.is_colliding() || (!right_src.is_colliding() && left_src.is_colliding())):
|
||||||
rotation += delta * 7 * movement
|
rotation += delta * 7 * movement
|
||||||
else:
|
else:
|
||||||
rotation -= -sign(velocity.x) * delta * 7 * movement
|
rotation += sign(velocity.x) * delta * 7 * movement
|
||||||
|
|
||||||
# velocity
|
# velocity
|
||||||
var v = Vector2(velocity.x * movement, 0)
|
var v = Vector2(velocity.x * movement, 0)
|
||||||
|
|||||||
@ -38,25 +38,25 @@ shape = SubResource( 1 )
|
|||||||
[node name="SlopeRaycastLeft" type="RayCast2D" parent="."]
|
[node name="SlopeRaycastLeft" type="RayCast2D" parent="."]
|
||||||
position = Vector2( -7.5, 12 )
|
position = Vector2( -7.5, 12 )
|
||||||
enabled = true
|
enabled = true
|
||||||
cast_to = Vector2( 0, 1 )
|
cast_to = Vector2( 0, 2 )
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
|
|
||||||
[node name="SlopeRaycastRight" type="RayCast2D" parent="."]
|
[node name="SlopeRaycastRight" type="RayCast2D" parent="."]
|
||||||
position = Vector2( 7.5, 12 )
|
position = Vector2( 7.5, 12 )
|
||||||
enabled = true
|
enabled = true
|
||||||
cast_to = Vector2( 0, 1 )
|
cast_to = Vector2( 0, 2 )
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
|
|
||||||
[node name="WallRaycastLeft" type="RayCast2D" parent="."]
|
[node name="WallRaycastLeft" type="RayCast2D" parent="."]
|
||||||
position = Vector2( -15, 12 )
|
position = Vector2( -15, 12 )
|
||||||
enabled = true
|
enabled = true
|
||||||
cast_to = Vector2( -2, 0 )
|
cast_to = Vector2( -3, 0 )
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
|
|
||||||
[node name="WallRaycastRight" type="RayCast2D" parent="."]
|
[node name="WallRaycastRight" type="RayCast2D" parent="."]
|
||||||
position = Vector2( 15, 12 )
|
position = Vector2( 15, 12 )
|
||||||
enabled = true
|
enabled = true
|
||||||
cast_to = Vector2( 2, 0 )
|
cast_to = Vector2( 3, 0 )
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
|
|
||||||
[node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]]
|
[node name="StompDetector" type="Area2D" parent="." groups=["weakpoint"]]
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
extends Player
|
extends Player
|
||||||
const PhysicsFunc = preload("res://src/Utilities/Physic/PhysicsFunc.gd")
|
const PhysicsFunc = preload("res://src/Utilities/Physic/PhysicsFunc.gd")
|
||||||
|
|
||||||
|
var Rope = preload("res://src/Contraptions/Rope/Rope.tscn")
|
||||||
|
|
||||||
onready var orientation: RayCast2D = $Orientation
|
onready var orientation: RayCast2D = $Orientation
|
||||||
onready var jump_timer: Timer
|
onready var jump_timer: Timer
|
||||||
|
|
||||||
export var score := 100
|
export var score := 100
|
||||||
|
export var chain_length := 100
|
||||||
|
export var chained := true
|
||||||
|
|
||||||
var start_x = 0
|
var start_x = 0
|
||||||
var in_air = false
|
var in_air = false
|
||||||
@ -13,6 +17,9 @@ func _ready():
|
|||||||
jump_timer = Timer.new()
|
jump_timer = Timer.new()
|
||||||
jump_timer.connect("timeout", self, "jump")
|
jump_timer.connect("timeout", self, "jump")
|
||||||
add_child(jump_timer)
|
add_child(jump_timer)
|
||||||
|
if chained:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
# TODO adapt to groups
|
# TODO adapt to groups
|
||||||
# TODO Engine error here(what does it WANT???)
|
# TODO Engine error here(what does it WANT???)
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
[gd_scene load_steps=7 format=2]
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://assets/enemy/enemy.png" type="Texture" id=1]
|
[ext_resource path="res://assets/enemy/enemy.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrog.gd" type="Script" id=2]
|
[ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrog.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrogStateMachine.gd" type="Script" id=3]
|
[ext_resource path="res://src/Actors/Enemies/Beings/WhatAreFrogStateMachine.gd" type="Script" id=3]
|
||||||
|
[ext_resource path="res://src/Contraptions/Rope/RopeAnchor.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=1]
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
extents = Vector2( 2.72463, 1.17848 )
|
extents = Vector2( 2.72463, 1.17848 )
|
||||||
@ -16,6 +17,7 @@ extents = Vector2( 15.534, 10.0962 )
|
|||||||
[node name="WhatAreFrog" type="KinematicBody2D" groups=["harmful"]]
|
[node name="WhatAreFrog" type="KinematicBody2D" groups=["harmful"]]
|
||||||
collision_layer = 2
|
collision_layer = 2
|
||||||
collision_mask = 9
|
collision_mask = 9
|
||||||
|
collision/safe_margin = 0.001
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="Statemachine" type="Node2D" parent="."]
|
[node name="Statemachine" type="Node2D" parent="."]
|
||||||
@ -78,5 +80,7 @@ position = Vector2( 5.96046e-07, 2.5 )
|
|||||||
scale = Vector2( 1.03, 1.04 )
|
scale = Vector2( 1.03, 1.04 )
|
||||||
shape = SubResource( 3 )
|
shape = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="RopeAnchor" parent="." instance=ExtResource( 4 )]
|
||||||
|
|
||||||
[connection signal="body_entered" from="StompDetector" to="." method="_on_StompDetector_body_entered"]
|
[connection signal="body_entered" from="StompDetector" to="." method="_on_StompDetector_body_entered"]
|
||||||
[connection signal="area_entered" from="EnemySkin" to="." method="_on_EnemySkin_area_entered"]
|
[connection signal="area_entered" from="EnemySkin" to="." method="_on_EnemySkin_area_entered"]
|
||||||
|
|||||||
@ -11,7 +11,7 @@ onready var lock_on_timer = $LockOnTimer
|
|||||||
onready var sight_lost_timer = $SightLostTimer
|
onready var sight_lost_timer = $SightLostTimer
|
||||||
onready var turret_search_animation = $AnimationPlayer.get_animation("Turret Rotation")
|
onready var turret_search_animation = $AnimationPlayer.get_animation("Turret Rotation")
|
||||||
onready var turret_return_animation = $AnimationPlayer.get_animation("Turret Returning")
|
onready var turret_return_animation = $AnimationPlayer.get_animation("Turret Returning")
|
||||||
onready var Bullet = preload("res://src/HarmfulObjects/Bullet.tscn")
|
onready var Bullet = preload("res://src/ObstacleObjects/Bullet.tscn")
|
||||||
# Derives the freedom from the number of bald head eagles
|
# Derives the freedom from the number of bald head eagles
|
||||||
onready var angle_of_freedom = deg2rad(
|
onready var angle_of_freedom = deg2rad(
|
||||||
turret_search_animation.track_get_key_value(
|
turret_search_animation.track_get_key_value(
|
||||||
|
|||||||
87
src/Contraptions/Rope/Rope.gd
Normal file
87
src/Contraptions/Rope/Rope.gd
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
var RopePiece = preload("res://src/Contraptions/Rope/RopePiece.tscn")
|
||||||
|
var RopeAnchor = preload("res://src/Contraptions/Rope/RopeAnchor.tscn")
|
||||||
|
var piece_length := 2.0
|
||||||
|
var rope_close_tolerance := 2.0
|
||||||
|
var rope_pieces := []
|
||||||
|
var rope_piece_positions : PoolVector2Array= []
|
||||||
|
|
||||||
|
var end_attached_node: Node2D = null
|
||||||
|
|
||||||
|
export var mouse_follow := false
|
||||||
|
|
||||||
|
onready var rope_start
|
||||||
|
onready var rope_end
|
||||||
|
onready var rope_start_joint
|
||||||
|
onready var rope_end_joint
|
||||||
|
|
||||||
|
func _physics_process(_delta: float) -> void:
|
||||||
|
#Resize or reinitialize?
|
||||||
|
if(end_attached_node != null):
|
||||||
|
if (!is_instance_valid(end_attached_node)):
|
||||||
|
rope_end.mode = RigidBody2D.MODE_RIGID
|
||||||
|
else:
|
||||||
|
rope_end.global_position = end_attached_node.global_position
|
||||||
|
if(mouse_follow):
|
||||||
|
rope_end.global_position = get_global_mouse_position()
|
||||||
|
rope_piece_positions.resize(0)
|
||||||
|
rope_piece_positions = get_piece_positions()
|
||||||
|
if !rope_piece_positions.empty():
|
||||||
|
update()
|
||||||
|
|
||||||
|
func spawn_rope(start_pos: Vector2, end_pos: Vector2):
|
||||||
|
rope_start = RopeAnchor.instance()
|
||||||
|
rope_end = RopeAnchor.instance()
|
||||||
|
rope_start_joint = rope_start.get_node("cshape/pjoint")
|
||||||
|
rope_end_joint = rope_end.get_node("cshape/pjoint")
|
||||||
|
add_child(rope_start, true)
|
||||||
|
add_child(rope_end, true)
|
||||||
|
rope_start.global_position = start_pos
|
||||||
|
rope_end.global_position = end_pos
|
||||||
|
start_pos = rope_start_joint.global_position
|
||||||
|
end_pos = rope_end_joint.global_position
|
||||||
|
var dist = start_pos.distance_to(end_pos)
|
||||||
|
var pieces_amount = round(dist / piece_length)
|
||||||
|
var spawn_angle = (end_pos-start_pos).angle() - PI/2
|
||||||
|
create_rope(pieces_amount, rope_start, end_pos, spawn_angle)
|
||||||
|
|
||||||
|
func create_rope(pieces_amount: int, last_piece: Object, end_pos: Vector2, spawn_angle: float) -> void:
|
||||||
|
for i in pieces_amount:
|
||||||
|
last_piece = add_piece(last_piece, i, spawn_angle)
|
||||||
|
last_piece.set_name("rope_piece_"+str(i))
|
||||||
|
rope_pieces.append(last_piece)
|
||||||
|
|
||||||
|
var joint_pos = last_piece.get_node("cshape/pjoint").global_position
|
||||||
|
if joint_pos.distance_to(end_pos) < rope_close_tolerance:
|
||||||
|
break
|
||||||
|
|
||||||
|
rope_end_joint.node_a = rope_end.get_path()
|
||||||
|
rope_end_joint.node_b = rope_pieces[-1].get_path()
|
||||||
|
|
||||||
|
|
||||||
|
func add_piece(prev_link: Object, id: int, spawn_angle:float) -> Object:
|
||||||
|
var joint: PinJoint2D = prev_link.get_node("cshape/pjoint") as PinJoint2D
|
||||||
|
var new_piece: Object = RopePiece.instance() as Object
|
||||||
|
new_piece.global_position = joint.global_position
|
||||||
|
new_piece.rotation = spawn_angle
|
||||||
|
new_piece.prev_link = prev_link
|
||||||
|
new_piece.id = id
|
||||||
|
add_child(new_piece)
|
||||||
|
joint.node_a = prev_link.get_path()
|
||||||
|
joint.node_b = new_piece.get_path()
|
||||||
|
|
||||||
|
return new_piece
|
||||||
|
|
||||||
|
func get_piece_positions() -> Array:
|
||||||
|
var rope_points := []
|
||||||
|
|
||||||
|
rope_points.append(rope_start_joint.global_position)
|
||||||
|
for p in rope_pieces:
|
||||||
|
rope_points.append(p.global_position)
|
||||||
|
rope_points.append(rope_end_joint.global_position)
|
||||||
|
|
||||||
|
return rope_points
|
||||||
|
|
||||||
|
func _draw() -> void:
|
||||||
|
draw_polyline(rope_piece_positions, Color.blue, 2.0)
|
||||||
7
src/Contraptions/Rope/Rope.tscn
Normal file
7
src/Contraptions/Rope/Rope.tscn
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://src/Contraptions/Rope/Rope.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="Rope" type="Node2D"]
|
||||||
|
z_index = -1
|
||||||
|
script = ExtResource( 1 )
|
||||||
27
src/Contraptions/Rope/RopeAnchor.tscn
Normal file
27
src/Contraptions/Rope/RopeAnchor.tscn
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://assets/environment/blocks/approx build block.png" type="Texture" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id=5]
|
||||||
|
radius = 2.0
|
||||||
|
|
||||||
|
[node name="RopeAnchor" type="RigidBody2D"]
|
||||||
|
z_index = -1
|
||||||
|
collision_layer = 256
|
||||||
|
collision_mask = 8
|
||||||
|
input_pickable = true
|
||||||
|
mode = 1
|
||||||
|
linear_damp = 1.0
|
||||||
|
angular_damp = 1.0
|
||||||
|
|
||||||
|
[node name="cshape" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource( 5 )
|
||||||
|
|
||||||
|
[node name="pjoint" type="PinJoint2D" parent="cshape"]
|
||||||
|
scale = Vector2( 0.3, 0.3 )
|
||||||
|
bias = 0.1
|
||||||
|
softness = 0.1
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite" parent="."]
|
||||||
|
scale = Vector2( 0.1875, 0.1875 )
|
||||||
|
texture = ExtResource( 1 )
|
||||||
5
src/Contraptions/Rope/RopePiece.gd
Normal file
5
src/Contraptions/Rope/RopePiece.gd
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
extends RigidBody2D
|
||||||
|
|
||||||
|
|
||||||
|
var id := -1
|
||||||
|
var prev_link: Object = null
|
||||||
25
src/Contraptions/Rope/RopePiece.tscn
Normal file
25
src/Contraptions/Rope/RopePiece.tscn
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://src/Contraptions/Rope/RopePiece.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id=1]
|
||||||
|
radius = 1.0
|
||||||
|
height = 1.0
|
||||||
|
|
||||||
|
[node name="RigidBody2D" type="RigidBody2D"]
|
||||||
|
collision_layer = 256
|
||||||
|
collision_mask = 8
|
||||||
|
gravity_scale = 3.0
|
||||||
|
linear_damp = 1.0
|
||||||
|
angular_damp = 1.0
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="cshape" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2( 0, 1.5 )
|
||||||
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="pjoint" type="PinJoint2D" parent="cshape"]
|
||||||
|
position = Vector2( 0, 1.5 )
|
||||||
|
scale = Vector2( 0.3, 0.3 )
|
||||||
|
bias = 0.1
|
||||||
|
softness = 0.1
|
||||||
@ -27,10 +27,7 @@ wait_time = 20.0
|
|||||||
[node name="BlobbyCam" parent="." instance=ExtResource( 12 )]
|
[node name="BlobbyCam" parent="." instance=ExtResource( 12 )]
|
||||||
|
|
||||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||||
frame = 8
|
frame = 11
|
||||||
|
|
||||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
|
||||||
frame = 10
|
|
||||||
|
|
||||||
[node name="Blobby" parent="." instance=ExtResource( 2 )]
|
[node name="Blobby" parent="." instance=ExtResource( 2 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@ -40,9 +37,6 @@ scale = Vector2( 0.878906, 0.936025 )
|
|||||||
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
[node name="AnimationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||||
parameters/playback = SubResource( 4 )
|
parameters/playback = SubResource( 4 )
|
||||||
|
|
||||||
[node name="StateLabel" parent="Blobby" index="6"]
|
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="Decor" type="Node2D" parent="."]
|
[node name="Decor" type="Node2D" parent="."]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ position = Vector2( -259.915, 710.547 )
|
|||||||
position = Vector2( 220, 804 )
|
position = Vector2( 220, 804 )
|
||||||
|
|
||||||
[node name="Caterpillar" parent="." instance=ExtResource( 5 )]
|
[node name="Caterpillar" parent="." instance=ExtResource( 5 )]
|
||||||
position = Vector2( -37, 786 )
|
position = Vector2( 73, 882 )
|
||||||
|
|
||||||
[node name="Enemy2" parent="." instance=ExtResource( 6 )]
|
[node name="Enemy2" parent="." instance=ExtResource( 6 )]
|
||||||
position = Vector2( 492, 804 )
|
position = Vector2( 492, 804 )
|
||||||
|
|||||||
@ -34,10 +34,189 @@ cell_size = Vector2( 24, 24 )
|
|||||||
collision_layer = 8
|
collision_layer = 8
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
format = 1
|
format = 1
|
||||||
tile_data = PoolIntArray( -262152, 3, 0, -262151, 3, 0, -262150, 3, 0, -262149, 3, 0, -262148, 3, 0, -262147, 3, 0, -262146, 3, 0, -262145, 3, 0, -327680, 3, 0, -327679, 3, 0, -327678, 3, 0, -327677, 3, 0, -327676, 3, 0, -327675, 3, 0, -196616, 3, 0, -262139, 3, 0, -131080, 3, 0, -196603, 3, 0, -65544, 3, 0, -131067, 3, 0, -8, 3, 0, -65531, 3, 0, 65528, 3, 0, 65529, 3, 0, 65530, 3, 0, 65531, 3, 0, 65532, 3, 0, 65533, 4, 0, 65534, 4, 0, 65535, 4, 0, 0, 4, 0, 1, 4, 0, 2, 4, 0, 3, 4, 0, 4, 4, 0, 5, 4, 0 )
|
tile_data = PoolIntArray( -327685, 3, 0, -327684, 1610612738, 0, -327683, 1610612738, 0, -327682, 1610612738, 0, -327681, 1610612738, 0, -393216, 1610612738, 0, -393215, 1610612738, 0, -393214, 1610612738, 0, -393213, 1610612738, 0, -393212, 1610612738, 0, -393211, 1610612738, 0, -393210, 1610612738, 0, -393209, 1610612738, 0, -393208, 1610612738, 0, -393207, 1610612738, 0, -393206, 1610612738, 0, -393205, 3, 0, -262149, -1610612734, 0, -327669, -1073741822, 0, -196613, -1610612734, 0, -262133, -1073741822, 0, -131077, -1610612734, 0, -196597, -1073741822, 0, -65541, -1610612734, 0, -131061, -1073741822, 0, -5, -1610612734, 0, -65525, -1073741822, 0, 65531, 3, 0, 65532, 2, 0, 65533, 2, 0, 65534, 2, 0, 65535, 2, 0, 0, 2, 0, 1, 2, 0, 2, 2, 0, 3, 2, 0, 4, 2, 0, 5, 2, 0, 6, 2, 0, 7, 2, 0, 8, 2, 0, 9, 2, 0, 10, 2, 0, 11, 3, 0 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 108, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass2" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 114, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass3" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 123, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass4" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 129, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass5" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 135, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass6" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 144, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass7" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 153, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass8" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 159, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass9" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 48, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass10" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 57, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass11" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 66, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass12" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 72, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass13" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 78, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass14" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 87, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass15" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 96, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass16" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 102, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass17" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 222, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass18" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 231, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass19" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 240, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass20" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 246, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass21" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 252, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass22" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 261, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass23" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 270, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass24" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 276, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass25" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 165, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass26" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 174, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass27" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 183, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass28" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 189, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass29" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 195, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass30" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 204, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass31" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 213, -11.8 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass32" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 219, -12 )
|
||||||
|
z_index = 1
|
||||||
|
|
||||||
|
[node name="ShaderGrass33" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 105, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass35" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 120, -14.7 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass37" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 132, -14.7 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass39" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 150, -14.7 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass43" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 63, -14.7 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass45" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 75, -14.7 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass47" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 93, -14.7 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass49" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 219, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass51" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 237, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass53" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 249, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass55" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 267, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass57" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 162, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass59" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 180, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass61" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 192, -15 )
|
||||||
|
|
||||||
|
[node name="ShaderGrass63" parent="TileMap" instance=ExtResource( 5 )]
|
||||||
|
position = Vector2( 210, -15 )
|
||||||
|
|
||||||
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
||||||
|
|
||||||
|
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||||
|
frame = 10
|
||||||
|
|
||||||
|
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||||
|
frame = 1
|
||||||
|
|
||||||
[node name="Blobby" parent="." instance=ExtResource( 10 )]
|
[node name="Blobby" parent="." instance=ExtResource( 10 )]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
position = Vector2( -22, 8.00003 )
|
position = Vector2( -22, 8.00003 )
|
||||||
@ -49,223 +228,6 @@ parameters/playback = SubResource( 4 )
|
|||||||
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
[node name="GameplaySignalManager" type="Node2D" parent="."]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="ShaderGrass" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -14.913, -2.37698 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass2" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -11.482, -2.54797 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass3" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -5.7973, -2.461 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass4" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -9.6843, -3.88098 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass5" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -1.7553, -2.40399 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass6" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -4.4593, -4.18997 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass7" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 9.5887, -2.56998 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass8" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 3.4917, -2.35599 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass9" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 1.0897, -4.66699 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass10" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 13.2737, -2.42599 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass11" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 16.7047, -2.59698 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass12" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 22.3887, -2.50998 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass13" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 18.5017, -3.92899 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass14" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 26.4307, -2.45297 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass15" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 23.7267, -4.23898 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass16" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 37.7747, -2.61899 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass17" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 31.6777, -2.405 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass18" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 29.2757, -4.715 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass19" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 40.4827, -2.37698 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass20" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 43.9137, -2.54797 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass21" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 49.5987, -2.461 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass22" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 45.7117, -3.88098 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass23" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 53.6407, -2.40399 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass24" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 50.9367, -4.18997 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass25" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 64.9847, -2.56998 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass26" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 58.8877, -2.35599 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass27" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 56.4857, -4.66699 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass28" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -44.4463, -2.54398 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass29" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -41.0153, -2.715 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass30" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -35.3307, -2.62799 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass31" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -39.2176, -4.047 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass32" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -31.2887, -2.57098 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass33" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -33.9927, -4.35699 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass34" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -19.9447, -2.73599 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass35" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -26.0417, -2.52298 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass36" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -28.4437, -4.83298 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass37" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -69.9751, -2.70999 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass38" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -66.5441, -2.88098 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass39" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -60.8595, -2.79398 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass40" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -64.7464, -4.21399 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass41" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -56.8175, -2.737 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass42" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -59.5215, -4.52298 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass43" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -45.4735, -2.90298 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass44" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -51.5705, -2.689 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass45" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -53.9725, -5 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass46" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -92, -2.54398 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass47" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -88.569, -2.715 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass48" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -82.8844, -2.62799 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass49" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -86.7713, -4.047 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass50" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -78.8424, -2.57098 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass51" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -81.5464, -4.35699 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass52" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -67.4984, -2.73599 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass53" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -73.5954, -2.52298 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass54" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( -75.9974, -4.83298 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass55" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 57.0017, -2.54398 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass56" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 60.4327, -2.715 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass57" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 66.1167, -2.62799 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass58" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 62.2307, -4.047 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass59" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 70.1587, -2.57098 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass60" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 67.4547, -4.35699 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[node name="ShaderGrass61" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 81.5027, -2.73599 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass62" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 75.4057, -2.52298 )
|
|
||||||
|
|
||||||
[node name="ShaderGrass63" parent="." instance=ExtResource( 5 )]
|
|
||||||
position = Vector2( 73.0037, -4.83298 )
|
|
||||||
z_index = -1
|
|
||||||
|
|
||||||
[connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"]
|
[connection signal="timeout" from="UserInterface/HUD/HUDOverlay/GetBackTimer/Timer" to="GameplaySignalManager" method="_on_Timer_timeout"]
|
||||||
[connection signal="getback_timer_up" from="GameplaySignalManager" to="Blobby" method="_on_GameplaySignalManager_getback_timer_up"]
|
[connection signal="getback_timer_up" from="GameplaySignalManager" to="Blobby" method="_on_GameplaySignalManager_getback_timer_up"]
|
||||||
[connection signal="terminal_activated" from="GameplaySignalManager" to="UserInterface/HUD" method="_on_SignalManager_terminal_activated"]
|
[connection signal="terminal_activated" from="GameplaySignalManager" to="UserInterface/HUD" method="_on_SignalManager_terminal_activated"]
|
||||||
|
|||||||
30
src/Levels/The Line Level.gd
Normal file
30
src/Levels/The Line Level.gd
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
extends Node2D
|
||||||
|
|
||||||
|
var Rope = preload("res://src/Contraptions/Rope/Rope.tscn")
|
||||||
|
var start_pos := Vector2.ZERO
|
||||||
|
var end_pos := Vector2.ZERO
|
||||||
|
onready var rope: Node2D = null
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
rope = Rope.instance()
|
||||||
|
add_child(rope)
|
||||||
|
rope.spawn_rope($AnchorPos.global_position, Vector2($AnchorPos.global_position.x + 200, $AnchorPos.global_position.y))
|
||||||
|
rope.end_attached_node = $WhatAreFrog1
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if event is InputEventMouseButton && !event.is_pressed():
|
||||||
|
if start_pos == Vector2.ZERO:
|
||||||
|
start_pos = get_global_mouse_position()
|
||||||
|
elif end_pos == Vector2.ZERO:
|
||||||
|
end_pos = get_global_mouse_position()
|
||||||
|
rope = Rope.instance()
|
||||||
|
add_child(rope)
|
||||||
|
rope.spawn_rope(start_pos, end_pos)
|
||||||
|
start_pos = Vector2.ZERO
|
||||||
|
end_pos = Vector2.ZERO
|
||||||
|
# if rope != null && event.is_action_pressed("click"):
|
||||||
|
# rope.mouse_follow = true
|
||||||
|
# if event.is_action_released("click"):
|
||||||
|
# if rope != null:
|
||||||
|
# rope.mouse_follow = false
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user