Вы можете скачать "3 в 1 SPRITE EDITOR". Настоящий крутой пакет редактора, в котором вы можете создавать свои собственные разноцветные спрайты или шрифты. Чтобы запустить редактор 3 в 1, введите SYS 50000 после его загрузки. Ok, давайте теперь поместим спрайт на экран и заставим его двигаться. Вот примерно то, что нам нужно сделать: -
10 LDA #147Итак, как это работает ? 10 и 20 очищает экран 30,40,50 придают рамке и фону черный цвет 60,70,80 включает все 8 спрайтов и включает многоцветные спрайты 90, 100 устанавливает многоцветный регистр спрайта от 0 до КРАСНОГО 110 120 устанавливает многоцветный регистр спрайта от 1 до ГОЛУБОЙ 130–180 устанавливает для каждого спрайта ПУРПУРНЫЙ цвет с помощью цикла сравнения и разветвления. 190 - 340 устанавливает указатель данных каждого спрайта. Спрайты здесь будут в банке 0, а значение 64 дает им место в памяти 1000 шестнадцатеричных или 4096 десятичных знаков. Здесь вы должны загрузить данные спрайта. Конечно, вы бы изменили цвета выше, чтобы они соответствовали вашим спрайтам. Формула для расчета того, где находятся ваши данные спрайта, показана здесь:- LOCATION = (BANK * 16384) + (SPRITE POINTER VALUE * 64)Итак, для нашего случая имеем :- LOCATION = ( 0 * 16384) + (64 * 64)Следовательно LOCATION = 4096 Decimal (1000 Hex)Таким образом, первый спрайт использует 64 в качестве своего значения, а следующий 65 и т. д., пока все спрайты не будут иметь местоположение указателя данных. 350 - 430 Устанавливает позицию Y на экране для каждого спрайта на 70. 440 - 590 Устанавливают позицию X на экране для каждого спрайта, начиная с 30 для спрайта 0 и заканчивая 240 для спрайта 7. 600 (К сожалению, я ошибся и пропустил эту строку, неважно). 610 - 770 Эти строки кода перемещают спрайты вниз по экрану. Код использует цикл временной задержки для замедления процесса, пример этого цикла показан ниже :- LDX #100За этим очень просто следить. Во-первых, устанавливаются регистры X и Y в 100, затем -1 из Y до Y = 0, затем -1 из регистра X, если X = 0, если нет, то переходите обратно к строке LDY #100 и начанаете заново. Эффект - задержка. Без этой задержки движение спрайта было бы слишком быстрым, чтобы его можно было увидеть. Вы можете изменить эти значения по своему усмотрению. Конечно, максимальное значение, которое вы можете иметь в каждом цикле, равно 255. Способ перемещения спрайта заключается в простом увеличении позиции Y для каждого спрайта на +1. (Вы увеличиваете, чтобы двигаться вниз, так как это способ настройки экрана, т.е. верхний левый угол - это позиция (0,0). Затем код проверяет позицию спрайта 0, если эта позиция равна 200, то программа проходит через ветку, чтобы переместить спрайт вверх по экрану. Если позиция равна 200, то программа переходит назад, чтобы продолжить перемещение спрайта вниз по экрану. 780 - 950 Точно так же, как движение вниз, за исключением того, что мы перемещаем спрайты вверх, увеличивая каждую позицию Y спрайта, и мы тестируем позицию на 70. Если не 70, перемещаем спрайт еще немного вверх, если position = 70, то на этот раз программа возвращается назад в строку с надписью DOWN, чтобы снова переместить спрайт вниз. Процесс будет продолжаться и перемещать спрайт вверх и вниз по экрану. Ну, я надеюсь, у вас
всё получилось. Это очень легко, честно. Код
выглядит длинным, но большая его часть предназначена для
фактической настройки цветов спрайтов, указателей и начальных положений экрана.
|