SDK의 stringecho.c 예제를 AS3 용으로 수정하고 컴파일하면 문제없이 사용할 수 있습니다. 내 자신의 앱 Flash Alchemy에서 빌드 된 .swc 라이브러리가 너무 작고 누락 된 기능
, 나는 수십 성공적으로 파일 및 링크 ++ g 컴파일 :g++ -swc -o myApp.swc glue.o demo.o obj1.o obj2.o obj3.o
나는 myApp.swc을받을 수 있나요하지만 잘못에만 80K (간단한 stringecho 예와 같은 크기)입니다 .
cmodule.stringecho.AlchemyBlock
cmodule.stringecho.AlchemyBreakPoint
...
이 myApp.swc이있는 stringecho.swc는 달리, 어떤 플래시 IDE에서 검토
는
cmodule.AlchemyBlock
cmodule.AlchemyBreakPoint
...
을 가지고 내가 정의 된 접착제 기능이 없습니다. 본질적으로 AS3 프로젝트에서는 사용할 수 없습니다.
내 glue.c 코드는 다음과 같습니다. 기본적으로 데모 객체를 만들고 함수를 호출합니다. 데모 클래스는 다른 모든 오브젝트 파일을 캡슐화합니다.
#include "demo.h"
#include "AS3.h"
AS3_Val InitSystem(void* self, AS3_Val args)
{
demo = new demo9();
return 0;
}
AS3_Val LoadSceneFile(void* self, AS3_Val args)
{
demo->loadScene("scene.txt");
return 0;
}
...
int main()
{
AS3_Val InitSystemMethod = AS3_Function(NULL, InitSystem);
AS3_Val LoadSceneFileMethod = AS3_Function(NULL, LoadSceneFile);
AS3_Val getAlchemyScreenMethod = AS3_Function(NULL, getAlchemyScreen);
AS3_Val setMouseStateMethod = AS3_Function(NULL, setMouseState);
AS3_Val rasterizeMethod = AS3_Function(NULL, rasterize);
AS3_Val result = AS3_Object("InitSystem: AS3ValType,LoadSceneFile: AS3ValType,getAlchemyScreen:AS3ValType,setMouseState:AS3ValType,rasterize:AS3ValType"
,InitSystemMethod,
LoadSceneFileMethod,
getAlchemyScreenMethod,
setMouseStateMethod,
rasterizeMethod);
AS3_Release(InitSystemMethod);
AS3_Release(LoadSceneFileMethod);
AS3_Release(getAlchemyScreenMethod);
AS3_Release(setMouseStateMethod);
AS3_Release(rasterizeMethod);
AS3_LibInit(result);
return 0;
}
이 정보가 도움이 되었습니까? 그렇다면 내 대답을 대답으로 받아 들여주세요. – paleozogt