ゲームプログラミング相談室【Part6】
■ このスレッドは過去ログ倉庫に格納されています
0880名前は開発中のものです。
2006/03/01(水) 01:28:04ID:MsffCk59これは擬似コードなので動かないし、NULLチェックとかもしてないよ。
// 描画系のメソッドは略
class TaskBase {
public:
typedef @ FuncType;
TaskBase() : m_func(&TaskBase::begin_task) {}
void set_task(FuncType func) {m_func = func; /*A*/ }
void update() { m_func(); }
protected:
virtual void begin_task() {}
private:
FuncType m_func;
};
class Task1 : TaskBase {
public:
Task1() {}
protected:
void begin_task() { set_task(&Task1::task1); }
void task1() {}
};
class Task2 : TaskBase {
public:
Task2() {}
protected:
void begin_task() { set_task(&Task2::task1); }
void task1() {}
};
■ このスレッドは過去ログ倉庫に格納されています