Pergunta

Eu estou a tentar chamar uma função depois de eu carregar o XML em Actionscript, e eu só estou querendo saber como eu chamar essa função.Exemplo:

//Function Declarations
function parentFunction()
{
    function callMe()
    {
     textField.text = "lawl";
    }
}

Agora, como faço para chamar o "callMe () a função" em uma parte diferente do código, como um onRelease função?

on(release)
{
callMe(); //doesn't work
parentFunction().callMe(); //doesn't work
parentFunction.callMe(); //doesn't work
}

O ActionScript 2.0 é tão vacilante!Qualquer idéias?

Foi útil?

Solução

Você está obrigado a declarar callMe dentro de parentFunction?Eu assumo isso porque, do contrário, você teria apenas que fazer

a função principal() { } função callMe() { }

Para ser mais claro, uma função não pode próprios de outra função, a menos que você forneça algumas possibilidades para essa função para se viver.

Assim, em JavaScript, você pode fazer isso usando o protótipo de objeto para declarar a callMe função como um método do objeto que parentFunction devolvidos.

http://www.howtocreate.co.uk/tutorials/javascript/objects

Para ActionScript, leia este artigo no site da Adobe:http://www.adobe.com/devnet/flex/articles/as_collections_03.html

EDITAR:Após a leitura um pouco mais ele aparece do jeito que você fez as coisas, na verdade, você está declarando callMe como um privada função.Veja este artigo que deve fazer todo o público/privado javascript problema muito mais compreensível.

Outras dicas

Eu sou um idiota.Esqueci-me de toda a "uma função não podem possuir função de outra" coisa, então, eu descobri outra maneira de o fazer.Obrigado!

É claro que uma função pode "possuir" uma outra função.este é ECMAScript lembrar.Basta declarar uma variável dentro de sua função e atribuir uma função a ele.Em seguida, você pode chamar a função usando o "" chamada de método.

função foo() { trace("foo");

var bar = function()
{
    trace("bar");
};

bar.call();

}

foo();

//v--- on the frame
function callMe(){
textArea.text='lawl';
}
//v---- for button
on(release){
callMe();
}

--- or -----

//CUSTOM!!
//v---- on frame
function callMe(say){
textArea.text=say;
}
//v--- for button
on(release){
callMe('lawl');
}

Desculpe pelo mau inglês, Definir um manipulador para (Menu)Botões, whitch estão localizados em um MC.

MC "Botões" no Palco (com 3 "testbtn" nele) @ primeiro quadro:

function SetMethod(Method:Function){
    //trace(Method.call()); 
    //or something like:
    testbtn1.addEventListener(MouseEvent.CLICK, Method);
    testbtn2.addEventListener(MouseEvent.CLICK, Method);
    testbtn3.addEventListener(MouseEvent.CLICK, Method);
}

Estágio (com MC "Butttons" nele) @ primeiro quadro:

function TheMenuListener(evt:Event):void{
    trace(evt.target.name);

}
...
Buttons.SetMethod(this.TheMenuListener); 

retorna o testbtn.nome

Editar:Ah, para AS3, mas talvez ajude!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top