added doublejump:
This commit is contained in:
parent
28319efe0d
commit
457333f2b2
3 changed files with 142 additions and 16 deletions
|
@ -1,5 +1,6 @@
|
|||
extends KinematicBody2D
|
||||
|
||||
##CLEAN UP CODE LATER
|
||||
##Children
|
||||
onready var sprite = $Sprite
|
||||
onready var climb_ray = $ClimbRay
|
||||
|
@ -17,7 +18,8 @@ var gravity = 12
|
|||
var jump_pressure = 0
|
||||
var jump_force = 150
|
||||
var current_ladder = null
|
||||
##Attacking
|
||||
var can_doublejump = true
|
||||
var doublejump_force = 120
|
||||
|
||||
|
||||
|
||||
|
@ -77,6 +79,7 @@ func _process_walk():
|
|||
|
||||
func _process_idle_walk():
|
||||
velocity.y = 0
|
||||
can_doublejump = true
|
||||
#Goto Fall
|
||||
if !is_on_floor(): current_state = State.FALL
|
||||
#Goto Jump
|
||||
|
@ -90,6 +93,7 @@ func _process_idle_walk():
|
|||
func _process_jump():
|
||||
jump_pressure += 1
|
||||
move(walk_speed,0,true)
|
||||
check_double_jump()
|
||||
#Pressure sensitive jump
|
||||
if jump_pressure == 15 or Input.is_action_just_released("jump"):
|
||||
velocity.y = -jump_force / 4
|
||||
|
@ -97,7 +101,8 @@ func _process_jump():
|
|||
current_state = State.FALL
|
||||
|
||||
func _process_fall():
|
||||
anims.play("jump")
|
||||
if anims.get_current_animation() != "doublejump": anims.play("jump")
|
||||
check_double_jump()
|
||||
#anims.play("jump")
|
||||
move(walk_speed,0,true)
|
||||
#Return to idle
|
||||
|
@ -139,7 +144,7 @@ func _process_sword():
|
|||
|
||||
|
||||
func check_jump():
|
||||
if Input.is_action_just_pressed("jump") && !Input.is_action_pressed("ui_down"):
|
||||
if Input.is_action_just_pressed("jump"):
|
||||
#Detach ladder
|
||||
if current_state == State.CLIMB:
|
||||
Game.ac_climb.set_stream(null)
|
||||
|
@ -154,6 +159,11 @@ func check_jump():
|
|||
velocity.y = -jump_force
|
||||
move(walk_speed,0,true)
|
||||
|
||||
func check_double_jump():
|
||||
if Input.is_action_just_pressed("jump") && can_doublejump:
|
||||
can_doublejump = false
|
||||
velocity.y = -doublejump_force
|
||||
anims.play("doublejump")
|
||||
|
||||
func move(hsp,vsp,flip:bool):
|
||||
velocity.x = hsp * axis.x
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=43 format=2]
|
||||
[gd_scene load_steps=44 format=2]
|
||||
|
||||
[ext_resource path="res://objects/player/player.gd" type="Script" id=1]
|
||||
[ext_resource path="res://graphics/player/sg_walk.png" type="Texture" id=2]
|
||||
|
@ -200,6 +200,84 @@ tracks/3/keys = {
|
|||
"update": 1,
|
||||
"values": [ null ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Sprite:rotation_degrees")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=35]
|
||||
resource_name = "doublejump"
|
||||
length = 0.3
|
||||
loop = true
|
||||
step = 0.038
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:region_rect")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ Rect2( 0, 0, 20, 20 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Sprite:texture")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ ExtResource( 7 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("SwordArea/SwordHitBox:disabled")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ true ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("SwordSprite:texture")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ null ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Sprite:rotation_degrees")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0, 0.038, 0.076, 0.114, 0.152, 0.19, 0.228, 0.266, 0.3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 0.0, 45.0, 90.0, 135.0, 180.0, 225.0, 270.0, 315.0, 360.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=30]
|
||||
resource_name = "idle"
|
||||
|
@ -254,6 +332,18 @@ tracks/3/keys = {
|
|||
"update": 1,
|
||||
"values": [ null ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Sprite:rotation_degrees")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=31]
|
||||
resource_name = "jump"
|
||||
|
@ -308,6 +398,18 @@ tracks/3/keys = {
|
|||
"update": 1,
|
||||
"values": [ null ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Sprite:rotation_degrees")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=32]
|
||||
resource_name = "stab"
|
||||
|
@ -373,6 +475,18 @@ tracks/4/keys = {
|
|||
"update": 1,
|
||||
"values": [ Rect2( 0, 0, 32, 32 ), Rect2( 32, 0, 32, 32 ) ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("Sprite:rotation_degrees")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=33]
|
||||
resource_name = "walk"
|
||||
|
@ -426,6 +540,18 @@ tracks/3/keys = {
|
|||
"update": 1,
|
||||
"values": [ null ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Sprite:rotation_degrees")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0 ]
|
||||
}
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=34]
|
||||
extents = Vector2( 6, 7 )
|
||||
|
@ -483,6 +609,7 @@ collide_with_bodies = false
|
|||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/climb = SubResource( 29 )
|
||||
anims/doublejump = SubResource( 35 )
|
||||
anims/idle = SubResource( 30 )
|
||||
anims/jump = SubResource( 31 )
|
||||
anims/stab = SubResource( 32 )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue