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="Level" parent="." instance=ExtResource( 1 )]
|
||||
__meta__ = {
|
||||
"_edit_lock_": true
|
||||
}
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 14 )]
|
||||
position = Vector2( 859, 236 )
|
||||
|
|
|
|||
|
|
@ -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": "",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 )
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user