Platform moves and pushes player. I don't know if it's right but it appears to be working.
This commit is contained in:
parent
7a2842b5ee
commit
6aed49924e
|
|
@ -13,9 +13,6 @@
|
||||||
[node name="Main" type="Node2D"]
|
[node name="Main" type="Node2D"]
|
||||||
|
|
||||||
[node name="Level" parent="." instance=ExtResource( 1 )]
|
[node name="Level" parent="." instance=ExtResource( 1 )]
|
||||||
__meta__ = {
|
|
||||||
"_edit_lock_": true
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource( 14 )]
|
[node name="Player" parent="." instance=ExtResource( 14 )]
|
||||||
position = Vector2( 859, 236 )
|
position = Vector2( 859, 236 )
|
||||||
|
|
|
||||||
|
|
@ -43,12 +43,14 @@ animations = [ {
|
||||||
extents = Vector2( 38, 15.5 )
|
extents = Vector2( 38, 15.5 )
|
||||||
|
|
||||||
[node name="PlatformVMove" instance=ExtResource( 1 )]
|
[node name="PlatformVMove" instance=ExtResource( 1 )]
|
||||||
collision_layer = 1
|
collision_layer = 0
|
||||||
collision_mask = 0
|
collision_mask = 2
|
||||||
|
motion/sync_to_physics = true
|
||||||
|
actor_type = "Object"
|
||||||
|
|
||||||
[node name="AnimatedSprite" parent="." index="0"]
|
[node name="AnimatedSprite" parent="." index="0"]
|
||||||
frames = SubResource( 8 )
|
frames = SubResource( 8 )
|
||||||
frame = 5
|
frame = 1
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_aseprite_wizard_config_": {
|
"_aseprite_wizard_config_": {
|
||||||
"layer": "",
|
"layer": "",
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,9 @@ export (NodePath) var idle_node
|
||||||
|
|
||||||
onready var idle_state: State = get_node(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:
|
func enter() -> void:
|
||||||
.enter()
|
.enter()
|
||||||
|
|
@ -26,6 +28,28 @@ func process_physics(delta: float) -> State:
|
||||||
flip_flop = true
|
flip_flop = true
|
||||||
return idle_state
|
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
|
return null
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
[gd_scene load_steps=20 format=2]
|
[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/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/Background/Background.png" type="Texture" id=3]
|
||||||
[ext_resource path="res://assets/High Forest/Assets/Tiles.png" type="Texture" id=4]
|
[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
|
4/z_index = 0
|
||||||
|
|
||||||
[node name="Level3" type="Node2D"]
|
[node name="Level3" type="Node2D"]
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
|
[node name="ParallaxBackground" type="ParallaxBackground" parent="."]
|
||||||
scroll_base_scale = Vector2( 0.4, 1 )
|
scroll_base_scale = Vector2( 0.4, 1 )
|
||||||
|
|
@ -283,12 +284,8 @@ __meta__ = {
|
||||||
"_edit_lock_": true
|
"_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 )]
|
[node name="EnemyC3" parent="." instance=ExtResource( 7 )]
|
||||||
position = Vector2( 796, 89 )
|
position = Vector2( 796, 89 )
|
||||||
|
|
||||||
|
[node name="PlayerStart" type="Position2D" parent="."]
|
||||||
|
position = Vector2( 89, 103 )
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ extends KinematicBody2D
|
||||||
#var velocity = Vector2(0,0)
|
#var velocity = Vector2(0,0)
|
||||||
#var direction = Vector2(-1,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 var sprite_facing_right: bool = true
|
||||||
export(Array, Resource) var SoundEffects
|
export(Array, Resource) var SoundEffects
|
||||||
export var debug_actor: bool = false
|
export var debug_actor: bool = false
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
[ext_resource path="res://src/playerD/states/climb.gd" type="Script" id=17]
|
[ext_resource path="res://src/playerD/states/climb.gd" type="Script" id=17]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=197]
|
[sub_resource type="RectangleShape2D" id=197]
|
||||||
extents = Vector2( 15, 18.5 )
|
extents = Vector2( 13, 18.5 )
|
||||||
|
|
||||||
[sub_resource type="StreamTexture" id=90]
|
[sub_resource type="StreamTexture" id=90]
|
||||||
load_path = "res://.import/Mega.png-93dfe0790902b932f7b46f7b23c5d4e7.stex"
|
load_path = "res://.import/Mega.png-93dfe0790902b932f7b46f7b23c5d4e7.stex"
|
||||||
|
|
|
||||||
|
|
@ -471,5 +471,8 @@ func move_actor_as_desired(delta: float, x_move_direction_override: float = 0):
|
||||||
#print(speed_multiplier)
|
#print(speed_multiplier)
|
||||||
# move_component.velocity.x = move_component.desired_movement_vector.x * _move_speed
|
# move_component.velocity.x = move_component.desired_movement_vector.x * _move_speed
|
||||||
move_component.velocity.x = move_direction * new_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)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user