Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho algumas animações e um sistema dentro de um CD ROM em formato EXE. Gostaria que fosse possivel chamar qualquer um deles através de um novo EXE com links. Como proceder?
Não funcionou. Ele não abre o arquivo indicado, apenas repete o index.
To fazendo assim.
No botão:
on (release) {
var tema = "quiz_onibus.exe";
gotoAndPlay("saindo");
}
Então ele vai para o frame saindo, roda uma animação e então no ultimo frame vêm isso:
stop ();
onEnterFrame = function() {
fscommand("exec", tema);
}
Mas ele pára no ultimo frame do index e não faz mais nada. Preciso que abra o outro arquivo por cima dele.
Dica: Evite utilizar ações diretamente nos objetos, prefira instanciar seus objetos (botões) e aplicar as funções em um quadro chave na timeline principal.
No seu caso, a variável "tema" não chegará até o frame desejado porque está como uma variável de função, e só poderá ser utilizada dentro da mesma. Declare a variável fora da função para que ela fique disponível em toda a Timeline, ex:
var tema:String = "arquivo.exe";
instancia_botao.onRelease = function() {
gotoAndPlay("rotulo_frame");
};
E no frame alvo, execute a ação desejada (fscommand) - Outro detalhe, após utilizar o "onEnterFrame" e executar a ação desejada, você deve deletar o comando para não ficar em "loop". E também poderá fechar a janela atual quando solicitar a abertura de uma nova se preferir.
Abs.
>
Dica: Evite utilizar ações diretamente nos objetos, prefira instanciar seus objetos (botões) e aplicar as funções em um quadro chave na timeline principal.
No seu caso, a variável "tema" não chegará até o frame desejado porque está como uma variável de função, e só poderá ser utilizada dentro da mesma. Declare a variável fora da função para que ela fique disponível em toda a Timeline, ex:
var tema:String = "arquivo.exe";
instancia_botao.onRelease = function() {
gotoAndPlay("rotulo_frame");
};
E no frame alvo, execute a ação desejada (fscommand) - Outro detalhe, após utilizar o "onEnterFrame" e executar a ação desejada, você deve deletar o comando para não ficar em "loop". E também poderá fechar a janela atual quando solicitar a abertura de uma nova se preferir.
Abs.
Como eu deleto o comando para evitar o loop?
Como fechar a janela? Devo usar fscommand("quit"); antes de chamar o proximo EXE?
Para evitar o loop, assim que a retorno esperado for verdadeiro, basta usar o "delete" em seguida as ações para o fscommand, mas antes de fechar a janela atual, abra a nova, ex:
onEnterFrame = function () {
if (tema != null) {
delete onEnterFrame;
fscommand("exec", tema);
fscommand("quit", "");
}
};
Abs.
>
Tenho algumas animações e um sistema dentro de um CD ROM em formato EXE. Gostaria que fosse possivel chamar qualquer um deles através de um novo EXE com links. Como proceder?
Olá Andre,
para você chamar um outro EXE no flash, você terá que criar uma pasta chamada fscommand na raiz de seu projeto, dentro desta pasta criada você insere os EXE que serão chamados.
Depois no action do botão que vai chamar o arquivo EXE você digita o seguinte código:
on (release) {
Espero que tenha ajudado.