@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