Platform moves and pushes player. I don't know if it's right but it appears to be working.

This commit is contained in:
Nitsud Yarg 2024-07-12 15:28:48 -07:00
parent 7a2842b5ee
commit 6aed49924e
7 changed files with 43 additions and 20 deletions

View File

@ -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 )

View File

@ -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": "",

View File

@ -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

View File

@ -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 )

View File

@ -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

View File

@ -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"

View File

@ -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)