简体   繁体   中英

How to make monster move left then right continuously C# XNA

i'm making my first game on XNA for my class. I'm trying to make the monsters move left and right automatically. I have total 4 monsters for now. I'm trying to get them move left then right within the screen.

            //Monster movements
        for (int i = 0; i < numOfMonster; i++)
        {

            if (destinationMonster[i].X >= screenWidth - 60)
            {
                while(destinationMonster[i].X != -10)
                    moveLeft = true;
            }
            else
            {
                moveRight = true;
            }

            if (moveLeft)
            {
                int temp = destinationMonster[i].X;
                temp = destinationMonster[i].X - monsterSpeed;

                //This prevents the object passing the screen boundary
                if (!(temp < -10))
                {
                    destinationMonster[i].X = temp;
                }

                moveLeft = false;
            }

            if (moveRight)
            {
                int temp = destinationMonster[i].X;
                temp = destinationMonster[i].X + monsterSpeed;

                //This prevents the object passing the screen boundary
                if (!(temp > screenWidth - 50))
                {
                    destinationMonster[i].X = temp;
                }
                moveRight = false;
            }
        }

Your first problem is your while statement, once you enter it you are not going to exit because you are not changing your X value. If it were me I would have a bool array variable corresponding to each of your monsters. I would also change your conditional to trigger the change of the boolean value once the monster has reached the extents at either end. Something like this.

if (destinationMonster[i].X >= screenWidth - 60)
{
    moveRight[i] = false ;
}
else if (destinationMonster[i].X <= -10)
{
    moveRight[i] = true ;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM