Pergunta

Alguém sabe algo sobre o "mundo" ser reservado ou construído na aula com esse nome? Quando tento construir a classe mundial que criei, lança um erro de compilação:

1136: Incorrect number of arguments.  Expected 2.

Mas eu tenho um milhão de vezes verificado, não há argumentos esperados, toda a nomeação de pacotes, tipos de variáveis. Tudo está correto, mas lança esse erro estúpido. :/ Experimente por conta própria e você verá que sim .. ou eu sou estúpido?

Quando tento ligar para a função init na classe mundial, ele joga esta:

1061: Call to a possibly undefined method init through a reference with static type World.

Grr ..

Foi útil?

Solução

Eu tive o mesmo problema. Eu acho que é reservado a partir do flashplayer 10 (possivelmente 10,1, mas não tenho certeza). Eu tive que contornar isso usando o nome completo do meu pacote ao fazer referência à minha classe mundial.

var myWorld:com.foo.World = new com.foo.World();

Feio, mas funciona!

Outras dicas

Você deve ter outra classe chamada mundo em algum lugar do seu caminho de origem. Veja suas importações.

Digite o caminho completo do pacote, se necessário, para evitar confusão com outra classe mundial em outro lugar:

var w:my.package.World = new my.package.World();

Algumas outras possibilidades:

Você está usando o Flex/Flashbuilder e importando um SWC? Eles podem expor as classes sem revelar o código -fonte.

Ou você está compilando de uma fla? Nesse caso, pode haver um símbolo da biblioteca exportando para uma classe ActionScript cujo nome conflita com o seu.

Outra possibilidade é que o compilador flash que você está usando (seja flashPro ou FlashBuilder) tenha um cache incorretamente em cache uma definição de classe que você criou anteriormente. Eu já experimentei esse bug algumas vezes antes. Tente fazer um projeto/limpo (no flashbuilder) ou, se você estiver desesperado, criando um novo projeto.

Eu acho que você deve verificar os parâmetros necessários no construtor e torná-los opcionais passando = nulo ou algo para a função do construtor.

Esse 'erro' pode ocorrer quando você coloca um símbolo da sua biblioteca que exigia parâmetros no construtor.

package com.myworld
{
    public class World
    {
        public function World(parameter1:int = null, parameter2:String = null ) 
        {

        }
    }
}

Este é um trecho, mas tente excluir seus arquivos ASO (Control> Excluir arquivos ASO) e recompile.

Se isso não funcionar, a única outra coisa que eu sugeriria é reconstruir seu projeto, testar esse problema cada vez que você importa um ou um grupo de classes. Essa abordagem deve garantir que você encontre pelo menos o que o problema está se originando.

A classe de documento a seguir compila e executa completamente bem para mim no Adobe Flash CS5 direcionando o flash player 10.1.53.64 (10.1):

package
{
import flash.display.Sprite;
import flash.events.Event;

public class World extends Sprite
    {
    public function World()
        {
        addEventListener(Event.ADDED_TO_STAGE, init);
        }

    private function init(evt:Event):void
        {
        removeEventListener(Event.ADDED_TO_STAGE, init);
        trace("World Document Added To Stage");
        }
    }
}

Acabei de verificar eu mesmo, mesmo que foi um post antigo que já foi respondido. O motivo é que encontrei este post devido a uma pesquisa sobre uma lista de palavras -chave reservadas no AS3.

A palavra -chave "mundo" não é reservada :) oooops ...

Esta é a lista que encontrei até agora com palavras / palavras -chave reservadas no AS3: se você editar esta lista, deixe um comentário / com fontes ... THX Às vezes, a mesma palavra -chave pode aparecer duas vezes na lista em diferentes categorias ...

0   :   abstract        (future keyword)
1   :   as              (reserved keyword)
2   :   boolean         (future keyword)
3   :   break           (reserved keyword)
4   :   byte            (future keyword)
5   :   case            (reserved keyword)
6   :   cast            (future keyword)
7   :   catch           (reserved keyword)
8   :   char            (future keyword)
9   :   class           (reserved keyword)
10  :   const           (reserved keyword)
11  :   continue        (reserved keyword)
12  :   debugger        (future keyword)
13  :   default         (reserved keyword)
14  :   delete          (reserved keyword)
15  :   do              (reserved keyword)
16  :   double          (future keyword)
17  :   dynamic         (syntactic keyword)
18  :   each            (syntactic keyword)
19  :   else            (reserved keyword)
20  :   enum            (future keyword)
21  :   export          (future keyword)
22  :   extends         (reserved keyword)
23  :   false           (reserved keyword)
24  :   final           (syntactic keyword)
25  :   finally         (reserved keyword)
26  :   float           (future keyword)
27  :   for             (reserved keyword)
28  :   function        (reserved keyword)
29  :   get             (syntactic keyword)
30  :   goto            (future keyword)
31  :   if              (reserved keyword)
32  :   implements      (reserved keyword)
33  :   import          (reserved keyword)
34  :   in              (reserved keyword)
35  :   include         (syntactic keyword)
36  :   instanceof      (reserved keyword)
37  :   interface       (reserved keyword)
38  :   internal        (reserved keyword)
39  :   intrinsic       (future keyword)
40  :   is              (reserved keyword)
41  :   long            (future keyword)
42  :   namespace       (syntactic keyword)
43  :   native          (reserved keyword)
44  :   native          (syntactic keyword)
45  :   new             (reserved keyword)
46  :   null            (reserved keyword)
47  :   override        (syntactic keyword)
48  :   package         (reserved keyword)
49  :   private         (reserved keyword)
50  :   protected       (reserved keyword)
51  :   prototype       (future keyword)
52  :   public          (reserved keyword)
53  :   return          (reserved keyword)
54  :   set             (syntactic keyword)
55  :   short           (future keyword)
56  :   static          (syntactic keyword)
57  :   super           (reserved keyword)
58  :   switch          (reserved keyword)
59  :   synchronized    (future keyword)
60  :   this            (reserved keyword)
61  :   throw           (reserved keyword)
62  :   throws          (future keyword)
63  :   to              (future keyword)
64  :   to              (reserved keyword)
65  :   transient       (future keyword)
66  :   true            (reserved keyword)
67  :   try             (reserved keyword)
68  :   type            (future keyword)
69  :   typeof          (reserved keyword)
70  :   use             (reserved keyword)
71  :   var             (reserved keyword)
72  :   virtual         (future keyword)
73  :   void            (reserved keyword)
74  :   volatile        (future keyword)
75  :   while           (reserved keyword)
76  :   with            (reserved keyword)

Aqui estão as três matrizes de palavras -chave:

private static var reserved:Array = [
                          "as","break","case","catch","class","const","continue","default","delete",
                          "do","else","extends","false","finally","for","function","if","implements",
                          "import","in","instanceof","interface","internal","is","native","new","null",
                          "package","private","protected","public","return","super","switch","this",
                          "throw","to","true","try","typeof","use","var","void","while","with"
                          ];
private static var syntactic:Array = [
                           "each","get","set","namespace","include","dynamic","final","native","override","static"
                           ];
private static var future:Array = [
                        "abstract","boolean","byte","cast","char","debugger","double","enum","export","float",
                        "goto","intrinsic","long","prototype","short","synchronized","throws","to","transient",
                        "type","virtual","volatile"
                        ]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top