Strona 1 z 1

Poruszanie punktem w układzie współrzędnych

Napisane: wtorek, 15 stycznia 2013, 20:05
przez abuc
Hej

Poruszam punktem po układzie współrzędnych. Pozycja wyjściowa tego punktu to 0,0. Mam zamiar poruszać punktem w lewo i prawo w, powiedzmy sobie, pewnym pudełku czyli punkt ten będzie miał ograniczenia.

Chodzi o to, że ruszam tym punktem w lewo i po osiągnięciu na osi x wartości np. -10 chce aby punkt zaczął ruszać się w prawo. Później osiągając wartość np. +10 chce aby znowu zaczął ruszać się w lewo. Kombinuje z warunkami typu if, kombinuje z pętlami ale chyba mam jakieś problemy z logicznym myśleniem.

wklejam moje wypociny, które i tak nie działają ale może komuś pomogą w lepszym zobrazowaniu problemu. Pomijam nazwy zmiennych itd. Pytam tylko czy ktoś wie jak to logicznie skleić?

Code: Zaznacz cały

if(pozycja.punkt >= -10)
{
   ruszajWLewo;
}

if(pozycja.punkt <= 10)
{
   ruszajWPrawo;
}
Jeśli chodzi o if to nie działa to z tego względu, ze w pewnym momencie dochodzi do tego, że 2 warunki chcą się wykonywać jednocześnie

Code: Zaznacz cały

while(pozycja.punkt >=-10)
{
   ruszajWLewo;
}

while(pozycja.punkt <= 10)
{
   ruszajWPrawo;
}

Z while jest ten sam problem. Próbowałem jeszcze do while.

Chodzi o to, że funkcje te znajdują sie w klasie Update, dzięki której widzę ruchy w czasie rzeczywistym - "animacje".

Zastanawiam się czy jest jakiś sposób na to, żeby po osiągnieciu celu przez jedna funkcje if, która doprowadza punkt do pozycji -10 na osi x po prostu ją wyłączyć, żeby nie kolidowała z kolejna funkcja, która prowadzi punkt do pozycji 10 i tak na zmiane. Czyli włączyć jedna, wyłączyć druga.

Re: Poruszanie punktem w układzie współrzędnych

Napisane: wtorek, 15 stycznia 2013, 20:20
przez Morfidon
Coś takiego masz rozwiązane w kursie java aspekty zaawansowane - animacja kropelki. Co prawda nie ten język, ale podobne zagadnienie. Musisz stworzyć co najmniej 4 warunki dla wszystkich ścian tzn. test dla maxX, maxY, minX, minY.

Re: Poruszanie punktem w układzie współrzędnych

Napisane: wtorek, 15 stycznia 2013, 20:28
przez abuc
Ok, dzięki za szybką odpowiedź ale zaznaczę jeszczę, że to pudełko rusza sie w osi Y w górę czyli wartości dla Y rosną. Czy cały czas mogę spodziewać sie rozwiązania w wyżej podanej lekcji?

Re: Poruszanie punktem w układzie współrzędnych

Napisane: wtorek, 15 stycznia 2013, 22:17
przez abuc
Post pod postem ale muszę się pochwalić rozwiązaniem, które podsunął mi jeden z kolegów innego forum.

Chodziło o proste zastosowanie zmiennej "bool", do której na początku przypisujemy true. Jeśli wartość jest true to ruszamy obiektem tak długo aż osiągnie daną wartość. Przy osiągnięciu tej wartości zmieniamy wartosc zmiennej bool na false. Ruszamy obiektem w drugą stronę tak długo aż obiekt osiągnie pewne miejsce na osi x i następnie zmieniamy wartość zmiennej bool z powrotem na true. Tak to ładnie się wszystko zapętla :)


Pozdrawiam