我正在用C ++(使用SDL)为大学项目构建游戏,我正在试图弄清楚当玩家做某事或某些时间过去时发生的事件的脚本等。
我有一个如何做的想法,但我不想反对它是如何做到的。
现在我有一个名为Obj的类,其中敌人,物品和玩家都是子类,我的想法就是这样添加3个公共变量:
class Obj{
int eventDeath,eventTouch,eventTalk,eventMeet;
}
然后我可以使用eventDeath = 1创建一个Obj,当它死亡时它将触发事件(1)。 event()将是这样的:
void event(int n){
switch(n){
case 1:
dialog("I'm dying");
break;
}
}
当玩家走过某个地方时,我还可以在特定的地方添加隐形的“Obj”。我不知道这是不是一个好主意,但我想不出其他方法去做。它是如何完成的?另外,我如何跟踪已经发生的事件?