0

このコードで上または左に移動できないのはなぜですか?

while( quit == false )
    { 


    apply_surface( 0,0, back,screen );
    apply_surface( playerx,playery,player, screen );


    SDL_Flip( screen );

        //While there's an event to handle
        while( SDL_PollEvent( &event ) )
        {
            if(event.type == SDL_KEYDOWN)
            {
                switch(event.key.keysym.sym)
                {
                case SDLK_UP:playery=playery-10;
                case SDLK_DOWN:playery=playery+10;
                case SDLK_LEFT:playerx=playerx-10;
                case SDLK_RIGHT:playerx=playerx+10;
                }
            }       
4

1 に答える 1

3

after eachでa breakafter eachを使用する必要があります。 それ以外の場合、実行は次の行に「フォールスルー」し、アクションをキャンセルする可能性があります (実際、キャンセルが発生するのは と です)。caseswitchSDLK_UPSDLK_LEFT

于 2012-05-14T15:33:01.077 に答える