Je peux modifier et compiler l'exemple stringecho.c du SDK pour l'utilisation AS3 pas de problème.Flash Alchemy construit bibliothèque .swc trop petit et les fonctions manquantes
Pour ma propre application, je compilez avec g ++ quelques dizaines de fichiers avec succès et lien:
g++ -swc -o myApp.swc glue.o demo.o obj1.o obj2.o obj3.o
je reçois un myApp.swc, mais il est à tort que 80k (même taille que simple exemple stringecho) .
Examinés dans un IDE flash, contrairement à la stringecho.swc qui a
cmodule.stringecho.AlchemyBlock
cmodule.stringecho.AlchemyBreakPoint
...
Ce myApp.swc a
cmodule.AlchemyBlock
cmodule.AlchemyBreakPoint
...
Et n'a pas de fonction de la colle je définissais. En substance, je ne peux pas l'utiliser dans un projet AS3.
Mon code de colle.c est ci-dessous. Fondamentalement, je crée un objet de démonstration et appelle ses fonctions. La classe démo encapsule tous les autres fichiers objets.
#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;
}
cela vous at-il été utile? Si oui, veuillez accepter ma réponse comme réponse – paleozogt