c++でのシーンチェンジ
Posted: 2014年11月01日(土) 17:57
新ゲームプログラミングの館のsp6章を見ながらシーンチェンジ部分を作っています。
そこで、いくつかわからないことがあるので教えてください。
1.SceneMgr.cpp内のコンストラクタでmScene = (BaseScene*) new Menu(this);とありますが、
mSceneをBaseScene型のMenuでnewしているということでいいですよね?そのようなことは可能なのでしょうか?
検索したらアップキャストと呼ばれるものがヒットしましたが、それとはちょっと違うような気がします。それであっているのでしょうか?
2.1と同じ行でMenu(this)とありますが、thisとはこの場合SceneMgrのポインタですよね?
Menuのコンストラクタの引数にはISceneChanger* changerとあるので、SceneMgrのポインタを引数にする意味が分かりません。
3.BaseSceneクラスのprotectedにISceneChanger* mSceneChanger;とありますが、ISceneChangerには
純粋仮想関数があるためそのまま使うことはできないはずではないでしょうか?
よろしくお願いします。
そこで、いくつかわからないことがあるので教えてください。
1.SceneMgr.cpp内のコンストラクタでmScene = (BaseScene*) new Menu(this);とありますが、
mSceneをBaseScene型のMenuでnewしているということでいいですよね?そのようなことは可能なのでしょうか?
検索したらアップキャストと呼ばれるものがヒットしましたが、それとはちょっと違うような気がします。それであっているのでしょうか?
2.1と同じ行でMenu(this)とありますが、thisとはこの場合SceneMgrのポインタですよね?
Menuのコンストラクタの引数にはISceneChanger* changerとあるので、SceneMgrのポインタを引数にする意味が分かりません。
3.BaseSceneクラスのprotectedにISceneChanger* mSceneChanger;とありますが、ISceneChangerには
純粋仮想関数があるためそのまま使うことはできないはずではないでしょうか?
よろしくお願いします。