11/01/05 04:26:06 DqQEj9K3
>>341
続き。
> さらに値型と参照型の違いや解放のタイミングなんて覚えることがたくさんある。
「ゲームエンジンアーキテクチャ」はまだ積ん読のままかね。
解放のタイミングなんかスクリプトを書く側が意識することじゃないんだよ。
例えばスクリプト側でキャラクターをひとつワールドに置いたとするじゃん。
このキャラクター、いつ消すの?いつ解放するの?
そんなことは、ゲームエンジン側が勝手に判断すりゃいいじゃん。
そのキャラクターから遠くに行って、もうキャッシュしておくためのバッファもいっぱいなら
勝手に解放してくれりゃいいじゃん。テクスチャーとかは解放してもキャラクターのhandle自体は
生きてて、また使うときは勝手にゲームエンジン側が読み込んでくれりゃいいじゃん。
handleと書いたが、C++でならhandleとして実装するけど、C#ならこれは参照でも構わない。
ただし、その扱っているリソース自体はゲームエンジンが管理していて、ゲームエンジン側が
勝手に解放したり再確保したりするんだけどな。
で、ゲームエンジンの外側(ゲームエンジンを使うプログラマおよびスクリプト側)では、
一貫してそのhandleを使ってプログラムを書いていき、リソースの解放タイミングは一切意識しないのが
普通なんでないかい。