0
好吧,所以我有一個遊戲,我剛開始,我有點卡在順利滾動。我有基本的滾動部分完成,但我的背景(網格)只有很抱歉的減法和加法在for循環的50Java平滑滾動(遊戲)
for (int x = (getPlayerX()/getTileSize()) - 6; x < (getPlayerX()/getTileSize()) + 9; x++)
{
for (int y = (getPlayerY()/getTileSize()) - 5; y < (getPlayerY()/getTileSize()) + 8; y++)
{
int xPos = ((x - (getPlayerX()/tileSize)) + (getScreenX()/tileSize) - 1) * tileSize;
int yPos = ((y - (getPlayerY()/tileSize)) + (getScreenY()/tileSize) - 1) * tileSize;
if (x > 0 && x < mapX && y > 0 && y < mapY)
{
if (getTiles()[x][y].tileID == 0)
{
g.drawRect(xPos, yPos, tileSize, tileSize);
}
if (getTiles()[x][y].tileID == 1)
{
g.fillRect(xPos, yPos, tileSize + 1, tileSize + 1);
}
}
}
}
跳一次,我讓他們建立這樣它將從1到顯示無論而不是0到任何 - 1
所以基本上我要重新繪製網格中的每個像素我動議,而不是每50認沽我不想每個像素遍歷屏幕
將後臺繪製到後臺緩衝區,並根據需要渲染後臺緩衝區,渲染速度會更快 – MadProgrammer
試圖讓移動的長層次對吧? –
我不知道'長平'是什麼意思,但它在x和y軸上移動。 致MadProgrammer:讓我解釋一下這個過程。它貫穿每個貼磚,左側是6個瓷磚,右側是9個,頂部是5個,底部是8個,瓷磚的大小是50px,所以每50xp只能繪製一個瓷磚...我需要繞過那。我不認爲後臺緩衝區將工作 – zfollette