gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

クラスの使い方(C++,angelscript)

2010-01-31 10:07:34 | angelscript

c++とangelscriptでクラスを使用するには2パターンある。

angelscript側ではクラスを宣言しない(クラスをglobalpropertyとして使用)

Register*関連の関数を呼ぶ前にクラスの実態が存在してそいつをangelscriptからアクセスできるようにする。
struct MyStruct { 
    int health;      
    char name[32];
};                      

// Struct instance
MyStruct mystruct;
MyStruct mystruct; iRet = g_pasengine->RegisterObjectType("MyObject", 0, asOBJ_REF | asOBJ_NOHANDLE); assert( iRet >= 0 ); iRet = g_pasengine->RegisterObjectProperty("MyObject", "int health", offsetof(MyStruct, health)); assert( iRet >= 0 );



 

angelscript側でもクラスの宣言をする(スクリプト側でC++のクラスの宣言可能)

iRet = m_pasengine->RegisterObjectType("CMoveObject", sizeof(CMoveObject), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS); assert( iRet >= 0 );


コメントを投稿