[英]JAVA: Using an array to define the X position and movement of an object on screen
我為一個簡單的游戲編寫的代碼有問題-我試圖使一個數組確定碰撞后對象在屏幕上的位置。
該代碼在沒有數組和循環的情況下運行良好,並且該循環或數組均未顯示語法錯誤。
誰能看到這個問題?
if (mBallSpeedY >0 || mBallSpeedY < 100) {
if (nMinDistanceBetweenBallAndSmiley >= distanceBetweenBallAndSmiley) {
float speedOfBall = (float) Math.sqrt(mBallSpeedX * mBallSpeedX + mBallSpeedY * mBallSpeedY);
mBallSpeedX = mBallX - mSmileyX;
mBallSpeedY = mBallY - mSmiley.getWidth() / 2;
float newSpeedOfReboundBall = (float) Math.sqrt(mBallSpeedX * mBallSpeedX + mBallSpeedY * mBallSpeedY);
mBallSpeedX = mBallSpeedX * speedOfBall / newSpeedOfReboundBall;
mBallSpeedY = mBallSpeedY * speedOfBall / newSpeedOfReboundBall;
updateScore(5);
int[] smileyXPositions = new int[15];
smileyXPositions[0] = (mCanvasWidth /10)*2;
smileyXPositions[1] = (mCanvasWidth /10)*3;
smileyXPositions[2] = (mCanvasWidth /10)*4;
smileyXPositions[3] = (mCanvasWidth /10)*5;
smileyXPositions[4] = (mCanvasWidth /10)*6;
smileyXPositions[5] = (mCanvasWidth /10)*7;
smileyXPositions[6] = (mCanvasWidth /10)*8;
smileyXPositions[7] = (mCanvasWidth /10)*9;
smileyXPositions[8] = (mCanvasWidth /10)*8;
smileyXPositions[9] = (mCanvasWidth /10)*7;
smileyXPositions[10] = (mCanvasWidth /10)*6;
smileyXPositions[11] = (mCanvasWidth /10)*5;
smileyXPositions[12] = (mCanvasWidth /10)*4;
smileyXPositions[13] = (mCanvasWidth /10)*3;
smileyXPositions[14] = (mCanvasWidth /10)*2;
smileyXPositions[15] = mCanvasWidth /10;
mSmileyX = smileyXPositions[0];
for (int i = 0; i < smileyXPositions.length; i++)
{
if(smileyXPositions[i]>15)
{
smileyXPositions[15] = smileyXPositions[i];
}
else if(smileyXPositions[i]<0)
{
smileyXPositions[0] = smileyXPositions[i];
}
}
}
(我是一個初學者,所以我認為這是基本的東西)?
如果數組的索引應為0到15,則需要一個包含16個條目的數組:
int[] smileyXPositions = new int[16];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.