Ну либо у вас полноценная физика и сила трения сделает всё сама. Либо вы реализуете механизм "примагничивания" и всё что связано так с полом, пол двигает за собой.
Если вы собрались программировать, то нужно включать свою логику.
Вот вы говорите у вас спавн работает одни раз. Значит очевидно что в ваш IF выполнение кода не заходит. Следовательно проблема в условие. А поэтому надо пойти и проверить, чему же оно на самом деле равняется. Думаю это сразу натолкнёт на мысли, где у вас ошибка.
Ну т.е. по сути игрок видит только числа от 0 до 1000, и жалуешься что long не хватает, а тут 10 бит за глаза.
Но если вы так за свой код переживаете, используйте BigInteger
Какой код написал, такой результат и получил, чему удивляться то.
В нормальной реализации, ты должен отождествлять каждый палец на карте и увеличивать карту и двигать её так, чтобы под пальцами оказывались те же самые точки.
Никто за тебя не напишет конкретное решение по тебя, это тебе не фриланс биржа.
Раз ты пишешь, что это что-то близкое к RAW то и копай в эту сторону. Кодировка в LoadImageRawData такая же, какую текстуры ты объявил.
Задачка 5 класс.
Дано: нужно переместить объект из точки А в точку Б за 1 секунду.
Вопрос: на сколько объект переместиться за время, которое прошло с предыдущего кадра?
Не сразу его телепортируем в Б, а по чуть чуть, с каждым кадром.