Publicidade
|
|
Colorir em flash AS2 [RESOLVIDO]
#1
Posted 03 July 2011 - 12:31 AM
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.
#2
Posted 05 July 2011 - 03:01 PM
Veja se seria isso o que você precisa.
cores_mxstudio.fla
#3
Posted 07 July 2011 - 12:41 AM
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.
#6
Posted 16 July 2011 - 11:39 AM
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
#7
Posted 18 July 2011 - 03:32 PM
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);
//*****************************************************************************
#8
Posted 18 July 2011 - 10:40 PM
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.
#9
Posted 21 July 2011 - 08:06 PM
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
#10
Posted 25 July 2011 - 10:02 AM
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.
#11
Posted 26 July 2011 - 08:39 PM
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
#12
Posted 28 July 2011 - 03:30 PM
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.
#13
Posted 29 July 2011 - 09:02 PM
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.
#14
Posted 05 August 2011 - 11:50 AM
#15
Posted 09 August 2011 - 12:03 AM
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
#16
Posted 03 September 2011 - 07:19 PM
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
#17
Posted 30 January 2012 - 05:24 PM
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
Share this topic:
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
mandar variaveis com numero pelo flash para o php
|
PHP |
bruno_dam
|
|
|
|
SITE
Construção de sites no flash actionscrip |
Dreamweaver |
romulomarinho
|
|
|
|
php+flash+lightbox
reconher comando |
PHP |
aln
|
|
|
|
Flash No Mozilla
"Click here to get the plugin" |
Dúvidas Gerais |
d0om
|
|
|
|
Como uso um source de jogo p/flash
tenho o source em fla |
Desenvolvimento de Jogos |
Liliattila
|
|
|
|
Novo Flash trará vídeo para telefones celular
|
Notícias |
Notícias
|
|
|
|
Link em Banner Flash
|
Dreamweaver |
nwaypropaganda
|
|
|
|
Adam terá Flash, vídeo 1080p e bateria mais durável que iPad
|
Notícias |
Notícias
|
|
Publicidade
|
|

Help













