..:: MX Studio Fóruns ::..: Colorir em flash AS2 [RESOLVIDO] - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Colorir em flash AS2 [RESOLVIDO]

#1 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 03 July 2011 - 12:31 AM

Ola galéra, tudo bem?
Bom estou precisando muito da ajuda de vcs, veja se alguem pode me ajudar. E o seguinte!
Estou criando um sisteminha de colorir em flash da seguinte forma.
1- Criei um MOVIECLIP vazio que fica posicionado no palco na LAYER OBJETOS/FRAME1. Neste este MOVIECLIP tem instancia ACTIONS e nele esta a seguinte ação.
onClipEvent (enterFrame) {
function setColor() {
if (_root.color == "azul") {
eval("_root.alvo"+_root.i).quadro.setRGB(0x0000C0);
} else if (_root.color == "verde") {
eval("_root.alvo"+_root.i).quadro.setRGB(0x00A060);
} else if (_root.color == "amarelo") {
eval("_root.alvo"+_root.i).quadro.setRGB(0xFFFF60);
} else if (_root.color == "vermelho") {
eval("_root.alvo"+_root.i).quadro.setRGB(0xFF0000);
} else if (_root.color == "preto") {
eval("_root.alvo"+_root.i).quadro.setRGB(0x000000);
} else if (_root.color == "branco") {
eval("_root.alvo"+_root.i).quadro.setRGB(0xFFFFFF);
}
}
}

2- Depois criei um botão de cada cor azul, verde, vermelho, etc. Em cada um deles esta as seguintes ações.
on (rollOver) {
_root.lapis.gotoAndStop(2);
_root.color = "azul";
}

3- Tambem criei um Movie Clip chamado Lapis nela vai a uma ação Drag é so para dar um efeito de troca de cursor.
4- Bom de pois criei os Movie Clip que serão pintados (com istancia alvo1, alvo2, alvo3...). Dentro destes movie clipes também criei um botao. No primeiro Frame deste movie clip Alvo coloquei a seguinte ação.
quadro = new Color(this);
no botao dentro do MOVIECLIP ALVO estao as seguintes ações.
on (release) {
_root.i = 3;
//Para os outros coloque 2, 3, 4, 5 ou 6
_root.action.setColor();
//Chamando a função
}
Bom gente ate ai tudo bem, esta dando tudo certinho, ou seja, clico na cor e pinto os alvos sem problemas.
Mas agora tive um problema com esta estrutura, pois tenho que criar um outro efeito que não esta dando certo.
O efeito é o seguinte, tenho que criar um botao que ao clicar ele duplique um dos MOVIECLIP ALVO, ao duplicar ele deve permitir ser pintando da cor que eu quiser, ou seja, ao clica no botao ele duploca o MC ALVO indicado e cada um destes MC DUPLICADOS eu possa pintar da cor que eu quiser. Bom eu tentei da seguinte forma mas não esta dando certo, vejam.
Criei um botao com intancia duplica_btn, no primeiro frame coloquei a seguinte ação.

alvo2.filho._visible = false;
duplica_btn.onRelease = function () {
var n:Number = alvo2.getNextHighestDepth();
var d:MovieClip = alvo2.filho.duplicateMovieClip('filho'+n, n);
d.onPress = function() {
this.startDrag(false);
}
d.onRelease=function () {
this.stopDrag();
}
}

Bom transformei o MC ALVO2 em um outro MCCLIP, neste novo coloque a instancia de ALVO2 que era mo MC que estava dentro dele, neste MC interno coloque a instancia de FILHO, ficando da seguinte forma MC ALVO2 dentro dele MC FILHO e dentro do filho as ações citadas acima. Não esta funcionando, pois o MC que duplica não pinta.
Bom gente preciso que este sisteminha alem de colorir ele tem as opções de duplicar alguns detalhes e estes detalhes também podem ser coloridos.
Se alguém puder me ajudar fico muito grato. Abraço e muito obrigado.
0

#2 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 05 July 2011 - 03:01 PM

Olá, fiz um modelinho baseado na sua explicação, baixa ele aí e dá uma olhada, veja se entende o código, que está apenas no primeiro frame.
Veja se seria isso o que você precisa.

cores_mxstudio.fla
0

#3 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 07 July 2011 - 12:41 AM

Ola Rony!

Muito obrigado msm, pois era isso mesmo que eu queria fazer ficou muito bom.

Bom vc se vc pode me ajudar mais uma vez, neste mesmo sisteminha preciso que da mesma forma eu preencha as partes com texturas, ou seja, terei uma img
com tamanho bem pequeno e ela se rept e X/Y preenchendo o MVCLIP, bom estou procurando bastante como fazer mas nao estou encontrado esta solução, sera
que vc pode me dar uma luz?

Valeu.
0

#4 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 12 July 2011 - 08:47 AM

Veja se seria isso:

http://www.toqueorig...es_mxstudio.fla
0

#5 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 12 July 2011 - 10:40 PM

Valeu Ronny, muito bom mesmo era isso que eu queria... :lol: :D
0

#6 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 16 July 2011 - 11:39 AM

Ola Rony!

Veja se vc pode me dar essa dica...

É possivel criar uma forma de ctrl+z para essa animação que estou fazendo, ou seja, o usuario esta pintando os objetos ou alterando algo, derepente ele fez algo que não queria e deseja voltar, isso seria possivel?

At. Junior
0

#7 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 18 July 2011 - 03:32 PM

Carinha, dá uma olhada nas comentadas do código, é só uma ideia, seja se sai alguma coisa aí baseado nisso.


import flash.geom.ColorTransform;
import flash.geom.Transform;

var cores:Array = new Array("0x0000C0","0x00A060","0xFFFF60","0xFF0000","0x000000","0xFFFFFF");
var corSelect = "0xFFFFFF";
var totalObjetos = 4;
var corAnt:Array = new Array(); // ******************************************************

for (i = 0; i<cores.length; i++) {
	pintaObj(_root["cor"+i], cores[i]);
	_root["cor"+i].id = i;
	_root["cor"+i].onPress = function() {
		corSelect = cores[this.id];
	}
}

fig.onPress = function() {
	corSelect = "";
}

for (j=0; j<totalObjetos; j++) {
	_root["mc"+j].grade = false;
	_root["mc"+j].onPress = function() {
		startDrag(this, false);
		this.swapDepths(_root.getNextHighestDepth());
		if (corSelect != "") {
			if (!this.grade) {
				pintaObj(this, corSelect);
				corAnt.push(this);
			} else {
				removeMovieClip(this.container);
				this.grande =  false;
				pintaObj(this, corSelect);
				corAnt.push(this);
			}
		} else {
			preencheFig(this);
			corAnt.push(this);
		}
		objSelect = this;
	}
	_root["mc"+j].onRelease = function() {
		stopDrag();
	}
}


function pintaObj(mc, cor) {
	var color_obj:ColorTransform = new ColorTransform(mc.fundo);
	var trans_obj:Transform = new Transform(mc.fundo);
	color_obj.rgb = cor;
	trans_obj.colorTransform = color_obj
}

bt_duplica.onRelease = function() {
	var d:MovieClip = objSelect.duplicateMovieClip("mc"+totalObjetos, _root.getNextHighestDepth());
	d.grade = false;
	totalObjetos++;
	d._x += 15;
	d._y += 15;
	d.onPress = function() {
		startDrag(this, false);
		this.swapDepths(_root.getNextHighestDepth());
		if (corSelect != "") {
			if (!this.grade) {
				pintaObj(this, corSelect);
				corAnt.push(this);
			} else {
				removeMovieClip(this.container);
				this.grande =  false;
				pintaObj(this, corSelect);
				corAnt.push(this);
			}
		} else {
			preencheFig(this);
			corAnt.push(this);
		}
		objSelect = this;
	}
	d.onRelease = function() {
		stopDrag();
	}
}

function preencheFig(mc) {
	mc.createEmptyMovieClip("container", 0);
	mc.container._x = mc.container._y = 0;
	mc.container.attachMovie("mc_fig", "mc_fig", 0);
	mc.container.mc_fig._xscale = mc.container.mc_fig._yscale = 50;
	mc.container.mc_fig._x = mc.container.mc_fig._y = 0;
	var largura = mc._width;
	var altura = mc._height;
	var qtde = Math.ceil(largura/mc.container.mc_fig._width);
	for (i=0; i<(qtde*qtde); i++) {
		var fig:MovieClip = mc.container.mc_fig.duplicateMovieClip("fig"+i, i+1);
		fig._x = (i%qtde)*(fig._width+0)+mc.container._x;
		fig._y = Math.floor(i/qtde)*(fig._height+0)+mc.container._y;
	}
	mc.container.setMask(mc.fundo);
	removeMovieClip(mc.container.mc_fig);
	mc.grade = true;
}

bt_remove.onPress = function() {
	objSelect.swapDepths(_root.getNextHighestDepth());
	removeMovieClip(objSelect);
}

//*****************************************************************************
var Desfazer:Object = new Object();
Desfazer.onKeyDown = function() {
	if (Key.isDown(Key.CONTROL) && Key.isDown(74)) {
		if (corAnt.length > 0) {
			removeMovieClip(corAnt[corAnt.length-1].container);
			pintaObj(corAnt[corAnt.length-1],  cores[cores.length-1]);
			corAnt.splice(corAnt.length-1, 1);
		}
	}
}
Key.addListener(Desfazer);
//*****************************************************************************


0

#8 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 18 July 2011 - 10:40 PM

Fala Roney, beleza?

Bom antes de mais nada agradeço pela atenção que tem me dado.
Com relação ao códgo e as alterações, creio que estou fazendo alguma coisa de errado, pois não estou conseguindo
fazer o voltar como eu queria, nao sei que estou fazendo de errado.
0

#9 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 21 July 2011 - 08:06 PM

Fala Roney,blz?

Bom sei que vc n resp. a duvida anterior mas me surgiram novas.
É o seguinte, tentei colocar as cores dentro de um mov-clip, pois criei um scroll de cores, porem a função de pintar os objts parou de funcionar.
Outro problema que encontrei foi em inserir novas texturas, nao sei como fazer. Bom e por ultimo gostaria que a função apagar nao funcionace em alguns objetos,
ou seja que dependendo do objeto nao se apague.
Roney como vc pode notar sou aprediz em action, se puder me ajudar agradeço, e se mais alguem que entender poder dar esta força fico muito grato.

Valeu desde já. :D
0

#10 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 25 July 2011 - 10:02 AM

Olá, Júnior, me desculpe não ter respondido anteriormente, tava fazendo um curso em Sampa, esses últimos dias, por isso, não tive como estar respondendo aos participantes do fórum, mas com relação ao seu post do dia 18/07, acho que não detalhei uma coisa, o valor do Key.isDown(90), é referente a letra Z, ou seja, CTRL+Z, e isso pra funcionar, você tem que rodar somente o SWF, não pode ser com o FLA aberto.

Baixa o arquivo aí novamente, dá uma olhada, dei uma cometada em algumas linhas, onde fiz o que você disse.

http://www.toqueorig...es_mxstudio.fla

Agora, com relação ao que você disse em querer apagar somente alguns objetos, na função onPress do botão bt_remove, você poderia criar uma condição, usando o IF, para tratar qual objeto será removido. Aí vai depender como seria esse tratamento, se seria pelo nome, ou por alguma propriedade que poderia ser adicionada a cada movieclip duplicado, sei lá, vai das suas intenções.
0

#11 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 26 July 2011 - 08:39 PM

Ola Roney, como vai?

Então ñ estou conseguinde baixar o arquivo por este link, já tentei com navegadores diferentes e nao consegui, se vc puder postar novamente fico grato.
Proveitando o post é possivel os objetos virem de um loadMovie?
Bom oque estou tentando fazer é criar um sisteminha onde tem alguns objetos que permitam que suas cores sejam alteradas, entre este objetos alguns podem ser
duplicados, pintados e com a acao Drag, outros só podem ser pintando.
Tambem criei uma estrutura onde principal onde estao as cores e todos os botoes, junto criei um MovieClip que faz o load dos objetos citados acima que devem ser
pintados, duplidados, etc. Coloquei este obetos em um .SWF separado porque sao varios que seram customizados, se eles estivessem na msm estrutura "mestre" ficaria um pouco pessado.
Bom esta é +- a idéia do meu projeto, é por isso que preciso saber se é possivel os objetos virem de um LOAD e se as cores podem estar dentro de um SCROLL, pois estou tentando bastante e nao estou conseguinde...

Abraço e valeu muito as ajudas que tem me dado.

At. Junior
0

#12 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 28 July 2011 - 03:30 PM

Tenta lá no link novamente, eu postei o FLA e mandei você baixar um SWF, errou meu, desculpa.

Cara, com relação, ao loadMovie, é possível sim. Só que precisa dar uma verifica melhor o que você realmente precisa.
Só que hoje, tô meio enrolado com as coisas aqui no trabalho. Vê se alguém poderia ir te dando umas dicas. Agora se não tiver muita pressa disso, posso ver pra você nos próximos dias.

Valeu.
0

#13 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 29 July 2011 - 09:02 PM

Roney agradeço muito as ajudas que tem me dado, e eu que tenho que pedir desculpas por ficar lhe "pentelhando".
Bom com relação ao meu projeto esta problematico eu ainda tenho muito que aprender com action e isso acaba limitando minhas idéias.
Sendo assim procurei deixar este projeto mais simples, mas nao desisti de fazer como eu já estava fazendo, ou seja, irei fazer de forma paraléla, assim
aprendo e concluo o projeto.
Roney se não for lhe encomodar muito veja se pode dar mais essa força. Neste novo projeto que citei acima preciso que os ojetos que serao pintados venhan de um load movie, pois eles mudarao de forma dinamica, ou seja, traca conforme clica num botao ref. ao botao, bom se puder me ajudar me explicando como fazer colocar os objetos dentro de um MovieClip em um .SWF externo ja vai me
ajudar muito.
Valeu abraços, Junior.
0

#14 User is offline   RONYTORRES 

  • Group: Moderadores
  • Posts: 385
  • Joined: 07-December 06

Posted 05 August 2011 - 11:50 AM

Cara, com relação a adicionar objetos dentro de um swf carregado, em AS2, acho meio que impossível, em AS3 também não tenho certeza. Vou dar um verificada e depois te falo.
0

#15 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 09 August 2011 - 12:03 AM

Fala Roney bele?

Bom antes de tudo lhe agradeço mais um vez pela atenção,
desta vez vou postar um swf com exemplo do que ptreciso vazer, assim vc da uma olhada e me da uma luz,
quem sabe seja mais simples que eu imagino, pode ser que eu esteja complicando...
Vou procurar um provedor para postar.

Abraços Junior
0

#16 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 03 September 2011 - 07:19 PM

Fala Roney bele?

Bom estou precisando muito de uma ajuda, como das utimas vezes vc me salvou stou ai de novo pedindo ajuda...
É o seguinte dentro do projeto que eu estava montando tenho que criar um botão salvar, ou seja o usuario customiza seu layout de logo depois salva, porem ja procurei muito como fazer isso e nao encontrei a solução.
Na verdade encontrei em AS 3 ou AS2.0 usando PHP, em AS2.0 + PHP tem que usar algo como galeria GD mas nao entendi como isso funciona.
Roney vc conheçe alguma forma de fazer isso em AS2.0?

Abraço Junior
0

#17 User is offline   junior.c.e 

  • Group: Membros
  • Posts: 39
  • Joined: 03-July 11

Posted 30 January 2012 - 05:24 PM

Ola Roney beleza?
Cara mais uma vez vim pedir sua ajuda e pior com relação a um tópico que vc já havia me ajudado.
Neste link http://www.mxstudio....101#entry246101
Bom é o seguinte tempo atrás vc me deu uma grande força neste tópico e eu havia lhe perguntado como eu colocaria a “PALETA” de texturas dentro de movieclip pai, pois bem evoluindo com este projeto tive um problemão dentro do MC PALETA (pai) usei a timeline para separar a categoria das texturas, ou seja, no frame um da dentro MC PALETA coloque a categoria de textura “X” no frame dois a categoria “y” e assim por diante.
Dessa for quando o usuário escolhesse a categoria a ser usada iria para o frame que correspondia sua escolha, porem quando faço isso não funciona a categoria que esteja em qualquer frame que não seja o primeiro no MC PALETA.
V c pode me ajudar?
Abraço Jr
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)