GBA ASM - День 15: Прокрутка бэкграунда

Дата публикации 10 сен 2006

GBA ASM - День 15: Прокрутка бэкграунда — Архив WASM.RU

Ок, теперь перейдём к прокрутке бэкграунда. Вы можете удивиться, почему я сразу не поместил её в День 14. Причиной это является то, что наполовину забыл об этом, наполовину поленился (родственная душа - прим. пер.). Так что вот так.

Как?

Для текстовых бэкграундов, которые мы не обсуждали, вам нужно просто поместить значение, на которое вы хотите прокручивать в REG_BGxHOFS (горизонтальная) и REG_BGxVOFS (вертикальная) (x - номер бэкграунда).

Для вращающихся бэкграундов регистры REG_BGnX и REG_BGnY (n - номер бэкграунда) - это те, с которыми мы должны иметь дело. Так как они оба 32-х битные (в отличии 2, упомянутых в предыдущем параграфе, которые 16-ти битные), мы можем установить каждый из них отдельно.

Просто поместите значения в регистры и вуаля! Бэкграунд прокручивается!

Пример:

Код (Text):
  1.  
  2.     ldr r0,=REG_BG2X
  3.     ldr r1,=1000  ; Я не уверен, на сколько это его прокрутит.
  4.     str r1,[r0]
  5.  
  6.     ldr r3,=REG_BG2Y
  7.     ldr r1,=1000
  8.     str r1,[r3]

Просто, не правда ли?

Обзор этого дня

Надеюсь, вам понравится прокручивать бэкграунды! © Mike H, пер. Aquila


0 840
archive

archive
New Member

Регистрация:
27 фев 2017
Публикаций:
532