Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gelinhofrancis

Classe Zoom - Nivel MC's

Recommended Posts

E ai galera... preciso de uma ajuda...

 

 

Tenho 2 duvidas.

 

1) tenho 2 MCs na linha de tempo principal. no caso:

mc1: controle com botões etc...

mc2: apenas a imagem

 

A questão é: dentro do mc1 inseri um codigo para escalonar e movimentar o mc2. se usado o codigo na timer line principal funciona tudo certinho, mas quando coloco dentro do mc1(controle) a coisa da uma desandadaum mcclip fica por cima do outro... como faço pra mecher com nivel de objetos...

 

 

 

2)É muito complicado passar meu codigo para um classe? (alguem pode me ajudar, não manjo nada de classe e queira começar por esse)

 

segue o codigo:

stop();

import fl.transitions.*;
import fl.transitions.easing.*;
import flash.display.Shape;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.*;

//cotrolezoom no caso é um mc feito a mão ou seja: tem botões para direita, esquerda, cima e baixo e um bt que da o reset na imagem escalonada
MovieClip(root).controle_zoom.x = -15;
MovieClip(root).controle_zoom.y = 30;

//graf aq no caso seria o mc q tem apenas a imagem dentro
graf.x = 70;
graf.y = 180;

//Criando os QDS (quadrados que ao clicar neles a imagem escalona na posição que eles estão)
//=================================================== 1 linha
//==>>QD1
var qd1:MovieClip= new MovieClip();
qd1.graphics.beginFill(0x00CCFF);
qd1.graphics.lineStyle(0, 0xaaaaaa);
qd1.graphics.drawRect(65, 150, 320, 280);
qd1.graphics.endFill();
qd1.alpha = 0;
this.addChild(qd1);

//==>>QD2
var qd2:MovieClip= new MovieClip();
qd2.graphics.beginFill(0x00CCFF);
qd2.graphics.lineStyle(0, 0xaaaaaa);
qd2.graphics.drawRect(385, 150, 320, 280);
qd2.graphics.endFill();
qd2.alpha = 0;
this.addChild(qd2);

//=================================================== 2 linha
//==>>QD3
var qd3:MovieClip= new MovieClip();
qd3.graphics.beginFill(0x00CCFF);
qd3.graphics.lineStyle(0, 0xaaaaaa);
qd3.graphics.drawRect(65, 430, 320, 280);
qd3.graphics.endFill();
qd3.alpha = 0;
this.addChild(qd3);

//==>>QD4
var qd4:MovieClip= new MovieClip();
qd4.graphics.beginFill(0x00CCFF);
qd4.graphics.lineStyle(0, 0xaaaaaa);
qd4.graphics.drawRect(385, 430, 320, 280);
qd4.graphics.endFill();
qd4.alpha = 0;
this.addChild(qd4);

//=============================================================================================
//==> Mascara e Base
function maskzoom() {

	//Base Mascara
	var baseMask:MovieClip= new MovieClip();
	baseMask.graphics.beginFill(0xffffff);
	baseMask.graphics.lineStyle(0, 0xaaaaaa);
	baseMask.graphics.drawRect(65, 150, 640, 560);
	baseMask.graphics.endFill();
	stage.addChild(baseMask);
	var filter:DropShadowFilter = new DropShadowFilter();
	baseMask.filters = [filter];

	//mascara em sí
	var square:MovieClip = new MovieClip();
	square.graphics.lineStyle(1, 0x000000);
	square.graphics.beginFill(0xD5D9D1);
	square.graphics.drawRect(65, 150, 640, 560);
	square.graphics.endFill();
	stage.addChild(square);
	graf.mask = square;
}
maskzoom();
//=============================================================================================
//==> SCALONAMENTO
//==========================================================================QDs linha 1
// qd1
qd1.addEventListener(MouseEvent.CLICK, QD1);
function QD1(e:MouseEvent):void {

	var twX1:Tween = new Tween(graf, "x", Regular.easeOut, mouseX, 70, 1, true);
	var twY1:Tween = new Tween(graf, "y", Regular.easeOut, mouseY, 150, 1, true);
	trace("qd1");
	var twXS1:Tween = new Tween(graf, "scaleX", Regular.easeOut, 1, 2.1, 1, true);
	var twYS1:Tween = new Tween(graf, "scaleY", Regular.easeOut, 1, 2.1, 1, true);
	enibe();
}
//qd2
qd2.addEventListener(MouseEvent.CLICK, QD2);
function QD2(e:MouseEvent):void {

	var twX2:Tween = new Tween(graf, "x", Regular.easeOut, mouseX, -600, 1, true);
	var twY1:Tween = new Tween(graf, "y", Regular.easeOut, mouseY, 150, 1, true);
	trace("qd2");
	var twXS2:Tween = new Tween(graf, "scaleX", Regular.easeOut, 1, 2.1, 1, true);
	var twYS2:Tween = new Tween(graf, "scaleY", Regular.easeOut, 1, 2.1, 1, true);
	enibe();
}

//==========================================================================QDs linha 2
// qd3
qd3.addEventListener(MouseEvent.CLICK, QD3);
function QD3(e:MouseEvent):void {

	var twX3:Tween = new Tween(graf, "x", Regular.easeOut, mouseX, 70, 1, true);
	var twY3:Tween = new Tween(graf, "y", Regular.easeOut, mouseY, -300, 1, true);
	trace("qd3");
	var twXS3:Tween = new Tween(graf, "scaleX", Regular.easeOut, 1, 2.1, 1, true);
	var twYS3:Tween = new Tween(graf, "scaleY", Regular.easeOut, 1, 2.1, 1, true);
	enibe();
}
//qd4
qd4.addEventListener(MouseEvent.CLICK, QD4);
function QD4(e:MouseEvent):void {

	var twX4:Tween = new Tween(graf, "x", Regular.easeOut, mouseX, -600, 1, true);
	var twY4:Tween = new Tween(graf, "y", Regular.easeOut, mouseY, -300, 1, true);
	trace("qd4");
	var twXS4:Tween = new Tween(graf, "scaleX", Regular.easeOut, 1, 2.1, 1, true);
	var twYS4:Tween = new Tween(graf, "scaleY", Regular.easeOut, 1, 2.1, 1, true);
	enibe();
}

//==> RESET
//==================================================================
MovieClip(root).controle_zoom.btless.addEventListener(MouseEvent.MOUSE_DOWN, lessFunc);
function lessFunc(event:MouseEvent):void {

	var tween:Tween = new Tween(graf, "scaleX", Regular.easeIn, 1, 1, 1, true);
	var twenn:Tween = new Tween(graf, "scaleY", Regular.easeIn, 1, 1, 1, true);

	var tweenXA1:Tween = new Tween(graf, "x", Regular.easeOut, 70, 70, 1, true);
	var tweenYA1:Tween = new Tween(graf, "y", Regular.easeOut, 180, 180, 1, true);
	remedioEnibe();
}

//==================================================================
//==> Nav MC com Timer
//]]]]]]]]]]]]]]]]]] Adicionando evento timer
//TonNSLO=>> N=norte, S=sul, L=leste, O=oeste
MovieClip(root).controle_zoom.btnU.addEventListener(MouseEvent.MOUSE_OVER, tOnN);
MovieClip(root).controle_zoom.btsD.addEventListener(MouseEvent.MOUSE_OVER, tOnS);
MovieClip(root).controle_zoom.btlR.addEventListener(MouseEvent.MOUSE_OVER, tOnO);
MovieClip(root).controle_zoom.btoL.addEventListener(MouseEvent.MOUSE_OVER, tOnL);

function tOnN(event:MouseEvent):void {
	timerN.start();
}
function tOnS(event:MouseEvent):void {
	timerS.start();
}
function tOnL(event:MouseEvent):void {
	timerL.start();
}
function tOnO(event:MouseEvent):void {
	timerO.start();
}

//==> temporizador faz com que o: graf.x += 15; entre em uma especie de Loop,
//assim enquanto o mouse estiver sob o bt o graf continua recebendo .x += 15;
var timerN:Timer = new Timer(100);
var timerS:Timer = new Timer(100);
var timerL:Timer = new Timer(100);
var timerO:Timer = new Timer(100);

timerN.addEventListener(TimerEvent.TIMER, onTimerN);
timerS.addEventListener(TimerEvent.TIMER, onTimerS);
timerL.addEventListener(TimerEvent.TIMER, onTimerL);
timerO.addEventListener(TimerEvent.TIMER, onTimerO);

function onTimerN(evt:TimerEvent):void {
	graf.y -= 20;
}
function onTimerS(evt:TimerEvent):void {
	graf.y += 20;
}
function onTimerL(evt:TimerEvent):void {
	graf.x -= 20;
}
function onTimerO(evt:TimerEvent):void {
	graf.x += 20;
}

//]]]]]]]]]]]]]]]]]] Removendo evento de timer
//ToffNSLO=>> N=norte, S=sul, L=leste, O=oeste
MovieClip(root).controle_zoom.btnU.addEventListener(MouseEvent.MOUSE_OUT, tOffNSLO);
MovieClip(root).controle_zoom.btsD.addEventListener(MouseEvent.MOUSE_OUT, tOffNSLO);
MovieClip(root).controle_zoom.btlR.addEventListener(MouseEvent.MOUSE_OUT, tOffNSLO);
MovieClip(root).controle_zoom.btoL.addEventListener(MouseEvent.MOUSE_OUT, tOffNSLO);

function tOffNSLO(event:MouseEvent):void {
	timerN.stop();
	timerS.stop();
	timerL.stop();
	timerO.stop();
}
//==================================================================================
//==>>Enibe função de mouse
function enibe() {
	qd1.mouseEnabled = false;
	qd2.mouseEnabled = false;
	qd3.mouseEnabled = false;
	qd4.mouseEnabled = false;
}
//==>>Remedio Enibe função de mouse
function remedioEnibe() {
	qd1.mouseEnabled = true;
	qd2.mouseEnabled = true;
	qd3.mouseEnabled = true;
	qd4.mouseEnabled = true;
}

//==================================================================================
qd2.buttonMode = true;
qd3.buttonMode = true;
qd4.buttonMode = true;


function verdade(e:MouseEvent):void {
	e.target.buttonMode = true;
	e.target.alpha = 0.5;
}
function falso(e:MouseEvent):void {
	e.target.buttonMode = false;
	e.target.alpha = 0;
}

qd1.addEventListener(MouseEvent.MOUSE_OVER, verdade);
qd1.addEventListener(MouseEvent.MOUSE_OUT, falso);

qd2.addEventListener(MouseEvent.MOUSE_OVER, verdade);
qd2.addEventListener(MouseEvent.MOUSE_OUT, falso);

qd3.addEventListener(MouseEvent.MOUSE_OVER, verdade);
qd3.addEventListener(MouseEvent.MOUSE_OUT, falso);

qd4.addEventListener(MouseEvent.MOUSE_OVER, verdade);
qd4.addEventListener(MouseEvent.MOUSE_OUT, falso);

//==>> AQUI ESTA O PROBLEMA PARA A PRIMEIRA QUESTÃO, POR ISSO IMAGINEI QUE SE COLOCAR EM CLASSE RESOLVE TUDO
//Instanciamento Objetos, aquei defini a profundidade de um ojeto sobre o outro 
stage.addChild(graf);
stage.addChild(qd1);
stage.addChild(qd2);
stage.addChild(qd3);
stage.addChild(qd4);
stage.addChild(MovieClip(root).controle_zoom);

ex: do meu controle_zoom:

 

http://img2.pict.com.../0/controle.png

 

OU

Imagem Postada

 

OU

 

http://img2.pict.com.../0/controle.png

 

Caramba... achei que aqui ia ser respondido ja que existe ou pleo menos a gente acha q existe boas pessoas cranio no AS3... nossa ja é o segundo topico que posto pedindo ajuda e nada... ow gente não vai rolar compartilhar então pq garanto que o codigo q postei pra facilitar a explicação muita gente ja esta usando ou vai usar... e ai... ninguem ai sabe me dizer sobre como alterar niveis de objetos?? ou por onde começo pra colocar o meu codigo em um arquivo de extenção .AS ao inves de mantelo no .SWF??

 

vamos lá... ninguem ai pode ajudar ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Se ninguém respondeu ou é porque ninguem sabe a respota... ou porque ninguem teve tempo de responder.

2 - Lembrando que ninguem aqui é HELP DESK

 

Para adicionar objeto dentro do outro você faz:

var mc1:MovieClip = new MovieClip();
var mc2:MovieClip = new MovieClip();

addChild(mc1);
mc1.addChild(mc2);

Se quiser pode utilizar o addChildAt e adicionar a profundidade desejada.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.