Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extends KinematicBody2D
- var velocity = Vector2()
- var on_ground = false
- var is_dead = false
- const SPEED = 130
- const GRAVITY = 10
- const JUMP_POWER = -320
- const FLOOR = Vector2(0, -1)
- const FIREBALL = preload("res://Fireball.tscn")
- func _physics_process(delta):
- if is_dead == false:
- if Input.is_action_pressed("ui_right"):
- velocity.x = SPEED
- $AnimatedSprite.play("Run")
- $AnimatedSprite.flip_h = false
- if sign($Position2D.position.x) == -1:
- $Position2D.position.x *= -1
- elif Input.is_action_pressed("ui_left"):
- velocity.x = -SPEED
- $AnimatedSprite.play("Run")
- $AnimatedSprite.flip_h = true
- if sign($Position2D.position.x) == 1:
- $Position2D.position.x *= -1
- else:
- velocity.x = 0
- if on_ground == true:
- $AnimatedSprite.play("idle")
- if Input.is_action_pressed("ui_up"):
- if on_ground == true:
- velocity.y = JUMP_POWER
- on_ground = false
- if is_on_floor():
- on_ground = true
- else:
- on_ground = false
- if velocity.y < 0:
- $AnimatedSprite.play("Jump")
- else:
- $AnimatedSprite.play("Fall")
- if get_slide_count() > 0:
- for i in range(get_slide_count()):
- if "KinematicBody2D" in get_slide_collision(i).collider.name:
- dead()
- func dead():
- is_dead = true
- velocity = Vector2(0, 0)
- $AnimatedSprite.play("Dead")
- $CollisionShape2D.disabled = true
- $Timer.start()
- velocity.y += GRAVITY
- velocity = move_and_slide(velocity, FLOOR)
- if Input.is_action_just_pressed("ui_focus_next"):
- var fireball = FIREBALL.instance()
- if sign($Position2D.position.x) == 1:
- fireball.set_fireball_direction(1)
- else:
- fireball.set_fireball_direction(-1)
- get_parent().add_child(fireball)
- fireball.position = $Position2D.global_position
- func _on_Timer_timeout():
- get_tree().change_scene("res://TitleScreen.tscn")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement