JoinU2

Teste

more about "JoinU2", posted with vodpod

Carregando XML com Actionscript 3.0

Neste tutorial iremos aprender como carregar um xml usando Actionscript 3.0, assim iremos entender como o suporte ao xml esta muito mais simples…

Primeiramente iremos criar o XML salvando o mesmo na pasta em que se encontra o arquivo .swf

agenda.xml

<?xml version=”1.0″ encoding=”utf-8″ ?>
<agenda>
<contatos>
<contato>
<nome>Danillo Castilho</nome>
<telefone>1111-1111</telefone>
<celular>2222-2222</celular>
</contato>
<contato>
<nome>Danillo Castilho</nome>
<telefone>3333-3333</telefone>
<celular>4444-4444</celular>
</contato>
</contatos>
<contatos>
<contato nome=”Danillo Castilho” telefone=”5555-5555″ celular=”6666-6666″ />
<contato nome=”Danillo Castilho” telefone=”7777-7777″ celular=”8888-8888″ />
</contatos>
</agenda>

Agora iremos ao actionscript, primeiramente iremos criar as variaveis e as propriedados para carregar o XML

System.useCodePage = true;

var xml:String = “agenda.xml”;
var xmlRequest:URLRequest = new URLRequest(xml);

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(xmlRequest);

Com isto o xml já será carregado! para visualização teremos de aplicar um listener no URLLoader…

xmlLoader.addEventListener(Event.COMPLETE, readXML);

e depois iremos navegar no XML, esta navegação será de 2 modos para visualizar o poder do Actionscript 3.0

function readXML(e:Event):void {
var i:int = 0;

var contacts:XML = new XML(e.target.data);
contacts.ignoreWhitespace = true;

var list:XMLList = contacts.contatos;

trace(“FIRST LIST\n”);

for( i = 0; i < list[0].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[0].contato[i].nome);
trace(list[0].contato[i].telefone);
trace(list[0].contato[i].celular);
trace(“————————————————–\n”);
}

trace(“SECOND LIST\n”);

for( i = 0; i < list[1].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[1].contato[i].@nome);
trace(list[1].contato[i].@telefone);
trace(list[1].contato[i].@celular);
trace(“————————————————–\n”);
}

}

Assim teremos a leitura do XML por completo:

System.useCodePage = true;

var xml:String = “agenda.xml”;
var xmlRequest:URLRequest = new URLRequest(xml);

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(xmlRequest);

xmlLoader.addEventListener(Event.COMPLETE, readXML);

function readXML(e:Event):void {
var i:int = 0;

var contacts:XML = new XML(e.target.data);
contacts.ignoreWhitespace = true;

var list:XMLList = contacts.contatos;

trace(“FIRST LIST\n”);

for( i = 0; i < list[0].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[0].contato[i].nome);
trace(list[0].contato[i].telefone);
trace(list[0].contato[i].celular);
trace(“————————————————–\n”);
}

trace(“SECOND LIST\n”);

for( i = 0; i < list[1].contato.length(); i++ ){
trace(“————————————————–”);
trace(list[1].contato[i].@nome);
trace(list[1].contato[i].@telefone);
trace(list[1].contato[i].@celular);
trace(“————————————————–\n”);
}

}

Até a próxima pessoal!

Movimentos simulando Wii da Nintendo

Beleza pessoal? a um tempo atrás acessando alguns sites, achei muito boa a ideia o game Wario Land para o console Wii da Nintendo!

http://www.wariolandshakeit.com/launch/index.html

Hoje criei uma pequena classe simulando a aplicação gerada no menu do site! bem simples!

Usaremos uma estrutura simples para a aplicação imports, variaveis, construtor e listeners para detectar o movimento.

Usaremos a classe Tweener para fazer movimentos e o link para download da classe esta abaixo:

http://code.google.com/p/tweener/

Agora vamos ao código:

package {

/**
* …
* Danillo Castilho
* PressMove Class – use this class for simulate a wii interactions
*/

// IMPORTS —————————————————————————–

import caurina.transitions.*;

import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;

public class PressMove extends Sprite {

// VARIABLES ———————————————————————-
// variaveis da classe

var container:                    Sprite = new Sprite();
var containerView:                Sprite = new Sprite();
var actualMouseX:                Number = 0;
var directionX:                    Number = 0;
var directionType:                String; // TYPES = RIGHT AND LEFT
var moviments:                    int = 0;
var intensive:                    int = 100;
var counterTimer:                Timer;
var pctAlpha:                    Number = 0;

// CONSTRUCTOR ——————————————————————–

public function PressMove() {
createContainer(); // cria os objetos principais
startTimer(); // cria o timer para verificação se o objeto esta sendo movimentado
}

// CREATE OBJECTS —————————————————————–
// cria os containers principais para os testes da aplicação

private function createContainer() {
container.graphics.beginFill(0×000000, 1);
container.graphics.lineStyle(1, 0×000000, 1);
container.graphics.moveTo(0, 0);
container.graphics.drawCircle(10, 10, 40);
container.graphics.endFill();

container.x = 200;
container.y = 200;

container.buttonMode = true;
container.addEventListener(MouseEvent.MOUSE_DOWN, downMouse);
container.addEventListener(MouseEvent.MOUSE_UP, upMouse);

addChild(container);

containerView.graphics.beginFill(0×000000, 1);
containerView.graphics.lineStyle(1, 0×000000, 1);
containerView.graphics.moveTo(0, 0);
containerView.graphics.drawCircle(10, 10, 40);
containerView.graphics.endFill();

containerView.x = 30;
containerView.y = 30;
containerView.alpha = 0;

addChild(containerView);
}

// CREATE TIMER —————————————————————–
// cria o timer para principal que irá verificar se o objeto esta sendo movimentado

private function startTimer() {
counterTimer = new Timer(intensive);
counterTimer.addEventListener(TimerEvent.TIMER, downMovimentValue);
counterTimer.start();
}

// LISTENERS ——————————————————————–
// listeners da aplicação

// listener usado quando o objeto segura o click do mouse
private function downMouse(evt:MouseEvent) {
container.addEventListener(MouseEvent.MOUSE_MOVE, moveMouse);
}

// listener usado quando o objeto solta o click do mouse
private function upMouse(evt:MouseEvent) {
container.removeEventListener(MouseEvent.MOUSE_MOVE, moveMouse);
Tweener.addTween(container, { x: 200, time: 0.2 } );
}

// listener usado quando segura o click e movimenta o mouse
private function moveMouse(evt:MouseEvent) {
var mouseMoviment:Number = stage.mouseX;

pctAlpha = moviments / 100; // porcentagem usada para criar o alpha do objeto que verifica o movimento

// verifica a posição do mouse antigo e atual para acionar uma direcao e acrescentar valores caso o mouse recebe movimentos continuos de direira e esquerda
if (actualMouseX < mouseMoviment) {
if (directionType == “RIGHT”) {
moviments++;
}
Tweener.addTween(container, { x: 210, time: 0.2 } );
directionType = “LEFT”;
} else if (actualMouseX > mouseMoviment) {
if (directionType == “LEFT”) {
moviments++;
}
Tweener.addTween(container, { x: 190, time: 0.2 } );
directionType = “RIGHT”;
}
Tweener.addTween(containerView, { alpha: pctAlpha, time: 0.2 } );
actualMouseX = stage.mouseX;
}

// verifica o movimento do objeto caso não esteje ativo o valor alpha será diminuido constantemente..!
private function downMovimentValue(evt:TimerEvent) {
if (moviments <= 0) {
moviments = 0;

Tweener.addTween(containerView, { alpha: 0, time: 0.2 } );
} else {
moviments–;

pctAlpha = moviments / 100;
Tweener.addTween(containerView, { alpha: pctAlpha, time: 0.2 } );
}
}

}

}

Pronto..! agora é só usar.. e pensar em coisas criativar para usar a aplicação!! já pensei algumas malucas.. e logo mais faço o post do código! valhew!!

Papervision + Actionscript 3.0 + AMFPHP

Beleza pessoal? abaixo uma aplicação que estou fazendo baseada no coverflow gerado para o youtube live!

http://www.youtube.com/live

A estrutura não é complicada! papervision para a base 3D e rotação dos objetos, as3 para as aplicações de conexão, preloader, entre outras.. e amfphp como gateway de conexão php para receber os dados dinamicamente! lembrando que para este tipo de aplicação é necessário um ondemmand.. aplicação sobre demanda.. para que fique leve e sejam carregados apenas objetos que realmente precisem ser visualizadas pelo user!

Papervision

Papervision

Logo.. mais o AS3 é de vocês… valhew galera..!! até mais…

Alguns jobs.. e Spark Project.

Beleza pessoal? segue abaixo alguns links de trabalhos realizado atualmente!

http://www.brastemp.com.br/promocaoative/

http://www.sucrilhos.com.br/site2008/

http://www.milcasmurros.com.br

E abaixo.. uma library muito boa de Actionscript e muito mais.!! chamada de Spark Project, realmente as aplicações são de deixar muitos.. de cabelo em pé..!

http://www.libspark.org/browser/as3/FLARToolKit/trunk?rev=1947

Valhew pessoal… até a próxima.!

PV3D – Hello World

Pessoal, hoje iremos ver o hello world do Papervision 3D apenas um simple plane na tela!

package {

/**
* …
* Danillo Castilho
* danilo@simplebrasil.com
*
*
*/

//IMPORTS—————————————————————————

import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.cameras.*;
import org.papervision3d.events.*;
import org.papervision3d.view.*;
import org.papervision3d.scenes.*;
import org.papervision3d.render.*;
import org.papervision3d.core.effects.*;
import org.papervision3d.core.geom.*;
import org.papervision3d.lights.*;

import flash.accessibility.*;
import flash.display.*;
import flash.errors.*;
import flash.events.*;
import flash.external.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.system.*;
import flash.text.*;
import flash.utils.*;
import flash.xml.*;

// PUBLIC CLASS ————————————————————————-

public class PV3D extends Sprite {

// VARIABLES ———————————————————————–

private var viewport: Viewport3D = new Viewport3D(0,0,true,true);
private var scene: Scene3D = new Scene3D();
private var camera: Camera3D = new Camera3D();
private var renderEngine: BasicRenderEngine = new BasicRenderEngine();

private var objMaterial: flashIcon;
private var arrMaterial: Array = new Array();
private var arrPlanes: Array = new Array();

// CONSTRUCTOR ——————————————————————-

public function PV3D() {
createPapervision(); // CRIAR APLICAÇÕES PRINCIPAIS DO PAPERVISION
}

// LISTENERS ———————————————————————–

private function render(evt:Event):void {
renderEngine.renderScene(scene, camera, viewport);
}

// ADD’S —————————————————————————-

private function createPapervision() {
addChild(viewport); // ADD VIEWPORT AO PALCO
stage.addEventListener(Event.ENTER_FRAME, render); // LISTENER PADRÃO DO PAPERVISION
createPlane(); // CRIAR OBJETOS DO PAPERVISION
}

private function createPlane() {
objMaterial = new flashIcon(); // CRIA UM OBJETO flashIcon QUE É UM MOVIECLIP QUE ESTA NA LIBRARY

arrMaterial[0] = new MovieMaterial(objMaterial, true); // CRIA UM MATERIAL
arrMaterial[0].animated = true;
arrMaterial[0].oneSide = true;
arrMaterial[0].interactive = true;

arrPlanes[0] = new Plane(arrMaterial[0], objMaterial.width, objMaterial.height, 2, 2); // CRIA PLANE

scene.addChild(arrPlanes[0]); // ADICIONA PLANE AO SCENE 3D

}

}

}

Super simples, agora é só colocar a classe como ducument class do filme swf e atribuir em preferences as app’s do papervision!

http://code.google.com/p/papervision3d/

Fuiss… até a próxima.!

Mil Casmurros

Aplicação criada para o site www.milcasmurros.com.br

more about "Mil Casmurros

Links Necessários

Beleza pessoal.?? meu primeiro post no blog..! abaixo alguns links bacanas referente actionscript 3.

http://actionscriptcheatsheet.com/blog/2007/03/01/actionscript-20-to-30-migration-cheatsheets-new-free-download/

http://theflashblog.com/

http://www.flashdevelop.org/wikidocs/index.php?title=Features:Interface

http://www.gotoandlearn.com/

Fuiss… na próxima iremos colocar a mão na massa!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.