1.效果图
2.视频教学
C/C++技术开发教程:C语言编写魂斗罗,教你如何在一个半小时内找到儿时的梦!
3.主要代码
#include "role.h"
#include "moveRole.h"
#include <conio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
int main()
{
IMAGE background;
mciSendString("open bkmusic.mp3 alias music", 0, 0, 0);
mciSendString("play music repeat", 0, 0, 0);
loadimage(&background, "background.jpg",810*2,224*2);
initgraph(810*2, 224 * 2);
Role* pRole = new Role(120-50, 140);
const char* bkIMGURL[2] = { "img\\move\\move_left.bmp","img\\move\\move_right.bmp " };
const char* mkIMGURL[2] = { "img\\move\\move_left_y.bmp","img\\move\\move_right_y.bmp " };
const char* bkMUIMGURL[2] = { "img\\moveUP\\move_left_up.bmp","img\\moveUP\\move_right_up.bmp " };
const char* mkMUIMGURL[2] = { "img\\moveUP\\move_left_up_y.bmp","img\\moveUP\\move_right_up_y.bmp " };
while (1)
{
BeginBatchDraw();
putimage(0, 0, &background);
pRole->playKey(new MoveRole(1, bkIMGURL, mkIMGURL), background);
if (_kbhit())
{
if (GetAsyncKeyState('A') || GetAsyncKeyState(VK_LEFT))
{
pRole->getFlag() = Role::left;
pRole->playKey(new MoveRole(5, bkIMGURL, mkIMGURL), background,1);
}
if (GetAsyncKeyState('D') || GetAsyncKeyState(VK_RIGHT))
{
pRole->getFlag() = Role::right;
pRole->playKey(new MoveRole(5, bkIMGURL, mkIMGURL), background,1);
}
if (GetAsyncKeyState('E'))
{
pRole->getFlag() = Role::right;
pRole->playKey(new MoveRole(3, bkMUIMGURL, mkMUIMGURL), background,1);
}
if (GetAsyncKeyState('Q'))
{
pRole->getFlag() = Role::left;
pRole->playKey(new MoveRole(3, bkMUIMGURL, mkMUIMGURL), background, 1);
}
}
Sleep(10);
EndBatchDraw();
}
while (1);
closegraph();
return 0;
}
4.完整代码素材获取,C/C++学习交流:https://jq.qq.com/?_wv=1027&k=NFQT4Uwthttps://jq.qq.com/?_wv=1027&k=NFQT4Uwt