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

Все статьи

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

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

Как?

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

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

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

Пример:

	ldr r0,=REG_BG2X
	ldr r1,=1000  ; Я не уверен, на сколько это его прокрутит.
	str r1,[r0]

	ldr r3,=REG_BG2Y
	ldr r1,=1000
	str r1,[r3]

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

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

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

2002-2013 (c) wasm.ru