• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Ridelight

[ActionScript] Criar uma ferramenta de desenho

6 mensagens neste tópico

Para começar, cria dois botões.

A um atribui o nome de instância como: “desenhar_btn” e a outro “apagar_btn” – ambos sem aspas.

Agora seleciona o primeiro frame do filme e carrega “F9” para abrir o menu “Actions”.

Cola o código em baixo, cada linha está explicada nos respectivos comentários:

// cria o clip que fará o desenho
_root.createEmptyMovieClip("linha_mc", 1);


// define a cor padrão como preto
cor = "0x000000";


// ao clicar no botão "desenhar_btn", permite desenhar
desenhar_btn.onRelease = function() {
    // define-se "true" para a variável "desenhar"
    desenhar = true;
    // desactiva o botão "desenhar_mc"
    desenhar_btn.enabled = false;
};


// botões de cor
cor_red_btn.onRelease = function() {
    cor = "0xff0000";
    // vermelho
};
cor_green_btn.onRelease = function() {
    cor = "0x00ff00";
    // verde
};
cor_blue_btn.onRelease = function() {
    cor = "0x0000ff";
    // azul
};
cor_black_btn.onRelease = function() {
    cor = "0x000000";
    // preto
};


// se a variável “desenhar” for igual a “true”
// ao  clicar com o botão esquerdo do rato, desenha na tela
_root.onmousedown = function() {
    //desenha de acordo com o movimento do mouse em X e Y
    linha_mc.moveTo(_xmouse, _ymouse);
    // definindo o estilo (espessura, cor e opacidade) da  linha do desenho 
    linha_mc.lineStyle(2, cor, 100);
    // (0x000000 = preto / 0xff0000 = vermelho, etc)   
    // ao mexer o rato, executar a função
    this.onmousemove = function() {
        //desenha a linha com os movimentos do rato em X e Y
        linha_mc.lineTo(_xmouse, _ymouse);
        // atualizar o clip sempre que mexermos o rato 
        updateAfterEvent();
    };
};


// pára de desenhar quando o botão esquerdo do rato for solto
_root.onmouseup = function() {
    this.onmousemove = null;
};


/* ao  clicar no botão “apagar_mc”, limpar o clip, ativa o botão “desenhar_mc”
e desativa o botão “apagar_mc” */
clear_btn.onRelease = function() {
    _root.linha_mc.clear();
    desenhar_btn.enabled = true;
    apagar_btn.enabled = false;
};

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva,

Estou a fazer um editor gráfico que tenho de entregar na segunda feira  :shocking:... Já implementei a função desennho livre (parecida cm a de cima, mas não estou a conseguir limitar a area de desenho. alguem pode ajudar? ESTOU A ENTRAR EM PANICO

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

esta porreiro. e também está útil para aqueles que queres criar os seus próprios editores de imagens...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas!!!

preciso de ajuda..

como consigo meter esse codigo em AS3??????

ja tentei de varias maneiras e nada....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resolvido!

Consegui fazer o editor completo em AS3.

contudo pretendo melhorar..

e queria meter uma variavel para poder definir a espessura no stage.

como o consigo fazer?

cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora