游戏制作指南 附件1(第一部分)

· · 个人记录

这里整理了一些常用的system、和windows.h里的东西 有些得加上#include<windows.h>

1.system("cls"); 清屏
2.system("start"); 建议和while(1)搭配起来用(启动cmd)
3.
void getZoomImage(PIMAGE pimg, const char* fileName, int width, int height){
    PIMAGE temp=newimage();
    getimage(temp,fileName);
    if(getwidth(pimg)!=width||getheight(pimg)!=height)resize(pimg,width,height);    
    putimage(pimg,0,0,width,height,temp,0,0,getwidth(temp),getheight(temp));
    delimage(temp);
}
图形库里面的图片大小调整
4.system("color 某些东西"); 调整控制台颜色
5.
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) 
判断按下哪个键
6.
#define random(a,b) (rand()%(b-a)+a)
a到b里的一个随机数
7.srand(time(NULL));
以时间为种子的随机数
8.
string getTime(){
    time_t timep;
    time (&timep);
    char tmp[64];
    strftime(tmp, sizeof(tmp), "%Y-%m-%d %H:%M:%S",localtime(&timep) );
    return tmp;
}
获得当前时间
9.
DWORD WINAPI xian(){}和CreateThread(NULL, 1,xian, NULL, 1, NULL); 多线程
10.system("start 某些东西"); 打开某些特定的东西
11.system("shutdown /s"); 关机
12.
void say(string a){ 
    for(int i=0;i<a.length();i++){
        cout<<a[i];
        Sleep(20);
    }
    printf("\n");
}
以一定顺序输出某些东西
13.
void Color(int a)
{
    if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
    if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
    if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
    if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
}
调整要输出字符的颜色
14.
void SetPos(int x,int y)
{
    COORD pos; pos.X=y,pos.Y=x;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
调整控制台输出位置
15.
void PlayMp3(){
    system("start BGM.wav");
    Sleep(1000);
    HWND hWnd=FindWindow(NULL, "BGM.wav");   
    ShowWindow(hWnd,SW_HIDE);
}
播放一个音乐,但需要和tasskill搭配使用
16. if(kbhit()) 判断是否按下任意键
17.
HWND hwnd=GetForegroundWindow();//使hwnd代表最前端的窗口
POINT p;
GetCursorPos(&p);
 if(p.x==i&&p.y==j){}
获得鼠标位置
18.用到了前面的keydown,中间是VK_LBUTTON 鼠标左键
19.
void colour(int colour){
    HANDLE hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hOutput,colour);
}
调整下一个字符更多颜色
20.ShowWindow(hwnd,SW_MAXIMIZE); 全屏

下一部分