主页 > 编程 > c语言 >

超级玛丽移动和游戏背景层的关系 C语言描述

2019-07-22 11:54 阅读:73 来源:智宇SEO自媒体

  没错,智宇要挑战下,简单版的超级玛丽游戏制作。

  超级玛丽移动和游戏背景层的关系

  原理:游戏开始,玛丽移动,玛丽移动到屏幕一定位置后,玛丽停止移动,背景移动,当背景移动总距离达到规定游戏规定距离后(游戏快结束),玛丽恢复移动。

超级玛丽移动和游戏背景层的关系 C语言描述
C语言代码
//按下方向键右键
	if (GetAsyncKeyState(VK_RIGHT) < 0)
	{
		//玛丽精灵多图片切换,形成玛丽在跑动的效果
		g_pMarioSprite->Walk();
		//玛丽速度
		iMarioXVel = 4;
		iMarioYVel = 0;
		// 玛丽精灵矩形在屏幕中的位置
		RECT& rc = g_pMarioSprite->GetPosition();
		if (rc.right < g_pGame->GetWidth())
		{
			//玛丽精灵位置大于屏幕位置的60%
			if (rc.right > g_pGame->GetWidth() *0.6)
			{
				//玛丽停止移动
				iMarioXVel = 0;
				//背景层移动速度10
				g_pBackgroundLayer->SetSpeed(10);
				//背景层向左移动
				g_pBackgroundLayer->SetDirection(SD_LEFT);
				
				//背景层更新
				g_pBackgroundLayer->Update();
				//背景层停止移动
				g_pBackgroundLayer->SetSpeed(0);
				//背景层移动次数
				++BackgroundLayerMoveNum;
				//背景层移动最大距离
				if (BackgroundLayerMoveNum * 10 > 600)
				{
					//玛丽开始恢复移动
					iMarioXVel = 4;
				}
			}
		}
		//玛丽加上速度后的位置
		g_pMarioSprite->OffsetPosition(iMarioXVel, iMarioYVel);
		
	}



99%人还阅读了: