• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Unity - Brak Odpowiedzi

Object Storage Arubacloud
0 głosów
243 wizyt
pytanie zadane 6 sierpnia 2017 w OpenGL, Unity przez Stami Gaduła (3,790 p.)

Witam. Mam problem, jak uruchamiam aplikacje w unity to przy wykonywaniu pętli unity wyświetla brak odpowiedzi:

for (float i = PositionX; i != 4.8f; i += 0.1f)
            {
                GameObject.Find("Message").transform.localPosition = new Vector3(i, GameObject.Find("Message").transform.localPosition.y);
            }

Jak zaradzić na ten błąd? Proszę o pomoc.

Z góry dziękuje

komentarz 6 sierpnia 2017 przez PoetaKodu Stary wyjadacz (10,990 p.)
Jaką wartość ma PositionX przed wykonaniem pętli.
komentarz 6 sierpnia 2017 przez Stami Gaduła (3,790 p.)
Jak dochodzi do pętli to 13
komentarz 6 sierpnia 2017 przez PoetaKodu Stary wyjadacz (10,990 p.)
No i masz odpowiedź. Jak chcesz zwiększać wartość o 0.1f z początkowej wartości 13 tak, żeby doszła do wartości 4.8f, no pomyśl :)
komentarz 6 sierpnia 2017 przez bear Użytkownik (720 p.)
Co to w ogóle znaczy "brak odpowiedzi"?
komentarz 6 sierpnia 2017 przez PoetaKodu Stary wyjadacz (10,990 p.)
Brak odpowiedzi oznacza brak reakcji na wysłane wiadomości, które np. mogą informować okienko o tym, że myszka została przesunięta itd. Tak się dzieje właśnie w przypadku nieskończonych pętli - program nie ma możliwości obsłużyć zdarzeń okna.
komentarz 6 sierpnia 2017 przez bear Użytkownik (720 p.)
Jeśli wartość początkowa to faktycznie 13, to masz nieskończoną pętlę z Twoim operatorem. Dodawanie 0.1 do 13 (13.1, 13.2, 13.3, ...) nigdy nie sprawi, że liczba w tej sekwencji przestanie być różna od 4.8. Z moim operatorem zaś nie powinna się nigdy wykonać, bo już na starcie 13 > 4.8. Jednak z operatorami nierówności nie możesz napotkać nieskończonej pętli, jeśli nie zmieniasz wartości zmiennej licznika wewnątrz ciała pętli (a nie robisz tego, prawda?).

1 odpowiedź

0 głosów
odpowiedź 6 sierpnia 2017 przez bear Użytkownik (720 p.)
edycja 6 sierpnia 2017 przez bear
Nie znam C#, ale nie powinno się w pętlach czekać, aż wartość zmiennoprzecinkowa osiągnie daną wielkość. To się może nigdy nie wydarzyć, bo liczby zmiennoprzecinkowe są często zapisywane jako wartość bardzo zbliżona, ale nie do końca równa. Spróbuj zamienić operator != na i <= 4.8f.
komentarz 6 sierpnia 2017 przez Stami Gaduła (3,790 p.)
Niestety, nie pomogło :(

Podobne pytania

0 głosów
1 odpowiedź 311 wizyt
pytanie zadane 21 kwietnia 2016 w Systemy operacyjne, programy przez Patryk Krajewski Nałogowiec (26,170 p.)
0 głosów
1 odpowiedź 1,266 wizyt
pytanie zadane 10 listopada 2017 w Offtop przez niezalogowany
0 głosów
0 odpowiedzi 201 wizyt
pytanie zadane 12 marca 2023 w OpenGL, Unity przez MichaelM Bywalec (2,520 p.)

92,568 zapytań

141,420 odpowiedzi

319,617 komentarzy

61,953 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...