julho 12th, 2010
Assunto:
Rotacionar um movieclip a partir do local de clique.
ActionScript:
Versão 2.0
Instruções Adicionais:
- Crie um novo Arquivo Flash AS2.
- Crie um objeto e converta-o em movieclip.
- Instancie-o com o nome desejado.
- Crie uma nova layer com o nome action e cole o código do AS2, lembrando de mudar a instância do movieclip no código (“transferidor”).
- Pronto, Ctrl+Enter.
Código AS2:
transferidor.onPress = function() {
// Captura o ângulo do local onde foi efetuado o clique do mouse
this.anginicial = this._rotation-Math.atan2(_ymouse-this._y, _xmouse-this._x)*180/Math.PI;
// Ao movimentar o mouse com o botão pressionado no movieclip é capturado a nova posição de rotação e assim aplicado ao movieclip
this.onMouseMove = function():Void {
this._rotation = Math.atan2(_ymouse-this._y, _xmouse-this._x)*180/Math.PI+this.anginicial;
};
};
transferidor.onRelease = transferidor.onReleaseOutside=function () {
// Ao soltar o movieclip, o evento onMouseMove é deletado
delete this.onMouseMove;
};
Download:
Arquivo fonte (8)
Posted in
ActionScript 2, Flash |
No Comments »
julho 6th, 2010
Assunto:
Utilizando a propriedade prototype para criar efeitos básicos como: fade in, fade out e mover na coordenada X e Y.
ActionScript:
Versão 2.0
Instruções Adicionais:
- Crie um novo Arquivo Flash AS2.
- Crie um objeto onde será aplicado os efeitos e converta-o em movieclip.
- Instancie-o como meumc.
- Crie uma nova layer com o nome action e cole o código actionscript.
- Pronto, Ctrl+Enter.
Código:
// Propriedade fade
// Parâmetros/Variáveis: t (tempo de duração) e a (intensidade do alpha)
MovieClip.prototype.fade = function (t, a)
{
this.tweenFade.stop();
delete this.tweenFade;
this.listenerFade = new Object();
this.listenerFade.ownerFade = this;
this.listenerFade.onMotionFinished = function ()
{
if (this.ownerFade._alpha == 0)
{
this.ownerFade._visible = false;
} // end if
false;
};
this._visible = true;
DispatchTweens();
this.tweenFade = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.Strong.easeIn, this._alpha, a, t, true);
this.tweenFade.addListener(this.listenerFade);
};
// Propriedade moveX: move o objeto na coordenada X
// Parâmetros/Variáveis: t (tempo de duração) e pos (posição final do objeto)
MovieClip.prototype.moveX = function (t, pos)
{
this.tweenMoveX.stop();
delete this.tweenMoveX;
DispatchTweens();
this.tweenMoveX = new mx.transitions.Tween(this, "_x", mx.transitions.easing.Strong.easeOut, this._x, pos, t, true);
};
// Propriedade moveY: move o objeto na coordenada Y
// Parâmetros/Variáveis: t (tempo de duração) e pos (posição final do objeto)
MovieClip.prototype.moveY = function (t, pos)
{
this.tweenMoveY.stop();
delete this.tweenMoveY;
DispatchTweens();
this.tweenMoveY = new mx.transitions.Tween(this, "_y", mx.transitions.easing.Elastic.easeOut, this._y, pos, t, true);
};
meumc._alpha = 0;
meumc.fade(0.5,100);
meumc.moveX(1,Stage.width/2);
meumc.moveY(1,Stage.height/2);
DOWNLOAD:
Arquivo fonte (5)
Posted in
ActionScript 2, Adobe, Flash |
No Comments »
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)
Tags: ActionScript 2, ActionScript 3, Flash
Posted in
ActionScript 2, ActionScript 3, Flash |
No Comments »
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)
Tags: ActionScript 2, Flash
Posted in
ActionScript 2, Flash |
No Comments »
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);
}
};
Tags: ActionScript 2, Flash
Posted in
ActionScript 2, Flash |
No Comments »
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)
Tags: ActionScript 2, Flash
Posted in
ActionScript 2, Flash |
No Comments »
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:
//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);
Tags: ActionScript 2, Flash
Posted in
ActionScript 2, Flash |
No Comments »
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:
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());
Tags: ActionScript 2, Flash
Posted in
ActionScript 2, Flash |
1 Comment »