1
문자가 타일에있는 곳으로 이동하려고합니다. 위아래로 움직이면 다음 타일로 이동하지만 그 방법을 모르겠습니다. 지금은 캐릭터가 픽셀 단위로 움직이는 위치를 설정했지만 1 칸씩 움직이기를 원합니다.개요 rpg 바둑판 식 배열
코드는 지금이 코드이며 작동하지만 픽셀 모드에서는 이상합니다. 나는 그것이 블록에 의하여 더 나을지도 모르지만 나는 어쨌든 그것을 바꿀지도 모른다 것을 나는 믿는다.
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;
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 == 1)
{
sprite->y = bush->y - spriteheight - 3;
bushcol = 0;
}
else
{
bushcol = 0;
sprite->y += 3;
}
}
if (osl_keys->held.up)
{
if (bushcol == 1)
{
sprite->y = bush->y + bushheight + 3;
bushcol = 0;
}
else
{
bushcol = 0;
sprite->y -= 3;
}
}
if (osl_keys->held.right)
{
if (bushcol == 1)
{
sprite->x = bush->x - spritewidth - 3;
bushcol = 0;
}
else
{
bushcol = 0;
sprite->x += 3;}
}
if (osl_keys->held.left)
{
if (bushcol == 1)
{
sprite->x = bush->x + bushwidth + 3;
bushcol = 0;
}
else
{
bushcol = 0;
sprite->x -= 3;
}
}
그리고 질문은 무엇입니까? –
더 많은 정보를 사용할 수 ... 부시 대통령과 스프라이트에 대한 수업을 보여줄 수 있습니까? 또한 타일은 픽셀 모음이므로 작은 눈금에서 작동하지 않으면 큰 눈금에서 작동하지 않을 수 있습니다. –