Xna/Monogame rectangle-egér érzékelés hiba
2015-11-06T22:19:17+01:00
2015-11-20T18:31:24+01:00
2022-08-18T10:10:34+02:00
shapeshifter
Üdv!

Röviden a probléma, Monogame 3.4-ben fejlesztek egy játékot, a játékban találhatók nyomógombok, amik rectangle "érzékeléssel" vannak ellátva. 

public Rectangle buttonCollisionArea(Vector2 buttonPosition) { Rectangle rec = new Rectangle((int)buttonPosition.X, (int)buttonPosition.Y, buttonSpriteHandler.getSpriteSize().X, buttonSpriteHandler.getSpriteSize().Y); return rec; } public bool buttonCollisionDetection(Rectangle rec, int mousePositionX, int mousePositionY) { return rec.Contains(mousePositionX, mousePositionY); }
Kb. ilyen megvalósítással, ami tökéletesen működik is.

De belefutottam egy nagyon zavaró hibába, mégpedig, ha a játék ablak magassága legalább akkora mint a képernyő mérete lecsúszik ez a terület (ahol érzékeli a kattintást a gomb) pár pixellel és elképzelésem sincs, hogy mi okozhatja ezt a hibát. Még az is feltűnt, hogy minél közelebb van a gomb a 0, 0 koordinátához, vagyis a bal felső sarokhoz annál kisebb az elcsúszás mértéke. Továbbá, hogy ilyenkor az ablak fejléc része miatt kicsit kilóg az alja a képernyőről és ennek talán lehet köze a hibához.
Sok dolgot kipróbáltam többek között azt is, hogy virtuális felbontást használok, de ez se segített.

A válaszokat előre is köszönöm!
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd