- 3
#programowanie #c #unity3d #unity mirki mam pytanie do waszych tęgich głów. Jestem poczatkujacym "programistą" i nie do końca jeszcze czuje sie komfortowo przy inkrementacji.
Generalnie robie sobie prostego #roguelike i spawnuje sobie potworki na mapie. Jak jest ich duzo (100+) to zaczyna mi przycinać przy chodzeniu. Chce napisać prosty algorytm optymalizacyjny który sprawdzi w jakiej odleglosci od gracza jest potwor i jesli ta odleglosc jest np ponizej 10 kratek, to dopiero go
Generalnie robie sobie prostego #roguelike i spawnuje sobie potworki na mapie. Jak jest ich duzo (100+) to zaczyna mi przycinać przy chodzeniu. Chce napisać prosty algorytm optymalizacyjny który sprawdzi w jakiej odleglosci od gracza jest potwor i jesli ta odleglosc jest np ponizej 10 kratek, to dopiero go
- 2
@psyhatog:
Tak na szybko
1) do posY podajesz pozycje Z ? Tak ma być?
2) Co robi ten if?
3) Co sprawdzasz tutaj?
Dalej jak dobrze rozumiem jest wybudzenie potworka
PosX i posY to są współrzędne postaci tak?
4)
Tak na szybko
1) do posY podajesz pozycje Z ? Tak ma być?
2) Co robi ten if?
if (mapGenerator.map[posX, posY] == 'm')
3) Co sprawdzasz tutaj?
if (Enemies[j].transform.position.x == posX &&
Enemies[j].transform.position.z == posY)
Dalej jak dobrze rozumiem jest wybudzenie potworka
PosX i posY to są współrzędne postaci tak?
4)
CheckMonsterDistance(posX - 1, posY, range - 1);
CheckMonsterDistance(posX + 1, posY, range - 1);
CheckMonsterDistance(posX, posY - 1, range
- 0
@psyhatog:`if (abs(Enemies[j].transform.position.x - posX)<=range && abs(Enemies[j].transform.position.z - posY<=range)) Enemies[j].GetComponent().awake = true' Nie jest zbyt efektywne, ale najprostsze rozwiązanie. Budzi stworka gdy ten jest w odległości mniejszej równej Range w osi X i Y
- 2
#pg #studbaza #studia #akademik