トップページ > ゲ製作技術 > 2011年01月15日 > IeU7tK/g

書き込み順位&時間帯一覧

3 位/103 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000101100000000003



使用した名前一覧書き込んだスレッド一覧
ステフ96 ◆UUwiUCL1P6
名前は開発中のものです。
【初心者】ステフと一緒にゲーム製作part10【歓迎】
ゲームエンジン製作スレ

書き込みレス一覧

【初心者】ステフと一緒にゲーム製作part10【歓迎】
371 :ステフ96 ◆UUwiUCL1P6 [sage]:2011/01/15(土) 10:19:42 ID:IeU7tK/g
>>370
369の書き方が助言に対して反論風になってしまってすいません。

368のように具体的なポイントや事例で指摘されれば、
自分でどのように取捨選択するか咀嚼できるので助かりました。

現状、自分なりにメリット/デメリットを勘案して、今のやり方で進んでいるという状況です。

主旨としては363で糞と指摘されている部分が、
自分がすでに割り切ったデメリットなのか、
それとも自分ではまだ気づけていない問題点なのか、
もしくは自分では思いつかない視点の方法があるのか、
を知りたいと思っての質問でした。


ゲームエンジン製作スレ
642 :名前は開発中のものです。[sage]:2011/01/15(土) 12:01:28 ID:IeU7tK/g
>>621
(続き)
HMODULE module = LoadLibrary( "test.dll" );
SCRIPT_DATA* pc = reinterpret_cast< SCRIPT_DATA* >( GetProcAddress( module, MAKEINTERSOURCE( 1 ) ) );

pc->opecodeが実行する命令、pc->operandは命令が処理するデータ。
pc->opecodeの命令の種類で、pcをどれだけ進めるか決める。

DLLに変換する過程を経るなら、C++の文法はあらかた織り込めると思いますが、
生のスクリプトデータをエンジンが直接に解釈して実行するのは、
エンジンにCコンパイラに匹敵する機能を実装させるのと同じかと思います。
ゲームエンジン製作スレ
644 :名前は開発中のものです。[sage]:2011/01/15(土) 13:26:33 ID:IeU7tK/g
>>642
(続き)
MyCharacterクラスをスクリプト独自に定義してそのメンバー関数をエンジンに実行させる。

移動(NPC)

test.cpp
{ OP_EXPORT, ( void* )2, },
MyCharacter NPC;
void functionxxxx( void ){ NPC.move(); }

test.def
EXPORT
functionxxxx @2 NONAME

engine.cpp
switch( pc->opecode ) {
case OP_EXPORT:
reinterpret_cast< void (*) ( void* ) >( GetProcAddress( module, MAKEINTERSOURCE( reinterpret_cast< int >( pc->operand ) ) )();
break;
}


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。