Estou tentando obter algo como a imagem abaixo. Como você pode ver, há uma rodovia e, dentro dela, alguns objetos se movem (milissegundos). Eu acho que o comportamento da rua é como um oleoduto. Quando a rodovia carrega um objeto, ela aparece no início e ela se move pela rodovia até chegar ao outro extremo da rodovia.
Meu principal problema é: como posso mover vários objetos apenas dentro da estrada?
fonte
Você precisa de uma lista de pontos e uma lista de balões
fonte
Se você tem uma estrada composta de ladrilhos com um único caminho ("pipeline" como você chamou), não precisa de boids, evasão, IA ou realmente qualquer coisa super especial. Basta fazer com que cada balão se mova na direção natural do ladrilho da estrada. Por exemplo, dado um ladrilho inicial com apenas um ladrilho que não é areia para tocar, você pode descobrir em que direção se mover - é a direção que "não está aqui, não onde eu estava, e não areia". Como sua estrada possui apenas duas direções possíveis de fluxo, uma vez que a direção inicial e o ladrilho sejam estabelecidos, o algoritmo resolverá o problema.
Os balões parecerão seguir um ao outro simplesmente porque não há outro lugar para ir. Se todos eles se moverem a uma velocidade constante, nenhuma colisão será possível. Mesmo que eles não se movam a uma velocidade constante, o "não aqui, não onde eu estava, e não areia" pode ter "e garantir que haja espaço suficiente para mim" anexado.
Você pode generalizar um pouco e usar a imagem do bloco como um método de extrair a direção. Por exemplo, uma faixa de estrada em forma de L significa "se você estiver indo para o sul, depois vire para o leste" ou "se você estiver indo para o oeste, vire para o norte".
Este sistema falha quando você toma decisões, ou seja, mais do que um único caminho que pode ser percorrido, mas a partir da captura de tela e da descrição do problema, isso não parece ser um problema. Se for um requisito para a sua aplicação, invista definitivamente em uma abordagem mais centrada na IA.
fonte