Проблема заключается в том, что вы возвращаетесь в цикле столкновений, в результате чего обнаруживается только один объект для каждого движения. Это было бы прекрасно, если бы все движения были остановлены / отменены, но изменение только одного направления позволяет другому свободно перемещаться через что-либо еще.
Способ исправить это было бы удаление всех возвратов в этой функции. Кроме того, посмотрите, что видео « Bounding Box Collision Detection » исправляет ваш алгоритм, потому что в настоящее время он игнорирует ширину и высоту вашего собственного аватара.
Хорошо, что вы работаете с изоляцией пространства имен.
Разверните сетевую политику нового типа в ns1 с помощью ingress all. Вы можете просмотреть документацию, чтобы определить политику сетевого входа, чтобы разрешить весь входящий трафик
Аналогично для ns2, вы можете создать новый вид сетевой политики и развернуть конфигурацию в ns2, чтобы запретить весь вход Снова придут на помощь доктора, которые помогут вам с конструкцией yaml.
Это может выглядеть примерно так:
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
namespace: ns1
name: web-allow-all-namespaces
spec:
podSelector:
matchLabels:
app: app_name_ns1
ingress:
- from:
- namespaceSelector: {}
Это не будет ответ, который вы хотите, но я могу предоставить полезную информацию о функции для реализации ваших требований.
AFAIK Kubernetes
может определять network policy
для ограничения доступа к сети.
См. Объявление сетевой политики для получения более подробной информации о Network Policy
.
OpenShift
.