Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA:使用数组定义屏幕上对象的X位置和移动_Java_Arrays_Loops - Fatal编程技术网

JAVA:使用数组定义屏幕上对象的X位置和移动

JAVA:使用数组定义屏幕上对象的X位置和移动,java,arrays,loops,Java,Arrays,Loops,我在为一个简单的游戏编写代码时遇到了一个问题——我试图让一个数组在碰撞后确定一个物体在屏幕上的位置 代码在没有数组和循环的情况下运行良好,并且循环或数组都没有显示语法错误 有人看到问题了吗 if (mBallSpeedY >0 || mBallSpeedY < 100) { if (nMinDistanceBetweenBallAndSmiley >= distanceBetweenBallAndSmiley) { float speedOfBall =

我在为一个简单的游戏编写代码时遇到了一个问题——我试图让一个数组在碰撞后确定一个物体在屏幕上的位置

代码在没有数组和循环的情况下运行良好,并且循环或数组都没有显示语法错误

有人看到问题了吗

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];
            }

    }

        }
if(mballspeeding>0 | | mballspeeding<100){
if(NmAllandSmiley之间的距离>=AllandSmiley之间的距离){
浮球速度=(浮球)数学.sqrt(mBallSpeedX*mBallSpeedX+mBallSpeedY*mBallSpeedY);
mBallSpeedX=mBallX-mSmileyX;
mBallSpeedY=mBallY-mSmiley.getWidth()/2;
float newSpeedOfReboundBall=(float)Math.sqrt(mBallSpeedX*mBallSpeedX+mBallSpeedY*mBallSpeedY);
mBallSpeedX=mBallSpeedX*球/新闻peedofball的速度;
mBallSpeedY=mBallSpeedY*speedOfBall/newspeedofreeboundball;
更新核心(5);
int[]smileyXPositions=新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;i15)
{
smileyXPositions[15]=smileyXPositions[i];
}

else if(smileyXPositions[i]如果数组的索引范围为0到15,则需要一个包含16个条目的数组:

int[] smileyXPositions = new int[16];

如果数组的索引范围为0到15,则需要一个包含16个条目的数组:

int[] smileyXPositions = new int[16];

请在问题中发布代码。请在问题中发布代码。线程“main”java.lang.ArrayIndexOutOfBoundsException:15 clearTest.main.main(main.java:23)
线程“main”java.lang.ArrayIndexOutOfBoundsException:15 clearTest.main.main(main.java:23)