簡體   English   中英

JAVA:使用數組定義對象在屏幕上的X位置和移動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM