diff --git a/Main.tscn b/Main.tscn index ea55f3e..ab5731f 100644 --- a/Main.tscn +++ b/Main.tscn @@ -13,9 +13,6 @@ [node name="Main" type="Node2D"] [node name="Level" parent="." instance=ExtResource( 1 )] -__meta__ = { -"_edit_lock_": true -} [node name="Player" parent="." instance=ExtResource( 14 )] position = Vector2( 859, 236 ) diff --git a/src/Actors/Platform/PlatformVMove/PlatformVMove.tscn b/src/Actors/Platform/PlatformVMove/PlatformVMove.tscn index a4bfad5..37fc13e 100644 --- a/src/Actors/Platform/PlatformVMove/PlatformVMove.tscn +++ b/src/Actors/Platform/PlatformVMove/PlatformVMove.tscn @@ -43,12 +43,14 @@ animations = [ { extents = Vector2( 38, 15.5 ) [node name="PlatformVMove" instance=ExtResource( 1 )] -collision_layer = 1 -collision_mask = 0 +collision_layer = 0 +collision_mask = 2 +motion/sync_to_physics = true +actor_type = "Object" [node name="AnimatedSprite" parent="." index="0"] frames = SubResource( 8 ) -frame = 5 +frame = 1 __meta__ = { "_aseprite_wizard_config_": { "layer": "", diff --git a/src/Actors/Platform/PlatformVMove/states2/move.gd b/src/Actors/Platform/PlatformVMove/states2/move.gd index 4113da8..b7f2e3a 100644 --- a/src/Actors/Platform/PlatformVMove/states2/move.gd +++ b/src/Actors/Platform/PlatformVMove/states2/move.gd @@ -4,7 +4,9 @@ export (NodePath) var idle_node onready var idle_state: State = get_node(idle_node) -var flip_flop:bool = true +var flip_flop:bool = false +var recoil_velocity = Vector2.ZERO +var max_recoil:float = 8.0 func enter() -> void: .enter() @@ -26,6 +28,28 @@ func process_physics(delta: float) -> State: flip_flop = true return idle_state - move_component.velocity = parent.move_and_slide(move_component.velocity, Vector2(0, -1)) + #move_component.velocity = parent.move_and_slide(move_component.velocity, Vector2(0, -1)) + #var collision = parent.move_and_collide(move_component.velocity * delta, true, true, true) +# var collision = parent.move_and_collide(Vector2.UP, true, true, true) +# +# if collision and recoil_velocity == Vector2.ZERO: +# print("Get off me!") +# recoil_velocity.y += max_recoil * delta + + +# if collision and recoil_velocity == Vector2.ZERO: +# print("Get off me!") +# recoil_velocity.y += max_recoil * delta +# else: +# if recoil_velocity.y < max_recoil: +# recoil_velocity.y -= max_recoil * delta +# else: +# recoil_velocity.y += max_recoil * delta +# if recoil_velocity.y < 0: +# recoil_velocity = Vector2.ZERO + + #parent.global_translate(move_component.velocity * delta) + + parent.position += (move_component.velocity + recoil_velocity) * delta return null diff --git a/src/Levels/Level3.tscn b/src/Levels/Level3.tscn index f1d8704..f9d1a28 100644 --- a/src/Levels/Level3.tscn +++ b/src/Levels/Level3.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=20 format=2] -[ext_resource path="res://src/templates/Actor/ActorTemplate.tscn" type="PackedScene" id=1] +[ext_resource path="res://src/Level.gd" type="Script" id=1] [ext_resource path="res://assets/Tiles/Assets/Demo TileSet.tres" type="TileSet" id=2] [ext_resource path="res://assets/High Forest/Background/Background.png" type="Texture" id=3] [ext_resource path="res://assets/High Forest/Assets/Tiles.png" type="Texture" id=4] @@ -219,6 +219,7 @@ points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) 4/z_index = 0 [node name="Level3" type="Node2D"] +script = ExtResource( 1 ) [node name="ParallaxBackground" type="ParallaxBackground" parent="."] scroll_base_scale = Vector2( 0.4, 1 ) @@ -283,12 +284,8 @@ __meta__ = { "_edit_lock_": true } -[node name="ActorTemplate" parent="." instance=ExtResource( 1 )] -position = Vector2( 221, 135 ) -__meta__ = { -"_edit_lock_": true -} -actor_type = "NPC" - [node name="EnemyC3" parent="." instance=ExtResource( 7 )] position = Vector2( 796, 89 ) + +[node name="PlayerStart" type="Position2D" parent="."] +position = Vector2( 89, 103 ) diff --git a/src/actor.gd b/src/actor.gd index b0f5ee4..5e14cc1 100644 --- a/src/actor.gd +++ b/src/actor.gd @@ -4,7 +4,7 @@ extends KinematicBody2D #var velocity = Vector2(0,0) #var direction = Vector2(-1,0) -export(String, "Player", "Enemy", "NPC") var actor_type +export(String, "Player", "Enemy", "NPC", "Object") var actor_type #export var sprite_facing_right: bool = true export(Array, Resource) var SoundEffects export var debug_actor: bool = false diff --git a/src/playerD/Player.tscn b/src/playerD/Player.tscn index 3f1f5c8..ffe0c98 100644 --- a/src/playerD/Player.tscn +++ b/src/playerD/Player.tscn @@ -19,7 +19,7 @@ [ext_resource path="res://src/playerD/states/climb.gd" type="Script" id=17] [sub_resource type="RectangleShape2D" id=197] -extents = Vector2( 15, 18.5 ) +extents = Vector2( 13, 18.5 ) [sub_resource type="StreamTexture" id=90] load_path = "res://.import/Mega.png-93dfe0790902b932f7b46f7b23c5d4e7.stex" diff --git a/src/state_animated_actor.gd b/src/state_animated_actor.gd index e08ebbe..af4aa7e 100644 --- a/src/state_animated_actor.gd +++ b/src/state_animated_actor.gd @@ -471,5 +471,8 @@ func move_actor_as_desired(delta: float, x_move_direction_override: float = 0): #print(speed_multiplier) # move_component.velocity.x = move_component.desired_movement_vector.x * _move_speed move_component.velocity.x = move_direction * new_move_speed - move_component.velocity = parent.move_and_slide(move_component.velocity, Vector2(0, -1)) - + #move_component.velocity = parent.move_and_slide(move_component.velocity, Vector2.UP) + var snap = Vector2.DOWN * 8 + if move_component.velocity.y < -8: + snap = Vector2.ZERO + move_component.velocity = parent.move_and_slide_with_snap(move_component.velocity, snap , Vector2.UP, true)