O pacote flash.utils contém uma variedade de funções de nível de pacote para cronometrar a execução de códigos, recuperar informações sobre classes e objetos e converter caracteres de escape.
Função | Definido por | ||
---|---|---|---|
Cancela uma chamada setInterval() especificada. | flash.utils | ||
Cancela uma chamada setTimeout() especificada. | flash.utils | ||
Gera um objeto XML que descreve o objeto ActionScript nomeado como parâmetro do método. | flash.utils | ||
Retorna uma cópia com escape da string de entrada codificada como UTF-8 ou página de códigos do sistema, dependendo do valor de System.useCodePage. | flash.utils | ||
Retorna uma referência ao objeto de classe da classe especificada pelo parâmetro de nome. | flash.utils | ||
Retorna o nome de classe totalmente qualificado de um objeto. | flash.utils | ||
Retorna o nome de classe totalmente qualificado da classe base do objeto especificado pelo parâmetro valor. | flash.utils | ||
Usado para computar a hora relativa. | flash.utils | ||
Executa uma função em um intervalo especificado (em milissegundos). | flash.utils | ||
Executa uma função especificada após um atraso especificado (em milissegundos). | flash.utils | ||
Retorna uma cópia sem escape da string de entrada, que é decodificada da página de código do sistema ou de UTF-8, dependendo do valor de System.useCodePage. | flash.utils |
clearInterval | () | função |
public function clearInterval(id:uint):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cancela uma chamada setInterval()
especificada.
Parâmetros
id:uint — O ID da chamada setInterval() , configurada para uma variável, como a seguir:
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
setInterval()
para criar um intervalo cronometrado, chamando o métodomyRepeatingFunction()
após intervalos regulares de um segundo.
Cada uma das chamadas do método myRepeatingFunction
incrementa a propriedade contador
e quando ela fica igual à propriedade stopCount
, é chamado o método clearInterval()
com a propriedade intervalId
que é o id de referência ao intervalo criado anteriormente.
package { import flash.display.Sprite; import flash.utils.*; public class ClearIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds private var intervalId:uint; private var counter:uint = 0; private var stopCount:uint = 3; public function ClearIntervalExample() { intervalId = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); counter++; if(counter == stopCount) { trace("Clearing Interval"); clearInterval(intervalId); } } } }
clearTimeout | () | função |
public function clearTimeout(id:uint):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Cancela uma chamada setTimeout()
especificada.
Parâmetros
id:uint — O ID da chamada setTimeout() , configurada para uma variável, como a seguir:
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
setTimeout()
para chamar um outro método depois do período de atraso especificado.
Fica criada uma repetição para contagem até um milhão. Se o sistema puder processar este pedido mais rápido do que a passagem de um segundo, o clearTimeout()
removerá o pedido setTimeout()
e myDelayedFunction()
não será chamado.
package { import flash.display.Sprite; import flash.utils.*; public class ClearTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction private var intervalId:uint; private var count:uint = 1000000; public function ClearTimeoutExample() { intervalId = setTimeout(myDelayedFunction, delay); startCounting(); } public function startCounting():void { var i:uint = 0; do { if(i == count-1) { clearTimeout(intervalId); trace("Your computer can count to " + count + " in less than " + delay/1000 + " seconds."); } i++; } while(i < count) } public function myDelayedFunction():void { trace("Time expired."); } } }
describeType | () | função |
public function describeType(value:*):XML
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gera um objeto XML que descreve o objeto ActionScript nomeado como parâmetro do método. Este método implementa o conceito de programação de reflexão para a linguagem ActionScript.
Se o parâmetro value
for uma ocorrência de um tipo, o objeto XML retornado inclui todas as propriedades de ocorrências desse tipo, mas não as propriedades estáticas. Você pode verificar essa condição quando analisar o objeto XML, com o exame do valor do atributo <type>
isStatic
da marca, que é false
quando o parâmetro value
for uma ocorrência de um tipo.
Para obter as propriedades estática de um tipo, transmita o próprio tipo como parâmetro value
. O objeto XML retornado inclui tanto as propriedades estáticas do tipo como todas as suas propriedades de ocorrências. As propriedades de ocorrências estão aninhadas dentro de uma marca chamada <factory>
para distingui-las das propriedades estáticas. Nesse caso, o atributo isStatic
da marca <type>
é true
.
Observação:Se você precisar apenas cruzar a hierarquia de herança do objeto e não necessita das outras informações fornecidas pela describeType()
, use em seu lugar as funções getQualifiedClassName()
e getQualifiedSuperclassName()
.
A tabela a seguir descreve algumas tags e atributos do objeto XML gerado por describeType()
(todos os nomes de classe e de interface retornados estão em formato totalmente qualificado):
Marca | Atributo | Descrição |
---|---|---|
<tipo> | A marca raiz do objeto XML. | |
nome | O nome do tipo de dados do objeto ActionScript. | |
base | A superclasse imediata da classe de definição do objeto ActionScript. Se o objeto ActionScript for um objeto de classe, o valor é Classe . | |
isDynamic | true se a classe de definição do objeto ActionScript for dinâmica; false se ao contrário. Se o objeto ActionScript for um objeto de classe, o valor é true pois sua Classe é dinâmica. | |
isFinal | true se a classe de definição do objeto ActionScript for final; false se ao contrário. | |
isStatic | true se o objeto ActionScript for um objeto de classe ou uma função de construtor; false se ao contrário. Este atributo é chamado isStatic porque se for true , todas as marcas que não estão aninhadas na marca fábrica são estáticas. | |
<extendsClass> | Existe uma marca separada extendsClass para cada superclasse da classe de definição do objeto ActionScript. | |
tipo | O nome da superclasse que a classe de definição do objeto ActionScript amplia. | |
<implementsInterface> | Existe uma marca separada implementsInterface para cada interface implementada pela classe de definição do objeto ActionScript ou qualquer de suas superclasses. | |
tipo | O nome da interface que a classe de definição do objeto ActionScript implementa. | |
<accessor> | Um acessador é uma propriedade definida pelas funções getter e setter. | |
nome | Nome do acessador. | |
acesso | Os direitos de acesso da propriedade. Os possíveis valores incluem readonly , writeonly e readwrite . | |
tipo | Tipo de dados da propriedade. | |
declaredBy | A classe que contém as funções getter ou setter associadas. | |
<constant> | A constante é uma propriedade definida com a instrução const . | |
nome | O nome da constante. | |
tipo | O tipo de dados da constante. | |
<method> | Um método é uma função declarada como parte da definição de classe. | |
nome | O nome do método. | |
declaredBy | A classe que contém a definição do método. | |
returnType | O tipo de dados do valor de retorno do método. | |
<parameter> | Existe uma marca separada parâmetro para cada parâmetro que o método define. Essa marca está sempre aninhada na marca <method> . | |
index | Um número correspondente à ordem na qual o parâmetro aparece na lista de parâmetros do método. O primeiro parâmetro tem valor 1. | |
tipo | O tipo de dados do parâmetro. | |
opcional | true se o parâmetro for opcional; false em caso contrário. | |
<variable> | A variável é uma propriedade definida com a instrução var . | |
nome | O nome da variável. | |
tipo | O tipo de dados da variável. | |
<factory> | Se o objeto ActionScript for um objeto de classe ou uma função do construtor, todas as propriedades e métodos da ocorrência ficam aninhados nessa marca. Se o atributo isStatic da marca <type> for true , todas as propriedades e métodos que não estão aninhados na marca <factory> são estáticos. Esta marca aparece apenas se o objeto ActionScript for um objeto de classe ou uma função do construtor. |
Parâmetros
value:* — O objeto para o qual é desejada a descrição do tipo. Qualquer valor do ActionScript pode ser transmitido a esse método, inclusive todos os tipos, ocorrências de objeto, tipos primitivos do ActionScript disponíveis, como uint e objetos de classe.
|
XML — Um objeto XMF que contenha detalhes sobre o objeto que foi transmitido como parâmetro. Ele fornece as seguintes informações sobre o objeto:
Observação: O |
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
package { import flash.display.Sprite; import flash.utils.describeType; public class DescribeTypeExample extends Sprite { public function DescribeTypeExample() { var child:Sprite = new Sprite(); var description:XML = describeType(child); trace(description..accessor.@name.toXMLString()); } } }
escapeMultiByte | () | função |
public function escapeMultiByte(value:String):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna uma cópia com escape da string de entrada codificada como UTF-8 ou página de códigos do sistema, dependendo do valor de System.useCodePage. O uso de System.useCodePage permite que o conteúdo criptografado nas páginas de código local seja acessado pelo player, mas apenas nos sistemas que usem a página de código preexistente. Por exemplo, os dados japoneses codificados como Shift-JIS
terão escape ou não adequado apenas num OS que use a página de código japonês padrão.
Parâmetros
value:String — A string a ter escape.
|
String — Uma cópia com escape da string de entrada. Se a System.useCodePage for verdadeira , a string com escape fica codificada na página de código do sistema. Se a System.useCodePage for false , a string com escape fica codificada no UTF-8. Por exemplo, a string de entrada "Crue" terá como escape "Cr%C3%BCe" em todos os sistemas, se a System.useCodePage for false . Se a system.useCodePage for verdadeira e o sistema usar a página de código latino, "Crue" terá escape como "Cr%FCe". Se a página de código não latino não contiver a letra 'u', o resultado provavelmente será "Cr?e". "Cr%C3%BCe" sem escape com System.useCodePage definida para true produzirá resultados diferentes indesejados em sistemas diferentes, como "Crüe" no sistema latino. Igualmente, "Cr%FCe" sem escape com System.useCodePage configuradas para false poderia produzir "Cre" ou "Cr?e" ou outras variações, dependendo da página de código do sistema.
|
getDefinitionByName | () | função |
public function getDefinitionByName(name:String):Object
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna uma referência ao objeto de classe da classe especificada pelo parâmetro de name
.
Parâmetros
name:String — O nome de uma classe.
|
Object — Retorna uma referência ao objeto de classe da classe especificada pelo parâmetro de name .
|
Lança
ReferenceError — Não existe definição pública com o nome especificado.
|
Exemplo ( Como usar este exemplo )
GetDefinitionByNameExample
para criar um quadrado laranja no palco. Isso é realizado com as seguintes etapas:
- As variáveis da cor de fundo laranja e com tamanho de 80 pixels são declaradas, o que será usado posteriormente no desenho do quadrado.
- No construtor, a variável
ClassReference
da Classe tipo é atribuída ao sprite. - Uma ocorrência da ClassReference chamada
ocorrência
é exemplificada. - Como a
ocorrência
é, por referência, um objeto sprite, um quadrado pode ser desenhado e acrescentado na lista de exibição com o uso dos métodos disponíveis para o sprite.
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.utils.getDefinitionByName; public class GetDefinitionByNameExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function GetDefinitionByNameExample() { var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; var instance:Object = new ClassReference(); instance.graphics.beginFill(bgColor); instance.graphics.drawRect(0, 0, size, size); instance.graphics.endFill(); addChild(DisplayObject(instance)); } } }
getQualifiedClassName | () | função |
public function getQualifiedClassName(value:*):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna o nome de classe totalmente qualificado de um objeto.
Parâmetros
value:* — O objeto pelo qual é desejado o nome de classe totalmente qualificado. Qualquer valor do ActionScript pode ser transmitido a esse método, inclusive todos os tipos, ocorrências de objeto, tipos primitivos do ActionScript disponíveis, como uint e objetos de classe.
|
String — Uma string que contém o nome de classe totalmente qualificado.
|
Elementos da API relacionados
getQualifiedSuperclassName | () | função |
public function getQualifiedSuperclassName(value:*):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna o nome de classe totalmente qualificado da classe base do objeto especificado pelo parâmetro value
. Esta função oferece uma forma mais rápida de recuperar o nome de classe de base do que o describeType()
, mas também não apresenta todas as informações que o describeType()
fornece.
Depois de você recuperar o nome de uma classe com esta função, poderá converter o nome da classe em uma referência de classe com a função getDefinitionByName()
.
Observação: Esta função se restringe a hierarquias de ocorrências, enquanto a função describeType()
usa hierarquias de classes de objetos se o parâmetro value
for um tipo de dado. Chamar describeType()
em um tipo de dado retorna a superclasse com base na hierarquia de objeto de classe, na qual todos os objetos de classe são herdados da Classe. A função getQualifiedSuperclassName()
, entretanto, ignora a hierarquia do objeto de classe e retorna a superclasse baseada na hierarquia de ocorrência mais familiar. Por exemplo, chamar getQualifiedSuperclassName(String)
retorna Objeto
embora tecnicamente o objeto de classe String seja herdado de Classe. Em outras palavras, os resultados são os mesmos, use você uma ocorrência de um tipo ou o próprio tipo.
Parâmetros
value:* — Qualquer valor.
|
String — Um nome de classe totalmente qualificado ou null se não existir nenhum.
|
Elementos da API relacionados
getTimer | () | função |
public function getTimer():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Usado para computar a hora relativa. Para um tempo de execução de Flash que processa ActionScript 3.0, este método retorna o número de milissegundos passados desde a máquina virtual de tempo de execução de Flash de ActionScript 3.0 (AVM2) foi iniciado. Para um tempo de execução de Flash que processa ActionScript 2.0, este método retorna o número de milissegundos desde que o tempo de execução de Flash começou a inicialização. Os tempos de execução de Flash usam duas máquinas virtuais para processar ActionScript. AVM1 é a máquina virtual ActionScript usada para executar o ActionScript 1.0 e 2.0. AVM2 é a máquina virtual ActionScript usada para executar ActionScript 3.0. O comportamento do método getTimer()
para uma AVM1 é diferente do comportamento para AVM2.
Para obter a data calendário (timestamp), consulte o objeto Data.
Retornaint — O número de milissegundos desde que o tempo de execução foi inicializado (processando ActionScript 2.0), ou desde que a máquina virtual foi iniciada (processando ActionScript 3.0). Se o player começar executando um arquivo SWF e outro arquivo SWF for carregado posteriormente, o valor de retorno está relacionado a quando o primeiro arquivo SWF foi carregado.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
GetTimerExample
para obter e imprimir o número de milissegundos desde que começou o tempo de execução.
package { import flash.utils.getTimer; import flash.display.Sprite; public class GetTimerExample extends Sprite { public function GetTimerExample() { var duration:uint = getTimer(); trace("duration: " + duration); } } }
setInterval | () | função |
public function setInterval(closure:Function, delay:Number, ... arguments):uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Executa uma função em um intervalo especificado (em milissegundos).
Em vez de usar o método setInterval()
, considere criar um objeto Timer, com o intervalo especificado, usando 0 com o parâmetro repeatCount
(que configura o timer para repetir indefinidamente).
Se você pretende usar o método clearInterval()
para cancelar a chamada setInterval()
, certifique-se de atribuir a chamada setInterval()
a uma variável (à qual o método clearInterval()
fará referência posteriormente). Se você não chamar a função clearInterval()
para cancelar a chamada setInterval()
, o objeto que contém a função set timeout closure não terá coleta de lixo.
Parâmetros
closure:Function — Nome da função a ser executada. Não inclua pontos de interrogação ou parênteses e não especifique os parâmetros da função a ser chamada. Por exemplo, use functionName e não functionName() ou functionName(param) .
| |
delay:Number — O intervalo, em milissegundos.
| |
... arguments — Uma lista opcional de argumentos é transmitida para a função de fechamento.
|
uint — Identificador numérico único para o processo cronometrado. Use esse identificador para cancelar o processo, chamando o método clearInterval() .
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
setInterval()
para criar um intervalo cronometrado, chamando o métodomyRepeatingFunction()
após intervalos regulares de um segundo.
package { import flash.display.Sprite; import flash.utils.*; public class SetIntervalExample extends Sprite { private var intervalDuration:Number = 1000; // duration between intervals, in milliseconds public function SetIntervalExample() { var intervalId:uint = setInterval(myRepeatingFunction, intervalDuration, "Hello", "World"); } public function myRepeatingFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
setTimeout | () | função |
public function setTimeout(closure:Function, delay:Number, ... arguments):uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9 |
Executa uma função especificada após um atraso especificado (em milissegundos).
Em vez de usar este método, considere criar um objeto Timer, com o intervalo especificado, usando 1 como o parâmetrorepeatCount
(que configura o timer para rodar apenas uma vez).
Se você pretende usar o método clearTimeout()
para cancelar a chamada setTimeout()
, certifique-se de atribuir a chamada setTimeout()
a uma variável (à qual a função setTimeout()
fará referência posteriormente). Se você não chamar a função clearTimeout()
para cancelar a chamada setTimeout()
, o objeto que contém a função set timeout closure não terá coleta de lixo.
Parâmetros
closure:Function — Nome da função a ser executada. Não inclua pontos de interrogação ou parênteses e não especifique os parâmetros da função a ser chamada. Por exemplo, use functionName e não functionName() ou functionName(param) .
| |
delay:Number — O atraso, em milissegundos, até que a função seja executada.
| |
... arguments — Uma lista opcional de argumentos é transmitida para a função de fechamento.
|
uint — Identificador numérico único para o processo cronometrado. Use esse identificador para cancelar o processo, chamando o método clearTimeout() .
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
setTimeout()
para chamar um outro método depois do período de atraso especificado.
package { import flash.display.Sprite; import flash.utils.*; public class SetTimeoutExample extends Sprite { private var delay:Number = 1000; // delay before calling myDelayedFunction public function SetTimeoutExample() { var intervalId:uint = setTimeout(myDelayedFunction, delay, "Hello", "World"); } public function myDelayedFunction():void { trace(arguments[0] + " " + arguments[1]); } } }
unescapeMultiByte | () | função |
public function unescapeMultiByte(value:String):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna uma cópia sem escape da string de entrada, que é decodificada da página de código do sistema ou de UTF-8, dependendo do valor de System.useCodePage. O uso de System.useCodePage permite que o conteúdo criptografado nas páginas de código local seja acessado pelo player, mas apenas nos sistemas que usem a página de código preexistente. Por exemplo, os dados japoneses codificados como Shift-JIS
terão escape ou não adequado apenas num OS que use a página de código japonês padrão.
Parâmetros
value:String — A string com escape a não ter escape.
|
String — Uma cópia sem escape da string de entrada. Se a System.useCodePage for verdadeira , a string com escape fica codificada na página de código do sistema. Se a System.useCodePage for false , a string com escape fica codificada no UTF-8. Por exemplo, se a string de entrada for "Crue" e System.useCodePage for false , o resultado será "Crüe" em todos os sistemas. Se a System.useCodePage for true e a string de entrada for "Cr%FCe" e o sistema usar uma página de código latino, o resultado também será "Crue". "Cr%C3%BCe" sem escape com System.useCodePage definida para true produzirá resultados diferentes indesejados em sistemas diferentes, como "Crüe" no sistema latino. Igualmente, "Cr%FCe" sem escape com System.useCodePage configuradas para false poderia produzir "Cre" ou "Cr?e" ou outras variações, dependendo da página de código do sistema.
|
Wed Jun 13 2018, 11:27 AM Z