Zabawa z SKSprites w IOS SpriteKit, a ja zasadniczo chcę mieć duszka losowo przesuwać pewien kierunek na określoną odległość, a następnie wybrać nowy losowy kierunek i odległość. Wystarczy, że stworzysz metodę, która generuje losowe liczby, a następnie tworzy animację, aw bloku kończącym animację ma ona wywołanie tej samej procedury.Jak poruszasz IOS SKSprite ze stałą prędkością?
To działa, ale powoduje również, że animacja nie porusza się z tą samą prędkością, ponieważ animacje są oparte na czasie trwania. Jeśli obiekt musi się poruszać 100, porusza się o 1/2 prędkości, którą porusza się, jeśli następny losowy mówi, żeby przesunąć 200 ... Więc jak do cholery mam to przenieść ze stałą prędkością?
powinien zamieścić kod, którego używasz do określenia (i animacji) do nowej pozycji. Podstawową odpowiedzią na twoje pytanie jest to, że czas trwania animacji powinien być stałą wielokrotnością odległości między bieżącą a następną lokalizacją, ale łatwiej byłoby wyjaśnić to poprzez modyfikację twojego obecnego kodu. –
Zrobiłem to, i chociaż działa, wydaje się kludgy, myślę, że może być coś wzdłuż linii ruchu do Xy z prędkością, zamiast wszystko opiera się na czasie trwania. – user282172
Ten rodzaj modelu, w którym obliczany jest czas trwania na piksel przeniesiony, a następnie pomnożenie przez liczbę wymaganych ruchów, musi uwzględniać ruchy X i Y w tym samym czasie, ponieważ 1 piksel jest rzeczywiście przekątną większa odległość niż 1 piksel w lewo i w prawo, (pierwiastek kwadratowy z 2 na 1) przy założeniu, że same piksele są w rzeczywistości kwadratowe. – user282172