私は大学のプロジェクトのために C++ (SDL を使用) でゲームを構築しています。プレイヤーが何かをしたり、時間が経過したりしたときに発生するイベントをスクリプト化する方法を見つけようとしています。
私はそれを行う方法のアイデアを持っていますが、それが一般的に行われている方法に反対したくありません.
現在、敵、アイテム、プレイヤーが子クラスである Obj というクラスがあります。私の考えは、次のように 3 つのパブリック変数を追加することです。
class Obj{
int eventDeath,eventTouch,eventTalk,eventMeet;
}
次に、eventDeath=1 で Obj を作成し、それが終了すると event(1) を発生させます。event() は次のようになります。
void event(int n){
switch(n){
case 1:
dialog("I'm dying");
break;
}
}
プレイヤーが特定の場所を歩いたときに、特定の場所に目に見えない「オブジェクト」を追加することもできます。これが良いアイデアかどうかはわかりませんが、それを行う他の手段が思い浮かびません。それは一般的にどのように行われますか?また、すでに発生したイベントを追跡するにはどうすればよいですか?