Skip to content
Snippets Groups Projects
Select Git revision
  • a48ff9f805a70b902fafe25a1f0123c25f4bb963
  • master default protected
  • 7-funktion-um-zuruck-zum-menu-zu-kommen-fehlt
  • V1.0
4 results

Player.gd

Blame
  • Player.gd 1.62 KiB
    extends RigidBody2D
    signal hit
    
    # Declare member variables here. Examples:
    export var speed = 400 # (pixel/sec)
    export var is_player_one = true # Select player one or two
    var screen_size
    var player_size
    # Called when the node enters the scene tree for the first time.
    func _ready():
        screen_size = get_viewport_rect().size
        player_size =$CollisionShape2D.shape.extents
        if(is_player_one):
            $ColorRect.color=Color(0,0,0,1)
            speed = $"/root/GameSettings".player_one_speed
        else:
            speed = $"/root/GameSettings".player_two_speed
    
    
    
    # Called every frame. 'delta' is the elapsed time since the previous frame.
    #func _process(delta):
    func run(delta):
        var velocity = Vector2()  # The player's movement vector.
        if is_player_one:
            if Input.is_action_pressed("player_one_down"):
                velocity.y += 1
            if Input.is_action_pressed("player_one_up"):
                velocity.y -= 1
        else:
            
            if Input.is_action_pressed("player_two_down"):
                velocity.y += 1
            if Input.is_action_pressed("player_two_up"):
                velocity.y -= 1
                
        if velocity.length() > 0:
            velocity = velocity.normalized() * speed
    
        position += velocity * delta
        #position.x = clamp(position.x, 0, screen_size.x) # ändert sich nicht
        position.y = clamp(position.y, 0+player_size.y, screen_size.y-player_size.y)
    
    func get_shape():
        return $CollisionShape2D.shape.extents
    
    func _on_Player_body_entered(body):
        emit_signal("hit")
    
        
    func start(pos):
        position = pos
        show()
        $CollisionShape2D.disabled = false
    
    
    func set_pause(value):
        get_tree().paused=value