@retronav, post #1
srodekPostaciX = pozycjaPostaciX + szerPostaci/2; rodzajKafla = kafle[srodekPostaciX / 16][(pozycjaPostaciY-1) / 16]; wysokoscPaska = paskiDanych[rodzajKafla][srodekPostaciX & 15]; dopuszczalnyY = kafelY*16 + wysokoscPaska; pozycjaPostaciY = max(pozycjaPostaciY, dopuszczalnyY);
@teh_KaiN, post #3
A jak masz bitmapowe tło, to masz przekichane. ;)
@Hexmage960, post #4
@retronav, post #6
@retronav, post #6
#define JUMP_SPEED (-12) #define DOUBLE_JUMP_SPEED (-9) #define MAX_JUMPS (2) // Jump process if (jumpPressed && !vilqSlide && jumpCount < MAX_JUMPS) { if (jumpCount == 0 && vilqSpeedY == 0) { SND_startPlayPCM_XGM(SFX_JUMP_SINGLE, 1, SOUND_PCM_CH4); vilqSpeedY = JUMP_SPEED; ++jumpCount; } else { SND_startPlayPCM_XGM(SFX_JUMP_DOUBLE, 1, SOUND_PCM_CH4); vilqSpeedY = DOUBLE_JUMP_SPEED; if (jumpCount == 0) { ++jumpCount; } ++jumpCount; } jumpPressed = 0; } // Y speed - gravity if (vilqSpeedY < 5) ++vilqSpeedY; // Y movement if (vilqY < -vilqSpeedY) vilqY = 0; else if (vilqY >= 224) { dead = DEAD_FALL; return; } else { vilqY += vilqSpeedY; }
if(...) { // Vilq dotyka podłogi vilqY = gornaKrawedzTileaPodPostacia; vilqSpeedY = 0; jumpCount = 0; }
@rePeter, post #11
@Hexmage960, post #12
@retronav, post #13
co jeśli mam bohatera jako sprite'a ale tło nie jest puste a ma jakieś kafelki (np cegły) wtedy kolizja bitmapy z duszkiem?
@retronav, post #13
@asman, post #15
Powiem tak, sprzętowa kolizja w Amidze jest dla mnie osobiście dziwna i ja jej nie polecam
@retronav, post #1
@asman, post #17
Ogólnie to niezła kobyła i z tego to można całkiem niezły artek napisać
@asman, post #17
@retronav, post #18
@retronav, post #20
@teh_KaiN, post #9
Potem gdzieś warunek na dotknięcie podłogi:
@retronav, post #26
@asman, post #27
@retronav, post #28