Como eu sou um fã de Flex, resolvi fazer um exemplo em Flex 3, mas acabei descobrindo que ela não é totalmente compatível com o Flex, dependendo da utilização de alguns métodos ela da alguns erros de compilação. Senti falta também da documentação online que segundo no site em breve estará disponível.
+ Clique no Retângulo para setar uma posição aletória.
- Faça o download do framework no site:
five3d.mathieu-badimon.com - Crie um projeto em Flex e copie todo conteúdo da biblioteca para seu projeto.
- Agora basta utilizar as classes para implementar seu código e compilar sua aplicação.
<?xml version="1.0" encoding="utf-8"?>Clique para Baixar o Exemplo: Five3D_source.rar
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
backgroundGradientColors="[#dddddd,#dddddd]"
layout="absolute"
width="500"
height="500"
creationComplete="start()">
<mx:UIComponent id="mainUI"/>
<mx:Script>
<![CDATA[
import five3D.typography.HelveticaBold;
import five3D.utils.Drawing;
import five3D.display.Scene3D;
import five3D.display.DynamicText3D;
import five3D.display.Shape3D;
import five3D.display.Sprite3D;
private var scene3D:Scene3D;
private var sprite3D:Sprite3D;
private var star3d:Shape3D;
private var textFng:DynamicText3D;
private var textRIA:DynamicText3D;
private function start():void
{
// Cria Cena
scene3D = new Scene3D();
scene3D.x = 250;
scene3D.y = 250;
// Cria Retângulo Arredondado
sprite3D = new Sprite3D();
sprite3D.graphics3D.beginFill(0x006633);
sprite3D.graphics3D.drawRoundRect(-150, -150, 300, 300, 40, 40);
sprite3D.graphics3D.endFill();
// Gira o Retângulo Aleatoriamente
sprite3D.rotationX = Math.random()*100-50;
sprite3D.rotationY = Math.random()*100-50;
sprite3D.rotationZ = Math.random()*100-50;
// Cria Estrela
star3d = new Shape3D();
Drawing.star(star3d.graphics3D, 20, 60, 50, 0, 0x5C9E5C);
star3d.x = 120;
star3d.y = -80;
// Criando evento de EnterFrame para a Estrela
star3d.addEventListener(Event.ENTER_FRAME,
function (event:Event):void
{
// Gira Estrela Continuamente Somente no Eixo Z
event.target.rotationZ++;
}
);
// Cria Texto "Fng"
textFng = new DynamicText3D(HelveticaBold);
textFng.size = 40;
textFng.color = 0xFFFFFF;
textFng.text = "Fng";
textFng.x = 85;
textFng.y = -110;
// Cria Texto "RIA"
textRIA = new DynamicText3D(HelveticaBold);
textRIA.size = 100;
textRIA.color = 0xFFFFFF;
textRIA.text = "RIA";
textRIA.x = -100;
textRIA.y = -34;
// Criando evento de Click para o Retângulo
sprite3D.addEventListener(MouseEvent.CLICK,
function(event:MouseEvent):void
{
// Gira o Retângulo Aleatoriamente nos 3 Eixos
event.target.rotationX = Math.random()*100-50;
event.target.rotationY = Math.random()*100-50;
event.target.rotationZ = Math.random()*100-50;
}
);
// Criando evento de EnterFrame para o Retângulo
sprite3D.addEventListener(Event.ENTER_FRAME,
function (event:Event):void
{
// Gira o Retângulo nos 2 Eixos
event.target.rotationY++;
event.target.rotationZ++;
}
);
sprite3D.mouseChildren = false;
sprite3D.buttonMode = true;
// Adicionando Cena no mainUI Componente
mainUI.addChild(scene3D);
// Adicionando Retângulo Arredondado na Cena
scene3D.addChild(sprite3D);
// Adicionando Estrela no Retângulo Arredondado
sprite3D.addChild(star3d);
// Adicionando Texto "Fng" no Retângulo Arredondado
sprite3D.addChild(textFng);
// Adicionando Texto "RIA" no Retângulo Arredondado
sprite3D.addChild(textRIA);
}
]]>
</mx:Script>
</mx:Application>
Nenhum comentário:
Postar um comentário