Continuando a minha saga ........
preparei varios arquivos swf para carregar e realmente ele carregam....so que quando eu clicar na area onde são carregados (target_mc) disaparecem.
são arquivos feitos no mesmo programa cs4 as3 ... fotos 3D em um cubo, o API do GoogleMap, formulario de contato;
Os SWF abertos sozinhos funcionam perfeitaente mas quando carregados no target_mc e clicar nele .....disparecem do stage
Alguma dica?
aqui os codigos Actions:
//importaçoes
import fl.transitions.Tween;
import fl.transitions.easing.Bounce;
import fl.transitions.TweenEvent;
//variaveis
var topo:Tween;
var rodape:Tween;
var container:Loader = new Loader();
var ponteiro:URLRequest;//= new URLRequest("q1.png");
//egistro de eventos
topo_mc.bt1_btn.addEventListener(MouseEvent.CLICK, _cliquei);
topo_mc.bt2_btn.addEventListener(MouseEvent.CLICK, _cliquei);
topo_mc.bt3_btn.addEventListener(MouseEvent.CLICK, _cliquei);
topo_mc.bt4_btn.addEventListener(MouseEvent.CLICK, _cliquei);
//funcoes
function _cliquei(e:MouseEvent):void {
topo=new Tween(topo_mc,"y",Bounce.easeOut,80,240,2,true);
rodape=new Tween(rodape_mc,"y",Bounce.easeOut,440,240,2,true);
//container.load(ponteiro);
//container_mc.addChild(container);
switch (e.target.name) {
case "bt1_btn" :
ponteiro=new URLRequest("q1.png");
break;
case "bt2_btn" :
ponteiro=new URLRequest("q2.png");
break;
case "bt3_btn" :
ponteiro=new URLRequest("banheiro.png");
break;
case "bt4_btn" :
ponteiro=new URLRequest("q1.png");
break;
}
topo.addEventListener(TweenEvent.MOTION_FINISH, _voltar);
//trace(e.target.name);
}
function _voltar(e:TweenEvent):void {
container.load(ponteiro);
container_mc.addChild(container);
topo=new Tween(topo_mc,"y",Bounce.easeOut,240,80,1,true);
rodape=new Tween(rodape_mc,"y",Bounce.easeOut,240,440,1,true);
}
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapType;
import com.google.maps.LatLng;
import com.google.maps.controls.MapTypeControl;
import com.google.maps.controls.ZoomControl;
import com.google.maps.controls.PositionControl;// to test
import com.google.maps.overlays.Marker;
var map:Map = new Map();
map.key="ABQIAAAAYf64voAjaOKNI3B_QN2WthQDsb_fEK_Qa_CUZo204Nu3VHJakxQLm-9CGv6BM-X8zkybSEoxd1dkXw";
map.sensor="false";
map.setSize(new Point(stage.stageWidth, stage.stageHeight));
map.addControl(new ZoomControl());
map.addControl(new MapTypeControl());
this.addChild(map);
map.addEventListener(MapEvent.MAP_READY, mapOk);
function mapOk(event:MapEvent):void {
var marca:Marker=new Marker(new LatLng(-8.508657,-35.003506));
map.addOverlay(marca);
map.setCenter(new LatLng(-8.508657, -35.003506), 16, MapType.NORMAL_MAP_TYPE);//MapType.SATELLITE_MAP_TYPE
}
package {
//classes basicas do flash
import flash.display.Sprite;
import flash.events.Event;
//classes do pv3D basica para iniciar a engine
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.view.Viewport3D;
//classes para utilizar no ambiente
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.events.InteractiveScene3DEvent;
import org.papervision3d.materials.BitmapFileMaterial;
public class Kubo extends Sprite {
//variaveis basicas da engine
private var cena:Scene3D;
private var camera:Camera3D;
private var render:BasicRenderEngine;
private var janela:Viewport3D;
//variaveis gerais
private var cubo:Cube;
private var lista:MaterialsList;
private var wireFrame=new WireframeMaterial(0x333333);
//
private var txFront:BitmapFileMaterial=new BitmapFileMaterial("pdg.jpg");
private var txBack:BitmapFileMaterial=new BitmapFileMaterial("praia.png");
private var txLeft:BitmapFileMaterial=new BitmapFileMaterial("hall.png");
private var txRight:BitmapFileMaterial=new BitmapFileMaterial("denoite.png");
private var txTop:BitmapFileMaterial=new BitmapFileMaterial("coqueiros.png");
private var txBottom:BitmapFileMaterial=new BitmapFileMaterial("q1.png");
//controle de animaçao e tween
private var rotacaoX:Number=0;
private var rotacaoY:Number=0;
private var rotacaoZ:Number=0;
private var tween:Boolean=false;
public function Kubo():void {
//nomes para as variaveis de textura
txFront.name="front";
txBack.name="back";
txLeft.name="left";
txRight.name="right";
txTop.name="top";
txBottom.name="bottom";
//ativando interatividade
txFront.interactive=true;
txBack.interactive=true;
txLeft.interactive=true;
txRight.interactive=true;
txTop.interactive=true;
txBottom.interactive=true;
//wireFrame.doubleSided=true;
//wireFrame.interactive=true;
//criar lista de texturas com base nas variaveis
lista=new MaterialsList ;
lista.addMaterial(txFront,"front");
lista.addMaterial(txBack,"back");
lista.addMaterial(txLeft,"left");
lista.addMaterial(txRight,"right");
lista.addMaterial(txTop,"top");
lista.addMaterial(txBottom,"bottom");
cubo=new Cube(lista,600,600,600,3,3,3);
janela=new Viewport3D(700,480,false,true);
addChild(janela);
cena=new Scene3D ;
camera=new Camera3D ;
render=new BasicRenderEngine ;
cena.addChild(cubo);
//registrei evento interativo ao cubo
cubo.addEventListener(InteractiveScene3DEvent.OBJECT_PRESS, _cliquei);
addEventListener(Event.ENTER_FRAME,_renderizador);
}
//verifica em qual face cliquei e posiciona na tela a coordenada correta
public function _cliquei(e:InteractiveScene3DEvent):void {
if (tween) {
//para animação e faz o zoom
tween=false;
} else {
switch (e.face3d.material.name) {
//posiciono por codigo as coordenadas dos objetos
case "front" :
rotacaoX=0;
rotacaoY=180;
rotacaoZ=0;
tween=true;
break;
case "back" :
rotacaoX=0;
rotacaoY=0;
rotacaoZ=0;
tween=true;
break;
case "left" :
rotacaoX=0;
rotacaoY=-90;
rotacaoZ=0;
tween=true;
break;
case "right" :
rotacaoX=0;
rotacaoY=90;
rotacaoZ=0;
tween=true;
break;
case "top" :
rotacaoX=-90;
rotacaoY=0;
rotacaoZ=0;
tween=true;
break;
case "bottom" :
rotacaoX=90;
rotacaoY=0;
rotacaoZ=180;
tween=true;
break;
}
}
}
public function _renderizador(e:Event):void {
if (tween) {
//se for menor que 60 o angulo da se um zoom com base no tween
if (camera.zoom<60) {
//faz umtween para obter um valor de 60 para cima de angulo
camera.zoom+=Math.sqrt(4800+camera.zoom)/8;
}
//faz o tween dos eixos e posiciona no original
//eixo x
if (cubo.rotationX<rotacaoX) {
cubo.rotationX+=Math.sqrt(rotacaoX-cubo.rotationX);
cubo.rotationX=Math.round(cubo.rotationX);
} else {
cubo.rotationX-=Math.sqrt(cubo.rotationX-rotacaoX);
cubo.rotationX=Math.round(cubo.rotationX);
}
//rotationY
if (cubo.rotationY<rotacaoY) {
cubo.rotationY+=Math.sqrt(rotacaoY-cubo.rotationY);
cubo.rotationY=Math.round(cubo.rotationY);
} else {
cubo.rotationY-=Math.sqrt(cubo.rotationY-rotacaoY);
cubo.rotationY=Math.round(cubo.rotationY);
}
//eixoz
if (cubo.rotationZ<rotacaoZ) {
cubo.rotationZ+=Math.sqrt(rotacaoZ-cubo.rotationZ);
cubo.rotationZ=Math.round(cubo.rotationZ);
} else {
cubo.rotationZ-=Math.sqrt(cubo.rotationZ-rotacaoZ);
cubo.rotationZ=Math.round(cubo.rotationZ);
}
} else {
// posiciona a camera no angolo -20
if (camera.zoom>20) {
camera.zoom-=Math.sqrt(camera.zoom-20)/5;
}
//faz a animaçao no objeto
cubo.rotationX+=1;
cubo.rotationY+=2;
//controla para não gerar um tween gigante e tremulo com base na rotaçao
if (cubo.rotationX>=360) {
cubo.rotationX=0;
}
if (cubo.rotationY>=360) {
cubo.rotationY=0;
}
}
//render padrao
render.renderScene(cena,camera,janela);
}
}
}