如何从地图创建键盘监听器?

时间:2016-02-19 08:37:59

标签: c++ keyboard game-development

我有一项任务是在里面创建一个包含键值和函数的地图。我设法做到了。现在我需要创建一个循环,我需要通过向上,向下,向左,向右键盘按钮调用不同的打印功能(例如,我按下,功能打印“向上”)。知道怎么样?我的导师告诉我,这是理解功能对象用法的一种做法。这是我现在的计划:

#include <functional>
#include <iostream>
#include <string.h>
#include <map>



using namespace std;


void up (){

    cout<<"UP";
}

void down (){

    cout<<"DOWN";
}

void left (){

    cout<<"LEFT";
}
void right (){

    cout<<"RIGHT";
}


int main (){

   typedef map<int, void (*)()> mapaF;

    mapaF Kretnje;

    Kretnje.insert(pair<int,void (*)() >(1, up));
    Kretnje.insert(pair<int, void (*)()>(2, down));
    Kretnje.insert(pair<int, void (*)()>(3, left));
    Kretnje.insert(pair<int, void (*)()>(4, right));

    for(auto a: Kretnje){
        cout<<"Kljuc: "<<a.first<<" Funkcija: ";
         a.second();
         cout<<endl;

    }




    return 0;
}

0 个答案:

没有答案