buëno

Bem-vindo(a) ao meu mundo.

outubro 23rd, 2009

Assunto:

Alterando o ponteiro do mouse com perspectiva.

ActionScript:

Versão 2.0 e 3.0

Instruções Adicionais:

1. Inicie um novo arquivo.

2. Crie um objeto que será o novo ponteiro do mouse e converta-o em movieclip.

3. Instancie-o como cursor.

4. Caso estiver trabalhando com actionscript 2, cópie e cole o código AS2 no movieclip cursor, se não, crie uma nova layer com o nome action e cole o código do AS3.

5. Pronto, Ctrl+Enter.

Código AS2:

onClipEvent(load){
 Mouse.hide();
}
onClipEvent(enterFrame){
 _x = _root._xmouse;
 _y = _root._ymouse;
 _rotation = _root._xmouse/Stage.width*100;
}

Código AS3:

import flash.display.Stage;
import flash.ui.Mouse;
import flash.events.*;
 
Mouse.hide();
 
// criando o event listener
addEventListener(Event.ENTER_FRAME, fncOnEnterFrame);
function fncOnEnterFrame(evt:Event):void {
 cursor.x= mouseX;
 cursor.y= mouseY;
 cursor.rotation = mouseX/stage.stageWidth*100;
}

DOWNLOAD:

Arquivos Fonte (82)
outubro 23rd, 2009

Assunto:

Centralizando movieclips atacados da biblioteca no Stage.

ActionScript:

Versão 2.0

Instruções Adicionais:

1. Inicie um novo arquivo.

2. Crie um quadrado e converta-o em movieclip.

3. Instancie-o na biblioteca como posicao.

4. Nomeie a primeira layer como action.

5. Precione F9 para acessar o console de actions e cole o código abaixo.

6. Pronto, Ctrl+Enter.

Código:

var palavra = "BUENO";
 
var posInicial = 0;
var comprimento = 0;
var distancia = 10;
 
for (i=1; i<=palavra.length; i++) {
 attachMovie("posicao","mcPosicao"+i,i);
 comprimento += _root["mcPosicao"+i]._width+distancia;
}
 
posInicial = (Stage.width-comprimento)/2;
 
for (j=1; j<=palavra.length; j++) {
 _root["mcPosicao"+j]._x = j*(_root["mcPosicao"+j]._width+distancia)+(posInicial-(_root["mcPosicao"+j]._width/2)-5);
 _root["mcPosicao"+j]._y = Stage.height/2;
}

DOWNLOAD:

Arquivo fonte (67)
outubro 14th, 2009

Assunto:

Limitando o campo de entrada de texto.

ActionScript:

Versão 2.0

Instruções Adicionais:

1. Inicie um novo arquivo.

2. Crie um campo dinâmico no Stage e instancie-o com o nome desejado.

3. Redimencione este campo para o tamanho desejado e aplique as formatações de texto.

4. Crie uma nova layer e nomei-a como action.

5. Precione F9 para acessar o console de actions e cole o código abaixo substituindo o nome_do_campo.

6. Pronto, Ctrl+Enter.

Código:

// Ouvinte que é executado a cada notifição efetuada no campo em questão
nome_do_campo.onChanged = function() {
 // Efetua uma conferência, que quando a rolagem do texto for maior do que 1 ele removerá o último carácter digitado
 while (this.maxscroll>1) {
  this.text = this.text.substr(0, this.text.length-1);
 }
};
outubro 14th, 2009

Assunto:

Metódo para criar gráficos dinâmicos utilizando dados obtidos de um XML.

ActionScript:

Versão 2.0

Código AS:

#include "mc_tween2.as"
import mx.effects.Tween;
 
corpo0._alpha = 0;
 
System.useCodepage = true;
var graf_xml:XML = new XML();
graf_xml.ignoreWhite = true;
graf_xml.onLoad = function(ok:Boolean) {
 if (ok) {
  trace("Arquivo XML encontrado.");
  gerarGrafico(this.firstChild.childNodes);
 } else {
  trace("Arquivo XML não encontrado.");
 }
};
graf_xml.load("grafico.xml");
 
function gerarGrafico(xmlNode) {
 var len:Number = xmlNode.length;
 var total:Number = 0;
 var perc:Number = 0;
 for (i=1; i<len; i++) {
  this.corpo0.duplicateMovieClip("corpo"+i,getNextHighestDepth());
  this.texto0.duplicateMovieClip("texto"+i,getNextHighestDepth());
 }
 for (a=0; a<len; a++) {
  total += parseInt(xmlNode[a].childNodes[0].childNodes);
  this["corpo"+a].valor = parseInt(xmlNode[a].childNodes[0].childNodes);
  this["corpo"+a]._x = (this.corpo0._x)+(a*(this["corpo"+a]._width+20));
  this["corpo"+a]._alpha = 0;
  this["corpo"+a]._yscale = 0;
  this["corpo"+a].id = a;
  this["texto"+a]._x = this["corpo"+a]._x+(this["corpo"+a]._width/2)-(this["texto"+a]._width/2);
 }
 for (j=0; j<len; j++) {
  perc = Math.round((this["corpo"+j].valor*100)/total);
  this["corpo"+j].perc = perc;
  this["corpo"+j].alphaTo(100,0.3);
  this["corpo"+j].tween = new Tween(this["corpo"+j], 100, perc, 1500);
  this["corpo"+j].enabled = false;
  this["corpo"+j].onTweenUpdate = function(p) {
   _root["texto"+this.id].s_txt.text = this.perc+"%";
   if (this.perc<0) {
    _root["texto"+this.id]._y = this._y+this._height+_root["texto"+this.id]._height;
   } else {
    _root["texto"+this.id]._y = this._y-this._height;
   }
   this._yscale = p;
  };
  this["corpo"+j].onTweenEnd = function(p) {
   this.onTweenUpdate(p);
   this.enabled = true;
  };
 
  this["corpo"+j]._color = new Color(this["corpo"+j]);
 
  this["corpo"+j].onRollOver = function() {
   this._color.setTransform({rb:204, gb:0, bb:0});
   this.onRelease = function() {
    titulo_txt.text = xmlNode[this.id].childNodes[1].childNodes;
    valor_txt.text = "QTDE: "+xmlNode[this.id].childNodes[0].childNodes+" - PORCENTAGEM: "+this._yscale+"%";
    desc_txt.text = xmlNode[this.id].childNodes[2].childNodes;
   };
  };
  this["corpo"+j].onRollOut = this["corpo"+j].onReleaseOutside=function () {
   this._color.setTransform({rb:0, gb:0, bb:0});
   info_txt.removeTextField();
  };
  this["corpo"+j].tween.easingEquation = mx.transitions.easing.Elastic.easeOut;
 }
}

Código XML:

<?xml version="1.0" encoding="utf-8"?>
<grafico>
 <dado>
  <valor>235</valor>
  <titulo>TITULO1</titulo>
  <desc>DESCRICAO1</desc>
 </dado>
 <dado>
  <valor>150</valor>
  <titulo>TITULO2</titulo>
  <desc>DESCRICAO2</desc>
 </dado>
 <dado>
  <valor>183</valor>
  <titulo>TITULO3</titulo>
  <desc>DESCRICAO3</desc>
 </dado>
</grafico>

DOWNLOAD:

Arquivo fonte (105)
agosto 14th, 2009

Assunto:

A classe Selection permite que você defina e controle o campo de texto no qual está localizado o ponto de inserção, ou seja, o campo que possui o foco. Os índices do intervalo de seleção são baseados em zero (por exemplo, a primeira posição é 0, a segunda é 1 e assim por diante).

Não há nenhuma função construtora para a classe Selection, pois só pode haver um campo focalizado por vez.

ActionScript:

Versão 2.0

Código:

Código   
//especifica a formatação da caixa de texto
formata = new TextFormat();
with (formata) {
 //definição de fonte
 font = "Verdana";
 //atribuindo o estilo negrito
 bold = true;
 //atribuindo tamanho 13
 size = 13;
 //atribuindo cor preto
 color = 0x000000;
 //incorporando caracteres
 embedFonts = true;
}
//cria o campo TextField
this.createTextField("campo",1,100,100,200,20);
//determina o tipo como entrada (input)
campo.type = "input";
//determina a suavição de bordas para avançado
campo.antiAliasType = AntiAliasType.ADVANCED;
//ativa a borda do campo
campo.border = true;
//determina o máximo de caracteres permitido no campo
campo.maxChars = 15;
//toda vez que o campo (input) recebe um evento (teclado/mouse) ele aplica a formatação no mesmo.
campo.onChanged = function() {
 this.setTextFormat(formata);
}
//cria uma variavel para armazenar a informação selecionada
var trecho:String;
var selecao = new Object();
selecao.onMouseUp = function() {
 trecho = "";//limpa a váriavel que armazena o que foi selecionado
 numInicial = Selection.getBeginIndex();//pega onde o texto selecionado inicia
 numFinal = Selection.getEndIndex();//pega onde o texto selecionado termina
 trecho = campo.text.substring(numInicial, numFinal);
 trace(trecho);
}
Mouse.addListener(selecao);

agosto 14th, 2009

Assunto:

Propriedade; em função de construtor, a propriedade prototype refere-se a um objeto que é o protótipo da classe construída. Cada instância da classe que é criada pela função de construtor herda todas as propriedades e métodos do objeto protótipo.

ActionScript:

Versão 2.0

Código:

Código   
Array.prototype.randomize = function() {
 return this.sort(function (a, b) {
 return (Math.floor(Math.random() * 2) == 0) ? 1 : -1;
 });
};
 
myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 
trace(myArray.randomize());
agosto 13th, 2009

Dicas e informações sobre a migração de AS2 para AS3.

AS2 to AS3

SITES:
Adobe Flash CS4 Professional
ActionScript 3.0 e Componentes
Programação do Adobe ActionScript 3.0 para Adobe Flash
Tips for learning ActionScript 3.0
Getting Started with ActionScript 3.0 in Adobe Flash CS3
Learning ActionScript 3.0
ActionScript 3.0: Is It Hard or Not?
Flash CS3 – Migrando para o ActionScript 3
gotoandlearn.com – Free video tutorials by Lee Brimelow on the Flash Platform
Converter código AS2 para AS3

DOWNLOAD:
AS3 Migration
Adobe Flash AS3 Programando