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
ClassReferenceda 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