Tôi đang cố gắng để pha trộn alpha sprites và nguồn gốc với devkitPro (bao gồm libnds, libarm, vv).Alpha sprites sprites trong Nintendo DS Homebrew
Có ai biết cách thực hiện việc này không?
Tôi đang cố gắng để pha trộn alpha sprites và nguồn gốc với devkitPro (bao gồm libnds, libarm, vv).Alpha sprites sprites trong Nintendo DS Homebrew
Có ai biết cách thực hiện việc này không?
Là tài liệu tham khảo chung, tôi đã từng viết a small blog entry về vấn đề đó. Về cơ bản, trước tiên bạn phải xác định lớp nào được pha trộn alpha với các lớp khác. Afaik,
Đối với sprites, specifically, sau đó bạn có 3 cách để đạt được hòa trộn kênh alpha tùy thuộc vào những gì bạn cần và những gì bạn đang "sẵn sàng trả tiền" cho nó:
BLEND_SRC_SPRITE
trong REG_BLDCNT[_SUB]
... không hữu ích.ATTR0_TYPE_BLENDED
. Mức hoà trộn sẽ giống nhau đối với tất cả các sprites (và các lớp)ATTR2_PALETTE()
của sprites GBA là vô dụng và được tái chế thành ATTR2_ALPHA
.Đã là dài thời gian kể từ khi tôi thực hiện bất kỳ chương trình GBA nào, nhưng khi tôi nhớ lại, DS hỗ trợ hầu hết (nếu không phải tất cả) thứ mà GBA hỗ trợ. Liên kết This có phần về cách thực hiện trộn alpha cho GBA (phần 13.2). Tôi không biết nếu có một cách cụ thể DS để làm điều đó, nhưng điều này sẽ làm việc cho bạn.
Các sprites trên DS có thể được trộn alpha bằng cách sử dụng blend control registers. TONC cung cấp thông tin cần thiết cho việc pha trộn làm việc trên màn hình chính vì các vị trí đăng ký giống nhau. Pha trộn alpha trên màn hình phụ sử dụng quy trình tương tự với các thanh ghi khác nhau ở độ lệch 1000h.
Các thanh ghi bạn sẽ được xem xét là REG_BLDMOD
, REG_COLV
, và REG_COLY
cho màn hình chính và REG_BLDMOD_SUB
, REG_COLV_SUB
, và REG_COLY_SUB
cho màn hình phụ.
Cũng nên nhớ rằng bạn sẽ phải change the sprite's graphic mode để bật trộn cho mỗi sprite.
Quá GBA cụ thể – CVertex