Example #1
0
    // handle the collision of the tank //

    public override void _on_collision(PhysicsNode _other)
    {
        base._on_collision(_other);
        //push apart
        var collision_direction = _other.get_global_position() - get_global_position();

        collision_direction.Normalize();
        Vector2 new_pos = collision_direction * delta;

        set_position(get_local_position() - new_pos);
        Console.WriteLine("Tank collision result: ------------");
        Console.WriteLine(new_pos);
        Console.WriteLine(get_local_position() - new_pos);

        speed = -speed;
        return;
    }