GBA ASM - День 15: Прокрутка бэкграунда — Архив WASM.RU
Ок, теперь перейдём к прокрутке бэкграунда. Вы можете удивиться, почему я сразу не поместил её в День 14. Причиной это является то, что наполовину забыл об этом, наполовину поленился (родственная душа - прим. пер.). Так что вот так.
Как?
Для текстовых бэкграундов, которые мы не обсуждали, вам нужно просто поместить значение, на которое вы хотите прокручивать в REG_BGxHOFS (горизонтальная) и REG_BGxVOFS (вертикальная) (x - номер бэкграунда).
Для вращающихся бэкграундов регистры REG_BGnX и REG_BGnY (n - номер бэкграунда) - это те, с которыми мы должны иметь дело. Так как они оба 32-х битные (в отличии 2, упомянутых в предыдущем параграфе, которые 16-ти битные), мы можем установить каждый из них отдельно.
Просто поместите значения в регистры и вуаля! Бэкграунд прокручивается!
Пример:
Код (Text):
ldr r0,=REG_BG2X ldr r1,=1000 ; Я не уверен, на сколько это его прокрутит. str r1,[r0] ldr r3,=REG_BG2Y ldr r1,=1000 str r1,[r3]Просто, не правда ли?
Обзор этого дня
Надеюсь, вам понравится прокручивать бэкграунды! © Mike H, пер. Aquila
GBA ASM - День 15: Прокрутка бэкграунда
Дата публикации 10 сен 2006