Working jumps and friction

This commit is contained in:
Jakob Feldmann 2021-04-11 01:54:59 +02:00
parent 742b79db52
commit 7d3a99b284
13 changed files with 249 additions and 116 deletions

View File

@ -52,6 +52,8 @@ settings/fps/force_fps=144
[display] [display]
window/size/width=848
window/size/height=480
window/stretch/mode="2d" window/stretch/mode="2d"
[input] [input]
@ -95,6 +97,8 @@ pause={
quality/intended_usage/framebuffer_allocation=0 quality/intended_usage/framebuffer_allocation=0
quality/intended_usage/framebuffer_allocation.mobile=0 quality/intended_usage/framebuffer_allocation.mobile=0
quality/2d/use_pixel_snap=true quality/2d/use_pixel_snap=true
quality/filters/use_nearest_mipmap_filter=true
quality/filters/msaa=1
environment/default_environment="res://default_env.tres" environment/default_environment="res://default_env.tres"
environment/2d/use_nvidia_rect_flicker_workaround=true environment/2d/use_nvidia_rect_flicker_workaround=true
environment/stretch/aspect="ignore" environment/stretch/aspect="ignore"

View File

@ -3,11 +3,12 @@ class_name Actor
const FLOOR_NORMAL := Vector2.UP const FLOOR_NORMAL := Vector2.UP
# TODO Round everyone up whoever still uses this variable and fucking kill them
export var speed := Vector2(300, 1000) export var speed := Vector2(300, 1000)
# newtonmeters is the unit # newtonmeters is the unit
export var acceleration_force := Vector2(5000, -2000) export var acceleration_force := Vector2(3050, 4575)
export var gravity := 9810.0 export var gravity := 4000.0
# Kilograms # Kilograms
export var mass := 5 export var mass := 6
var _velocity := Vector2.ZERO var _velocity := Vector2.ZERO

View File

@ -3,7 +3,6 @@ extends Actor
export var stomp_impulse := 1000.0 export var stomp_impulse := 1000.0
# TODO Move events to StateMachine
func _on_EnemyDetector_area_entered(area: Area2D) -> void: func _on_EnemyDetector_area_entered(area: Area2D) -> void:
_velocity = calculate_stomp_velocity(_velocity, stomp_impulse) _velocity = calculate_stomp_velocity(_velocity, stomp_impulse)
@ -33,46 +32,63 @@ func calculate_grounded_velocity(
linear_velocity: Vector2, delta: float, speed: Vector2, direction: Vector2 linear_velocity: Vector2, delta: float, speed: Vector2, direction: Vector2
) -> Vector2: ) -> Vector2:
var out_vel := linear_velocity var out_vel := linear_velocity
# TODO Comments
if direction.x == 0.0:
var deceleration_force = get_ground_friction() * gravity * mass * delta
var velocity_direction = 1.0 var velocity_direction = 1.0
if _velocity.x < 0: if _velocity.x < 0:
velocity_direction = -1.0 velocity_direction = -1.0
if direction.x == 0.0:
var deceleration_force = calculate_deceleration_force(gravity, mass, delta)
# Translates velocity back to force and subtracts deceleration force # Translates velocity back to force and subtracts deceleration force
var result_force = ( var result_force = (
(abs(_velocity.x) * mass) / delta abs(convert_velocity_to_force(_velocity.x, mass, delta))
- deceleration_force - deceleration_force
) )
if result_force <= 0: if result_force <= 0:
out_vel.x = 0 out_vel.x = 0
else: else:
out_vel.x = result_force / mass * delta * velocity_direction out_vel.x = convert_force_to_velocity(result_force, mass, delta) * velocity_direction
else: else:
# When turning the opposite direction, friction is added to the opposite acceleration movement
if is_reverse_horizontal_direction(direction):
out_vel.x -= convert_force_to_velocity(calculate_deceleration_force(gravity, mass, delta), mass, delta) * velocity_direction
out_vel.x += (delta * ((acceleration_force.x / mass) * direction.x)) out_vel.x += (delta * ((acceleration_force.x / mass) * direction.x))
# TODO Is this the right place to determine this? # TODO Is this the right place to determine this?
if is_on_floor(): if is_on_floor():
var additive_jump_force = -0.1 * abs(_velocity.x) * mass var additive_jump_force = 0.2 * abs(_velocity.x) * mass
# The one signals, that I calculated the velocity resulting from 1 second of force applied out_vel.y = (
out_vel.y = 1 * ((acceleration_force.y + additive_jump_force) / mass) ((acceleration_force.y + additive_jump_force) / mass)
* direction.y
)
return out_vel return out_vel
func is_reverse_horizontal_direction(direction: Vector2) -> bool:
return (direction.x > 0 && _velocity.x < 0) || (direction.x < 0 && _velocity.x > 0)
func convert_velocity_to_force(velocity, mass, delta) -> float:
return (velocity*mass)/delta
func convert_force_to_velocity(force, mass, delta) -> float:
return (force/mass)*delta
func get_ground_friction() -> float: func get_ground_friction() -> float:
return 10.0 return 30.5
# TODO Comments for parameters
func calculate_deceleration_force(gravity: float, mass: float, delta: float) -> float:
return get_ground_friction() * gravity * mass * delta
func calculate_jump_velocity( func calculate_jump_velocity(
linear_velocity: Vector2, delta: float, speed: Vector2, direction: Vector2 linear_velocity: Vector2, delta: float, speed: Vector2, direction: Vector2
) -> Vector2: ) -> Vector2:
linear_velocity.y = gravity * delta linear_velocity.y += gravity * delta
return linear_velocity return linear_velocity
func calculate_fall_velocity( func calculate_fall_velocity(
linear_velocity: Vector2, delta: float, speed: Vector2, direction: Vector2 linear_velocity: Vector2, delta: float, speed: Vector2, direction: Vector2
) -> Vector2: ) -> Vector2:
linear_velocity.y = gravity * delta linear_velocity.y += gravity * delta
return linear_velocity return linear_velocity

View File

@ -1,28 +1,26 @@
[gd_scene load_steps=8 format=2] [gd_scene load_steps=8 format=2]
[ext_resource path="res://start-assets/player.png" type="Texture" id=1] [ext_resource path="res://start-assets/approx mannequin.png" type="Texture" id=1]
[ext_resource path="res://src/Actor/PlayerStateMachine.gd" type="Script" id=2] [ext_resource path="res://src/Actor/PlayerStateMachine.gd" type="Script" id=2]
[ext_resource path="res://src/RayCasters/RayCaster.gd" type="Script" id=3] [ext_resource path="res://src/RayCasters/RayCaster.gd" type="Script" id=3]
[ext_resource path="res://src/RayCasters/RayCastDebugLines.gd" type="Script" id=4] [ext_resource path="res://src/RayCasters/RayCastDebugLines.gd" type="Script" id=4]
[ext_resource path="res://src/Actor/Blobby.gd" type="Script" id=5] [ext_resource path="res://src/Actor/Blobby.gd" type="Script" id=5]
[sub_resource type="RectangleShape2D" id=1] [sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 30.8418, 32 ) extents = Vector2( 9.78696, 20.3816 )
[sub_resource type="RectangleShape2D" id=2] [sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 30.9321, 24.5597 ) extents = Vector2( 11.4387, 20.1638 )
[node name="Blobby" type="KinematicBody2D"] [node name="Blobby" type="KinematicBody2D"]
collision_mask = 8 collision_mask = 8
script = ExtResource( 5 ) script = ExtResource( 5 )
[node name="Player" type="Sprite" parent="."] [node name="Player" type="Sprite" parent="."]
position = Vector2( 0, -32 )
scale = Vector2( 0.64, 0.64 ) scale = Vector2( 0.64, 0.64 )
texture = ExtResource( 1 ) texture = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."] [node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 0, -32.2102 )
shape = SubResource( 1 ) shape = SubResource( 1 )
[node name="RayCaster" type="Node2D" parent="CollisionShape2D"] [node name="RayCaster" type="Node2D" parent="CollisionShape2D"]
@ -50,17 +48,16 @@ collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyDetector"] [node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyDetector"]
modulate = Color( 0.2, 0, 0.494118, 1 ) modulate = Color( 0.2, 0, 0.494118, 1 )
position = Vector2( 0, -32.2102 )
shape = SubResource( 2 ) shape = SubResource( 2 )
[node name="StateMachine" type="Node" parent="."] [node name="StateMachine" type="Node" parent="."]
script = ExtResource( 2 ) script = ExtResource( 2 )
[node name="StateLable" type="Label" parent="."] [node name="StateLable" type="Label" parent="."]
margin_left = -31.0 margin_left = -30.7351
margin_top = -80.0 margin_top = -30.3377
margin_right = 31.0 margin_right = 31.2649
margin_bottom = -64.0 margin_bottom = -14.3377
text = "Coochie" text = "Coochie"
align = 1 align = 1
valign = 1 valign = 1

View File

@ -1,74 +0,0 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://start-assets/player.png" type="Texture" id=1]
[ext_resource path="res://src/Actor/PlayerStateMachine.gd" type="Script" id=2]
[ext_resource path="res://src/RayCasters/RayCaster.gd" type="Script" id=3]
[ext_resource path="res://src/RayCasters/RayCastDebugLines.gd" type="Script" id=4]
[ext_resource path="res://src/Actor/Blobby.gd" type="Script" id=5]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 30.8418, 32 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 30.9321, 24.5597 )
[node name="Blobby" type="KinematicBody2D"]
collision_mask = 8
script = ExtResource( 5 )
speed = null
gravity = null
stomp_impulse = null
[node name="Player" type="Sprite" parent="."]
position = Vector2( 0, -32 )
scale = Vector2( 0.64, 0.64 )
texture = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 0, -32.2102 )
shape = SubResource( 1 )
[node name="RayCaster" type="Node2D" parent="CollisionShape2D"]
script = ExtResource( 3 )
[node name="RayCastDebugLines" type="Line2D" parent="CollisionShape2D/RayCaster"]
script = ExtResource( 4 )
[node name="Camera2D" type="Camera2D" parent="."]
visible = false
position = Vector2( 0, -181 )
current = true
limit_left = 0
limit_top = 0
limit_smoothed = true
drag_margin_h_enabled = true
drag_margin_v_enabled = true
smoothing_enabled = true
drag_margin_left = 0.0
drag_margin_right = 0.0
[node name="EnemyDetector" type="Area2D" parent="."]
monitorable = false
collision_mask = 2
[node name="CollisionShape2D" type="CollisionShape2D" parent="EnemyDetector"]
modulate = Color( 0.2, 0, 0.494118, 1 )
position = Vector2( 0, -32.2102 )
shape = SubResource( 2 )
[node name="StateMachine" type="Node" parent="."]
script = ExtResource( 2 )
[node name="StateLable" type="Label" parent="."]
margin_left = -31.0
margin_top = -80.0
margin_right = 31.0
margin_bottom = -64.0
text = "Coochie"
align = 1
valign = 1
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="area_entered" from="EnemyDetector" to="." method="_on_EnemyDetector_area_entered"]
[connection signal="body_entered" from="EnemyDetector" to="." method="_on_EnemyDetector_body_entered"]

View File

@ -70,10 +70,13 @@ func get_direction() -> Vector2:
func _get_transition(delta): func _get_transition(delta):
parent.get_node("StateLable").text = self.state parent.get_node("StateLable").text = self.state
var new_state var new_state
if ! parent.is_on_floor(): # TODO Can get stuck in Fall on ledges
if !parent.is_on_floor():
if parent._velocity.y < 0: if parent._velocity.y < 0:
new_state = states.jump new_state = states.jump
if parent._velocity.y > 0: if parent._velocity.y >= 0:
# if self.state == states.run:
# parent._velocity.y = 0
new_state = states.fall new_state = states.fall
elif parent._velocity.x != 0: elif parent._velocity.x != 0:
new_state = states.run new_state = states.run

124
src/Levels/ApproxLevel.tscn Normal file
View File

@ -0,0 +1,124 @@
[gd_scene load_steps=9 format=2]
[ext_resource path="res://src/Actor/Blobby.tscn" type="PackedScene" id=1]
[ext_resource path="res://start-assets/background.png" type="Texture" id=4]
[ext_resource path="res://start-assets/approx build block.png" type="Texture" id=6]
[ext_resource path="res://start-assets/new_dynamicfont.tres" type="DynamicFont" id=7]
[sub_resource type="OccluderPolygon2D" id=1]
polygon = PoolVector2Array( 32, 32, 0, 32, 0, 0, 32, 0 )
[sub_resource type="ConvexPolygonShape2D" id=2]
points = PoolVector2Array( 0, 0, 0, 32, 32, 32, 32, 0 )
[sub_resource type="ConcavePolygonShape2D" id=3]
segments = PoolVector2Array( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )
[sub_resource type="TileSet" id=4]
0/name = "approx build block.png 0"
0/texture = ExtResource( 6 )
0/tex_offset = Vector2( 0, 0 )
0/modulate = Color( 1, 1, 1, 1 )
0/region = Rect2( 0, 0, 32, 32 )
0/tile_mode = 0
0/occluder_offset = Vector2( 0, 0 )
0/occluder = SubResource( 1 )
0/navigation_offset = Vector2( 0, 0 )
0/shape_offset = Vector2( 0, 0 )
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
0/shape = SubResource( 2 )
0/shape_one_way = false
0/shape_one_way_margin = 1.0
0/shapes = [ {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 2 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
}, {
"autotile_coord": Vector2( 0, 0 ),
"one_way": false,
"one_way_margin": 1.0,
"shape": SubResource( 3 ),
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
} ]
0/z_index = 0
1/name = "approx build block.png 1"
1/texture = ExtResource( 6 )
1/tex_offset = Vector2( 0, 0 )
1/modulate = Color( 1, 1, 1, 1 )
1/region = Rect2( 0, 0, 32, 32 )
1/tile_mode = 0
1/occluder_offset = Vector2( 0, 0 )
1/navigation_offset = Vector2( 0, 0 )
1/shape_offset = Vector2( 0, 0 )
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
1/shape_one_way = false
1/shape_one_way_margin = 0.0
1/shapes = [ ]
1/z_index = 0
[node name="LevelTemplate" type="Node2D"]
__meta__ = {
"_edit_horizontal_guides_": [ 464.0 ],
"_edit_vertical_guides_": [ 2880.0 ]
}
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = -1
[node name="background" type="TextureRect" parent="CanvasLayer"]
anchor_left = 0.002
anchor_top = -0.062
anchor_right = 1.021
anchor_bottom = 1.0
margin_left = -1.696
margin_top = 29.76
margin_right = 158.192
margin_bottom = 16.0
texture = ExtResource( 4 )
expand = true
stretch_mode = 1
__meta__ = {
"_edit_use_anchors_": false
}
[node name="TileMap" type="TileMap" parent="."]
tile_set = SubResource( 4 )
cell_size = Vector2( 32, 32 )
cell_custom_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
collision_layer = 8
collision_mask = 0
format = 1
tile_data = PoolIntArray( -196576, 0, 0, -196575, 0, 0, -196574, 0, 0, -196573, 0, 0, -196572, 0, 0, -196571, 0, 0, -196570, 0, 0, -196569, 0, 0, -131040, 0, 0, -131032, 0, 0, -131031, 0, 0, -131030, 0, 0, -131029, 0, 0, -131028, 0, 0, -131027, 0, 0, -131026, 0, 0, -131025, 0, 0, -131024, 0, 0, -131023, 0, 0, -131022, 0, 0, -131021, 0, 0, -131020, 0, 0, -131019, 0, 0, -131018, 0, 0, -131017, 0, 0, -131016, 0, 0, -2, 0, 0, -1, 0, 0, -65536, 0, 0, -65535, 0, 0, -65534, 0, 0, -65533, 0, 0, -65532, 0, 0, -65531, 0, 0, -65530, 0, 0, -65529, 0, 0, -65528, 0, 0, -65527, 0, 0, -65526, 0, 0, -65525, 0, 0, -65524, 0, 0, -65523, 0, 0, -65522, 0, 0, -65521, 0, 0, -65520, 0, 0, -65519, 0, 0, -65518, 0, 0, -65517, 0, 0, -65516, 0, 0, -65515, 0, 0, -65514, 0, 0, -65513, 0, 0, -65512, 0, 0, -65511, 0, 0, -65510, 0, 0, -65509, 0, 0, -65508, 0, 0, -65507, 0, 0, -65506, 0, 0, -65505, 0, 0, -65504, 0, 0, -65480, 0, 0, -65479, 0, 0, -65478, 0, 0, 65534, 0, 0, 0, 0, 0, 32, 0, 0, 33, 0, 0, 34, 0, 0, 35, 0, 0, 36, 0, 0, 37, 0, 0, 38, 0, 0, 39, 0, 0, 40, 0, 0, 41, 0, 0, 42, 0, 0, 43, 0, 0, 44, 0, 0, 45, 0, 0, 46, 0, 0, 47, 0, 0, 48, 0, 0, 49, 0, 0, 50, 0, 0, 51, 0, 0, 52, 0, 0, 53, 0, 0, 54, 0, 0, 55, 0, 0, 56, 0, 0, 57, 0, 0, 58, 0, 0, 59, 0, 0, 131070, 0, 0, 65536, 0, 0, 65569, 0, 0, 65592, 0, 0, 65593, 0, 0, 65594, 0, 0, 196606, 0, 0, 131072, 0, 0, 131105, 0, 0, 131128, 0, 0, 131130, 0, 0, 262142, 0, 0, 196608, 0, 0, 196642, 0, 0, 196664, 0, 0, 196666, 0, 0, 327678, 0, 0, 262144, 0, 0, 262178, 0, 0, 262200, 0, 0, 262202, 0, 0, 393214, 0, 0, 327680, 0, 0, 327713, 0, 0, 327714, 0, 0, 327736, 0, 0, 327738, 0, 0, 327739, 0, 0, 458750, 0, 0, 393216, 0, 0, 393249, 0, 0, 393272, 0, 0, 393274, 0, 0, 393275, 0, 0, 524286, 0, 0, 458752, 0, 0, 458785, 0, 0, 458808, 0, 0, 458810, 0, 0, 458811, 0, 0, 589822, 0, 0, 524288, 0, 0, 524321, 0, 0, 524344, 0, 0, 524346, 0, 0, 524347, 0, 0, 655358, 0, 0, 589824, 0, 0, 589857, 0, 0, 589880, 0, 0, 589883, 0, 0, 720894, 0, 0, 655360, 0, 0, 655393, 0, 0, 655416, 0, 0, 655418, 0, 0, 655419, 0, 0, 786430, 0, 0, 720896, 0, 0, 720916, 0, 0, 720928, 0, 0, 720952, 0, 0, 720954, 0, 0, 851966, 0, 0, 786432, 0, 0, 786452, 0, 0, 786453, 0, 0, 786464, 0, 0, 786488, 0, 0, 786490, 0, 0, 917501, 0, 0, 917502, 0, 0, 851968, 0, 0, 851985, 0, 0, 851988, 0, 0, 851989, 0, 0, 852000, 0, 0, 852024, 0, 0, 852026, 0, 0, 983037, 0, 0, 983038, 0, 0, 917504, 0, 0, 917505, 0, 0, 917506, 0, 0, 917507, 0, 0, 917508, 0, 0, 917509, 0, 0, 917510, 0, 0, 917511, 0, 0, 917512, 0, 0, 917513, 0, 0, 917517, 0, 0, 917518, 0, 0, 917519, 0, 0, 917520, 0, 0, 917521, 0, 0, 917522, 0, 0, 917523, 0, 0, 917524, 0, 0, 917525, 0, 0, 917526, 0, 0, 917527, 0, 0, 917528, 0, 0, 917529, 0, 0, 917530, 0, 0, 917531, 0, 0, 917532, 0, 0, 917533, 0, 0, 917534, 0, 0, 917535, 0, 0, 917536, 0, 0, 917537, 0, 0, 917538, 0, 0, 917539, 0, 0, 917540, 0, 0, 917541, 0, 0, 917542, 0, 0, 917543, 0, 0, 917544, 0, 0, 917545, 0, 0, 917546, 0, 0, 917547, 0, 0, 917548, 0, 0, 917549, 0, 0, 917550, 0, 0, 917551, 0, 0, 917552, 0, 0, 917553, 0, 0, 917554, 0, 0, 917555, 0, 0, 917556, 0, 0, 917557, 0, 0, 917558, 0, 0, 917559, 0, 0, 917560, 0, 0, 917562, 0, 0, 1048574, 0, 0, 1048575, 0, 0, 983040, 0, 0, 983041, 0, 0, 983045, 0, 0, 983046, 0, 0, 983047, 0, 0, 983048, 0, 0, 983049, 0, 0, 983054, 0, 0, 983098, 0, 0, 1114110, 0, 0, 1048579, 0, 0, 1048580, 0, 0, 1048581, 0, 0, 1048585, 0, 0, 1048586, 0, 0, 1048591, 0, 0, 1048634, 0, 0, 1179646, 0, 0, 1179647, 0, 0, 1114114, 0, 0, 1114115, 0, 0, 1114122, 0, 0, 1114123, 0, 0, 1114127, 0, 0, 1114150, 0, 0, 1114151, 0, 0, 1114152, 0, 0, 1114153, 0, 0, 1114154, 0, 0, 1114155, 0, 0, 1114156, 0, 0, 1114157, 0, 0, 1114158, 0, 0, 1114163, 0, 0, 1114164, 0, 0, 1114165, 0, 0, 1114166, 0, 0, 1114167, 0, 0, 1114169, 0, 0, 1114170, 0, 0, 1245183, 0, 0, 1179648, 0, 0, 1179649, 0, 0, 1179650, 0, 0, 1179660, 0, 0, 1179661, 0, 0, 1179662, 0, 0, 1179663, 0, 0, 1179664, 0, 0, 1179665, 0, 0, 1179666, 0, 0, 1179667, 0, 0, 1179668, 0, 0, 1179669, 0, 0, 1179670, 0, 0, 1179671, 0, 0, 1179672, 0, 0, 1179673, 0, 0, 1179674, 0, 0, 1179675, 0, 0, 1179676, 0, 0, 1179677, 0, 0, 1179678, 0, 0, 1179679, 0, 0, 1179680, 0, 0, 1179683, 0, 0, 1179684, 0, 0, 1179685, 0, 0, 1179694, 0, 0, 1179695, 0, 0, 1179697, 0, 0, 1179698, 0, 0, 1179699, 0, 0, 1179704, 0, 0, 1179705, 0, 0, 1245184, 0, 0, 1245185, 0, 0, 1245216, 0, 0, 1245217, 0, 0, 1245218, 0, 0, 1245219, 0, 0, 1245231, 0, 0, 1245232, 0, 0, 1245233, 0, 0 )
[node name="Blobby" parent="." instance=ExtResource( 1 )]
position = Vector2( 131.28, 398.61 )
[node name="Player" parent="Blobby" index="0"]
position = Vector2( 0.279999, 0 )
scale = Vector2( 1, 1 )
[node name="RayCastDebugLines" parent="Blobby/CollisionShape2D/RayCaster" index="0"]
points = PoolVector2Array( -6.10207, -4.13742 )
[node name="Camera2D" parent="Blobby" index="2"]
visible = true
position = Vector2( 0, 0 )
zoom = Vector2( 1, 1.1 )
limit_top = -32
limit_right = 2826
limit_bottom = 10000
smoothing_enabled = false
[node name="StateLable" parent="Blobby" index="5"]
margin_left = -23.7895
margin_top = -37.0774
margin_right = 27.2105
margin_bottom = -23.0774
size_flags_horizontal = 0
size_flags_vertical = 0
custom_fonts/font = ExtResource( 7 )
text = "State"
[editable path="Blobby"]

View File

@ -17,10 +17,6 @@ __meta__ = {
[node name="background" type="TextureRect" parent="."] [node name="background" type="TextureRect" parent="."]
anchor_right = 1.0 anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
margin_left = -1.5874
margin_top = 3.96851
margin_right = -1.5874
margin_bottom = 3.96851
texture = ExtResource( 4 ) texture = ExtResource( 4 )
expand = true expand = true
stretch_mode = 2 stretch_mode = 2
@ -31,10 +27,10 @@ __meta__ = {
[node name="Titel" parent="." instance=ExtResource( 2 )] [node name="Titel" parent="." instance=ExtResource( 2 )]
anchor_left = 0.5 anchor_left = 0.5
anchor_right = 0.5 anchor_right = 0.5
margin_left = -162.5 margin_left = -165.023
margin_top = 104.0 margin_top = 60.2735
margin_right = 162.5 margin_right = 159.977
margin_bottom = 189.0 margin_bottom = 145.273
grow_horizontal = 2 grow_horizontal = 2
size_flags_horizontal = 2 size_flags_horizontal = 2
size_flags_vertical = 2 size_flags_vertical = 2
@ -55,7 +51,7 @@ __meta__ = {
[node name="PlayButton" parent="MenuContainer" instance=ExtResource( 3 )] [node name="PlayButton" parent="MenuContainer" instance=ExtResource( 3 )]
margin_right = 146.0 margin_right = 146.0
next_scene_path = "res://src/Levels/Level03.tscn" next_scene_path = "res://src/Levels/ApproxLevel.tscn"
[node name="QuitButton" parent="MenuContainer" instance=ExtResource( 1 )] [node name="QuitButton" parent="MenuContainer" instance=ExtResource( 1 )]
anchor_left = 0.0 anchor_left = 0.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/approx build block.png-49ad0e1ad31136d94884e26eab12689d.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://start-assets/approx build block.png"
dest_files=[ "res://.import/approx build block.png-49ad0e1ad31136d94884e26eab12689d.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=false
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 867 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/approx mannequin.png-e4ae377c4dcae927a088d7e01878ef98.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://start-assets/approx mannequin.png"
dest_files=[ "res://.import/approx mannequin.png-e4ae377c4dcae927a088d7e01878ef98.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=false
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

View File

@ -3,7 +3,5 @@
[ext_resource path="res://start-assets/montserrat_extrabold.otf" type="DynamicFontData" id=1] [ext_resource path="res://start-assets/montserrat_extrabold.otf" type="DynamicFontData" id=1]
[resource] [resource]
size = 36 size = 10
use_mipmaps = true
use_filter = true
font_data = ExtResource( 1 ) font_data = ExtResource( 1 )