Im использованием oslib с pspsdk набора инструментов и по какой-то причине этого не работает так, как я думаю, что это будетпроблемы столкновения с OSlib для PSP в C++
float spritewidth = sprite->stretchX;
float spriteheight = sprite->stretchY;
float bushwidth = bush->stretchX;
float bushheight = bush->stretchY;
//Basic border collision
if (sprite->x <= 0)
sprite->x = 0;
if (sprite->y <= 0)
sprite->y = 0;
if (sprite->x >= 455)
sprite->x = 455;
if (sprite->y >= 237)
sprite->y = 237;
//Bush
if ((sprite->x + spritewidth > bush->x) &&
(sprite->x < bush->x + bushwidth) &&
(sprite->y + spriteheight > bush->y) &&
(sprite->y < bush->y + bushheight))
{
bushcol = 1;
}
else
{
bushcol = 0;
}
if (osl_keys->held.down)
{
if (bushcol == 0)
{
sprite->y += 4;
sprite_position = DOWN;
SpriteAnimate();
}
else
{
sprite->y -= 6;
bushcol = 0;
}
}
if (osl_keys->held.up)
{
if (bushcol == 0)
{
sprite->y -= 4;
sprite_position = UP;
SpriteAnimate();
}
else
{
sprite->y += 6;
bushcol = 0;
}
}
if (osl_keys->held.right)
{
if (bushcol == 0)
{
sprite->x += 4;
sprite_position = RIGHT;
SpriteAnimate();
}
else
{
sprite->x -= 6;
bushcol = 0;
}
}
if (osl_keys->held.left)
{
if (bushcol == 0)
{
sprite->x -= 4;
sprite_position = LEFT;
SpriteAnimate();
}
else
{
sprite->x += 6;
bushcol = 0;
}
}
Спрайт начинает двигаться в противоположном направлении от куста когда это Я стараюсь отойти но падать бесплатно в конечном счете
любые лучшие методы столкновения или предложения
Я даже попытался это для каждой кнопки и до сих пор не повезло
if (osl_keys->held.down)
{
if ((sprite->x + spritewidth > bush->x) &&
(sprite->x < bush->x + bushwidth) &&
(sprite->y + spriteheight > bush->y) &&
(sprite->y < bush->y + bushheight))
{
sprite->y -= 4;
}
else
{
sprite->y += 2;
sprite_position = DOWN;
SpriteAnimate();
}
}
Для справок в будущем люди будут гораздо более охотно читать ваш образец кода, если он не является двойным интервалом, вы приложили немало усилий, чтобы не прокручивать их прямо, чтобы читать длинные строки, а стиль фигурной скобки и отступов последовательны. –