繁体   English   中英

SDL x和y运动

[英]SDL x and y movement

为什么这段代码不能让我向上或向左移动?

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

您需要在每种caseswitch之后使用一个break ,否则执行会“下降”到下一行,从而有可能取消您的操作(实际上SDLK_UPSDLK_LEFT是取消操作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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