Cursor do mouse personalizado no Flash CS3
Flash CS3 Professional
Dificuldade: básico.
Versão AS: Actionscript 3.0
Versão Flash Player: Flash Player 9
Obs: caso você não tenha o Flash CS3. No site da Adobe você encontra downloads free trial.
Olá! Neste tutorial, iremos ver uma das maneiras de como "personalizar" o cursor do mouse no seu arquivo swf, utilizando o programa Flash CS3 e Actionscript 3.0.
Obs.: você também poderá utilizar para versão AS2.
Iremos "simular" esse efeito de cursor no arquivo SWF. O que precisamos é de um SÃmbolo do tipo "MovieClip"(com imagem que eu desejar) que irá seguir o cursor do mouse e enquanto fazemos essa "simulação", deixamos o cursor "nativo" do computador "escondido".
O resultado será algo como o exemplo abaixo.
Passe o mouse sobre a imagem abaixo:
|
|
Viu? Podemos alterar e "personalizar o cursor do mouse". Isso que veremos agora.
Para facilitar no entendimento, dividimos por etapas:
1 - Criando camadas e organizando seu arquivo;
2 - Criando meu cursor;
3 - Inserindo Actionscript;
4 - Explicando o código.
5 - Considerações finais;
Material para estudos:
- Programa Flash CS3
- 1 MovieClip com desenho/imagem do seu cursor personalizado.
- 1 nome de instância para este MovieClip ser chamado pelo Actionscript.
Primeiro crie um novo documento (Ctrl + N) ou pelo menu: (File > New document) e escolha a versão Flash File (Actionscript 3.0).

Escolhendo o tipo de arquivo no Flash CS3.
1 - Criando camadas e organizando seu arquivo
Dica: Para facilitar na sua organização do projeto, é interessante criar camadas e nomeá-las. Desta maneira facilita na manutenção e entendimento do seu projeto como veremos a seguir.
A quantidade de camadas não interfere no "peso" final do arquivo swf.
Para este exemplo criamos 2 camadas. Dê os seguintes nomes:
camada 1 "actions"
camada 2 "cursor mc"
Salve seu documento com nome "meuCursor.fla";
Deve ficar como a (imagem 1) logo abaixo:

Imagem1: organizando camadas.
2 - Criando meu cursor
No 1º frame da camada "cursor mc", faça um desenho de sua preferência. Ou se preferir, poderá importar uma imagem(jpg, gif, png) do desenho do seu cursor para o stage(palco) do flash.
Tecla de atalho (Ctrl + R) ou navegue pelo menu: (File > Import >> Import to Stage).
Lembrando que, após criar o seu cursor ou importar uma imagem para o stage(palco), devemos convertê-lo para um sÃmbolo do tipo "Movie Clip".
Para isto, selecione toda a imagem que será o cursor e converta para um novo simbolo.
Tecla de atalho:
Com a imagem selecionada, aperte a tecla (F8) para converter em um sÃmbolo.
Obs.:
Clicando com botão direito do mouse sobre a imagem também temos a opção “Convert to Symbol”
Na configuração do sÃmbolo, selecione o tipo(Type) “Movie clip” coloque o Registro(Registration) no canto superior esquerdo e dê o Nome(Name) de "meuCursor". Após conferido estas configuração, aperte “Ok”.
Deve ficar como a (imagem 2) logo abaixo.

Imagem 2: Criando um novo simbolo do tipo MovieClip.
Sua imagem virou um sÃmbolo e poderá encontrar ela na Biblioteca(Library) apertando a tecla de atalho (F11 ou Ctrl+L) ou pelo menu: (Window > Library). você poderár “arrastar” esta imagem para o palco caso ainda não apareceu.
Após criar nosso sÃmbolo, devemos dar uma nome de instância, para o MovieClip no stage. Um nome de instância é sempre necessário para podermos "chamar" e controlar este SÃmbolo (MovieClip) pelo Actionscript pra fazer uma determinada ação, função, método, etc.
Clique sobre a imagem que agora deve ser um sÃmbolo do tipo “MovieClip”.
Na aba "Properties(Propriedades)" tem todas as caracterÃsticas do sÃmbolo.
Como na (imagem3) coloque o nome de instância de "cursor" (sem aspas!)

Imagem 3: inserindo nome de instância para o MovieClip na aba "Properties"(Propriedades).
3- Inserindo Actionscript
Agora que já temos criado nosso Movieclipe com nome de instância "cusror".
Selecione o 1º frame(quadro) da camada "actions" e abra o painel de Actions.
Tecla de atalho (F9) ou pelo menu: (Window > Actions).
Insira o seguinte código:
1 2 | cursor.startDrag(true); Mouse.hide(); |
4 - Explicando o código
Na 1º linha, o Movieclipe com nome de instância "cursor", em seguida para este cursor acompanhar o movimento do mouse, utilizamos o método startDrag(). Isto fará com que o movieClip siga o cursor do mouse. temos que definir entre "()" "true"(verdadeiro) para acompanhar o exatamente o ponto de registro que definimos quando criamos o MovieClip. Se não declararmos “true”, o cursor irá seguir fora do ponto de registro do Mouse e o Objeto(MovieClip) ficará estranho.
Na 2º linha, definimos que o cursor padrão do mouse irá "sumir" utilizando o Método hide(). Se não declaramos isso, irá aparecer o cursor do mouse e o efeito do mouse personalizado perde o sentido.
Você pode fazer teste retirando esta 2º linha para entender o motivo de usar o “Mouse.hide()”.
Basta testar o filme, tecla de atalho (Ctrl + Enter) ou pelo menu: (Control > Teste Movie).
Temos um Cursor de mouse personalizado.
Dica:
Por padrão o Flash deixa 12 quadros por segundo e isto pode não dar um resultado muito adequado na animação do seu filme swf.
Para deixar a mais "fluente" o “movimento” do mouse. Basta definir o número de quadros por segundos(FPS).
Neste exemplo deixei como 24 quadros por segundos. Para alterar o número de quadros.
Clique no stage(palco) para habilitar a propriedades do palco e acesse a aba "properties"(propriedades), em "Frame rate" coloque o valor que você achar necessário de 1 a 120.
"Size": você alterar o tamanho em largura e altura do filme. Neste exemplo deixei 300 x 300 pixels.
"BackGround: você altera a cor de fundo do filme.
"Settings": você configura a publicação do SWF. Mas neste exemplo, não precisa alterar.
No Final seu arquivo ".fla" deve ter ficado parecido com a imagem abaixo:

Imagem 4: Resultado do arquivo "configurado".
Obs. importante:
Existe um pequeno "bug/problema" quando clicamos com o botão direito do mouse sobre o arquivo SWF. O cursor do mouse volta a aparecer na tela. Seria como tivesse ativado o método Mouse.show() que faz com que mouse reapareça.
Umas das manieras de resolver esse problema é chamar/executar o método apenas quando estiver movimentaando o mouse. Altere o código:
1 | Mouse.hide(); |
Por:
Para quem utiliza o código versão AS2, digite:
1 2 3 | this.onMouseMove = function() { Mouse.hide(); } |
Pra quem utiliza o código versão AS3, digite:
1 2 3 4 | stage.addEventListener(MouseEvent.MOUSE_MOVE, escondeCursor); function escondeCursor(e:MouseEvent):void{ Mouse.hide(); } |
5 - Considerações Finais
Neste tutorial, vimos como é simples criar um cursor de mouse personalizado. Com isto você poderá personalizar ainda mais seu projeto. Deve apenas lembra-se que, para garantir que o seu cursor personalizado irá aparecer no seu filme. Certifique-se que a camada onde tem o cursor esteja sobre todas as outras camadas do filme. E deve ter um nome de instância para conseguir controlar pelo código Actionscript.
Abraços e até a próxima!
Rodrigo Gonçalves
Equipe Alvo Web
O Conteúdo do Alvo Web Developers está licenciada sob uma Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.
39 respostas ↓
1 pedro // Jan 2, 2008 at 11:12 am
eu gostava de fazer uma coisa assim mas com um objecto por baixo,por exemplo o cursor e um arco de violino e a imagem será uma violino e quando eu passar pelas cordas do violino dará som.mas não sei como fazer.Se´r que me podem ajudar a fazer isso.Era preciso isso o mais rapido possivel se me podessem enviar um toturia.obrigado e fico a espera
2 Rodrigo // Jan 3, 2008 at 7:10 am
Pedro,
o “arco de violino” pode ser um simbolo do tipo “movieClip”(que aceita animação pela time line) com uma instância(nome) para chamar pelo actionscript.
Isso você fará como no tutorial acima, pode ser qualquer sÃmbolo, animado etc.
Ex do seu mouse personalizado o código poderia ficar assim.:
meu_arco_violino_mc.startDrag(true);
Mouse.hide();
Lembra-se o cursor do mouse ainda existe, só que você não pode vê-lo pelo método “Mouse.hide();”
Caso queira que apareça o cusror original do seu computador, basta retirar a linha “Mouse.hide();”.
Agora você quer interagir com música(som), isso já envolve som. Carregar som externo.
Recomendo dar uma olhada sobre a classe Sound() na “tecla F1″(ajuda do Flash) e procurar sobre Sound() para maiores detalhes sobre e como utilizar.
A versão do actionscript 2.0 é diferente da versão actionscript 3.0 para trabalhar com classe “Sound()”, você pode fazer tanto para AS2 como para o AS3 depende da sua facilidade com cada uma, a lógica é sempre a mesma, muda maneira de declarar essa lógica.
Entendendo a lógica:
Podemos fazer de diversas manieras pra ter o mesmo resultado, mas neste exemplo pensei nesta lógica.
Precisamos de um sÃmbolo (pode ser movieClip, botão ou gráfico) que será a corda do seu violino(ou a “aréa útil/clicável” hit area como um botão), cada corda terá um nome instância como ex:
botao_corda1, botao_corda2, botao_corda3, botao_corda4.
Precisa também de 4 sons mp3 que será carregado quando passar o mouse sobre cada corda, cada um com seu som especÃfico, ex.:
som1.mp3, som2.mp3, som3.mp3, som4.mp3.
Teremos que ter o som na mesma pasta do seu arquivo .fla para fazer testes de som.
Ou pode ser um endereço absoluto (http://…) para carregar seu mp3.
Os sons de cordas você pode encontrar pela internet em sites especÃficos de sons ou você pode gravar seu som de cordas e salvar como mp3.
No seu código pode ficar algo como exemplo abaixo. Antes abra o seu flash e a aba Actions(F9) no 1º frame para entender melhor o código.
Abaixo o código irá carregar o “som1.mp3″(nome do arquivo mp3 da corda 1).
Assim que passar o cursor do Mouse sobre a corda1 (um Movieclip) irá tocar o som1(som1.mp3).
Lembra-se de ter um arquivo mp3 na mesma pasta do seu arquivo .fla, do contrario neste exemplo o som não irá carregar:
Aqui é versão do código é Actionscript 3.0:
var som1:Sound = new Sound();var endereco_som1_mp3:URLRequest = new URLRequest("som1.mp3");
som1.load(endereco_som1_mp3);
botao_corda1.addEventListener(MouseEvent.MOUSE_OVER, toca_som1);
function toca_som1(evento:MouseEvent)
{
som1.play();
}
Explicando:
Na 1º linha: criamos uma variavel “som1″ do tipo Sound();
Na 2º linha: criamos uma variavel “endereco_som1_mp3″ do tipo “URLResquest” responsavel por receber arquivos externos, no seu caso um “mp3″;
Na 3º linha: a var som1(da classe Sound()) irá carregar(load) o arquivo “mp3″ a qual já está incluida na variavel “endereco_som1_mp3″. Resumindo carrega o som1.mp3;
Após ter carregado, o som só irá tocar se fizermos uma ação(função) para ele.
Na linha 4:
a instância “botao_corda1″ é um “MovieClip” sÃmbolo(da corda) com instância que será um “Ouvinte”(addEventListener), esse Ouvinte(Listener) verifica quando ocorrer o evento de “passar o mouse sobre”(MouseEvent.MOUSE_OVER) o “botao_corda1″, executa a função “toca_som1″.
Em seguida temos a função “toca_som1″ do tipo(:) evento de Mouse (MouseEvent) entre suas chaves {}
temos a ação “som1.play();”
Essa variável “som1″ recebe o “som1.mp3″ lá no inicio do código.
Agora só duplicar as variáveis de som, cordas, ouvintes e funções de cada corda. Mas isso é com você amigo.
Lembra-se de alterar o nome das variáveis quando for duplicá-las. Não pode ter variáveis repetidas, se não surge conflito.
Espero ter ajudado em algo.
Abraços.
3 Fernando // Fev 27, 2008 at 3:18 pm
Gostei, bem simples e fácil. Porem, qnd eu clico com o botão direito do mouse, pra dar zoom in por exemplo, aparece o cursor padrão…e fica o cursor padrão e o personalizado na tela. Sabe como fazer para isso não acontecer?
obrigado
4 Rodrigo // Fev 27, 2008 at 7:57 pm
Fernando,
Bem observado este detalhe que informou do contextMenu. Eu não havia reparado antes.
Este efeito de “cursor” é apenas um MovieClip(imagem) que segue o cursor original do computador.
O cursor original ainda continua lá, só não aparece quando geramos o SWF criando esta efeito que o cursor sumiu quando utilizamos o método Mouse.hide().
Acredito que, ao tentar acessar o contextMenu(clique do botão direito do mouse sobre o SWF) surge algum “bug” e o cursor reaparece. Pois, o método/função Mouse.hide() foi chamado apenas uma vez no inicio do filme.
Não sei se é um “bug” realmente do Flash ou se existe outros métodos mais “corretos” pra resolver isso.
Mas tentei fazer alguns testes aqui. E pelo que percebi este método Mouse.hide() precisa ser “chamado”/executado continuamente, ou após ter utilizado o ContextMenu. Pois o ao acionar o “contextMenu” este método Mouse.hide() parece ser “desabilitado”.
No momento optei por fazer com atualização constante: Event.ENTER_FRAME
Ao invés de utilizar este código. Tente este Ppara ActionScript 3.0.
Digite:
cursor.startDrag(true);stage.addEventListener( Event.ENTER_FRAME, escondeCursor );
function escondeCursor( evento:Event ):void{
Mouse.hide();
}
- Explicando o código:
Temos na 1º linha o código cursor.startDrag(true) pra seguir o cursor do mouse do computador pelo ponto de registro do seu MovieClip, que faz a sua imagem(um MC) seguir o cursor do mouse original;
Depois criamos um ouvinte (addEventeListener) para o stage(palco) e utilizamos um dos Eventos de Atualização Constante para este exemplo (Event.ENTER_FRAME), este Evento atualiza “quadros por segundos” que determinar no seu filme(FPS) e assim que ocorrer esta atualização constante chamo uma função constantemente que denominei de (escondeCursor).
Ou seja, dentro desta função “escondeCursor”, temos o método/função Mouse.hide() que faz o cursor do computador sumir e isso é executado constantemente pelo Event.ENTER_FRAME.
Isto garante que sempre será chamado o método de esconder o mouse “Mouse.hide()” e o cursor original do mouse não reaparece.
Porém, fica tão “eficaz” que some até quando utilizamos o contextMenu.
Por questão de “Usabilidades”, acredito que o ideal é mostrar o cursor original apenas quando utilizarem o contextMenu e depois voltar à esconder o mesmo.
De qualquer forma, assim que descobrirmos algo melhor sobre isso eu atualizo este Post. Nos avise, se você souber de algo.
Valeu Fernando.
Abraços.
5 Fábio Silva // Mar 13, 2008 at 9:16 am
Boa tarde.
Perciso de ajuda, é o seguinte eu queria faxer tipo um boneco e ao mexer o rato os olhos do boneco seguissem a trajectoria do rato mas sem sairem de dentro do olho.
Sera que alguem me pode ajudar?
6 jpaulo // Mar 27, 2008 at 8:58 pm
olha essas animações nesse site www.fotopatos.com.br Estou precisando colocar interatividade. Ex rastro de mause, tenho um código, só q o mause mesmo parado continua soltando o rastro. Pode me ajudar a resolver isso? Obrigado.
7 Rodrigo // Mar 28, 2008 at 1:41 am
JPaulo,
Existe uma outra maneira de simular um rastro de mouse no flash.
Por exemplo:
Imagina seu cursor personalizado é um MovieClip com instância “cursor_mc”.
Você duplica esse cursor_mc no stage em seguida dê nomes de instância a cada um deles.
Ou seja, apenas duplicamos no palco o único cursor_mc e damos nomes de instância diferentes à eles.
Iremos controlar pela programação, por isso precisamos desses objetos nomeados com instâncias.
Exemplo de nomes de instância a cada objeto no palco:
“cursor_mc1″
“cursor_mc2″
“cursor_mc3″
“cursor_mc4″
E por programação você controla cada movieClipe para seguir o eixo do mouse em X e Y.
E os outros 3 MC´s você coloca um calculo de desaceleração de movimento.
Para dar ilusão de rastro podemos colocar uma formula de desaceleração.
Fórmula de desaceleração de movimento de objetos:
posiçãoAtual = posiçãoAtual + (PosiçãoFinal - Posição Atual)* aceleração
Mas também devemos utilizar o evento “EnterFrame” que serve para atualização constante no flash.
Ficando algo assim:
obs: para AS2
Faça um teste, crie um movieClipe(seu cursor personalizado) e coloque os seguintes nome de instância sugeridos anteriormente a cada um deles.
Depois crie uma nova Layer(actions) e insira esta programação.
Obs: lembra-se de renomear seus objetos no palco. O próprio código abaixo está brevemente comentado.
//ajustamos o alpha dos mc para dar ilusão de rastro
cursor_mc1._alpha = 100;
cursor_mc2._alpha = 70;
cursor_mc3._alpha = 50;
cursor_mc4._alpha = 20;
//criamos um loop entreFrame
//responsável por verificar constantemente as posições dos mocvieClipe
_root.onEnterFrame = function(){
//escondemos o cursor original do computador
Mouse.hide();
//pedimos pro primeiro mc seguir o eixo X e Y do cursor do mouse
cursor_mc1._x = _xmouse;
cursor_mc1._y = _ymouse;
//formula de desaceleração
//posiçãoAtual = posiçãoAtual + (PosiçãoFinal - Posição Atual)* aceleração;
//usar valor de aceleração entre 0.1 a 0.9 (quanto maior o numero mais rapido)
//aceleração do movieclip 2
cursor_mc2._x += (_xmouse - cursor_mc2._x)*0.8;
cursor_mc2._y += (_ymouse - cursor_mc2._y)*0.8;
//aceleração do movieclip 3
cursor_mc3._x += (_xmouse - cursor_mc3._x)*0.7;
cursor_mc3._y += (_ymouse - cursor_mc3._y)*0.7;
//aceleração do movieclip 4
cursor_mc4._x += (_xmouse - cursor_mc4._x)*0.6;
cursor_mc4._y += (_ymouse - cursor_mc4._y)*0.6;
}
Em breve vou tentar criar um tutorial sobre este exemplo.
Espero ter ajudao em algo.
Abraços.
8 Cristiane // Mar 28, 2008 at 9:55 am
Preciso fazer um jogo em flash. E para isso usarei o cursor do mouse como principal/unico objeto.
Transformei o cursor em objeto, mas preciso fazer com que ele inicie de um ponto X, alguem sabe me dizer por favor como posso fazer isso.
Ele precisaria sair do cursor do mouse, passando para o local determinado.
Alguem pode me ajudar?
Ficaria feliz, se possÃvel mandar por e-mail .
meu e-mail é
cristiane_antosil@yahoo.com.br
Muito obrigada
ótimo final de semana a todos
=]
9 Rodrigo // Mar 30, 2008 at 2:19 am
Cristiane,
Você pode usar animação dinâmica da classe Tween
Com ela você consegue controlar um objeto para iniciar uma animação até o destino(areaMc). Depois quando passar o mouse sobre esta mesma areaMc, o cursor do mouse original irá sumir e sua setaCursorMc(por ex: meu cursor personalizado) irá começar assumir a posição eixo X e Y do mouse.
Faça um teste com este exemplo para AS2:
Crie seu movieClipe (seu cursor personalizado) e dê um nome de intância setaCursorMc.
Crie também um movieClip que será sua “área” de destino para sua setaCursorMc e instâncie esta area de areaMc. O seu objeto setaCursorMc irá mover-se inicialmente até está areaMc.
E quando passar o mouse sobre a areaMc irá fazer que sua setaCursorMc siga o seu mouse.
O código está brevemente comentado logo baixo.
//importamos a classes de animações Tween
import mx.transitions.Tween;
import mx.transitions.ease.*;
//fazemos a animação dinamica Tween da setaCursorMc até destino (areaMc)
//nesta parte ainda não terá o controle da setaCursoMc
//até que o usuario passe o mouse sobre a areaMc
new Tween(setaCursorMc, "_x", Strong.easeInOut, 0, areaMc._x, 1, true);
new Tween(setaCursorMc, "_y", Strong.easeInOut, 0, areaMc._y, 1, true);
//função que faz a setaCursormc seguir o mouse no eixo X e Y
function animeSetaCusrorMc():Void{
//usamos enterFrame para verificar constantemente a animação
setaCursorMc.onEnterFrame = function(){
this._x = _xmouse;
this._y = _ymouse;
//escondemos o cursor original do mouse
Mouse.hide();
}
}
//quando passar o mouse sobre a areaMc
//executa a função que faz a setaCursorMc seguir o mouse
areaMc.onRollOver = function(){
animeSetaCusrorMc();
}
Dê uma procurada sobre a classe Tween() resposável por fazer animações dinâmicas.
Talvez isso ajude em algo. Ou pelo menos, a dar alguma idéia inicial ao seu objetivo.
Abraços.
10 pinky // Abr 2, 2008 at 3:20 pm
importei um som externo para flah, mas este inicia assim que começa a animação. eu pretendo que ele inicie só 10 segundos depois. como faço??
o meu codigo é o seguinte:
// SOM
som = new Sound();
som.loadSound(”musica.mp3″, true);
som.start(5,1);
this.bton.onPress = function () {
som.start(0,1);
};
this.btoff.onPress = function () {
som.stop();
}
11 Rodrigo // Abr 2, 2008 at 8:16 pm
Pinky,
Você pode usar o setTimeout() para lhe ajudar com esse tempo de execução.
Dê uma olhada neste artigo do AlvoWeb falando sobre setInterval e SetTimeout
Abraços.
12 Marwyn // Abr 2, 2008 at 9:18 pm
esse site eh sem conteudo Aproveitativo!!!…..
eu to falando isso numa boa..vcs tinham q me gradeçe q to falando pa vcs melhorarem o site!!!
13 AlvoWeb // Abr 2, 2008 at 11:52 pm
Marwyn,
A sua participação é muito importante. Ajude-nos melhorar o conteúdo AlvoWeb.
Se desejar, poderá nos encaminhar suas idéias pelo contato AlvoWeb.
Estamos à disposição para quaisquer dúvidas, crÃticas ou sugestões.
Obrigado.
Equipe AlvoWeb
14 Rafael // Abr 14, 2008 at 6:07 pm
Boa tarde Rodrigo, tudo bom?
Eu substituà meu cursor por um movie clip, assim como o descrito acima. Agora, gostaria que, ao movimentar esse cursor, ele apagasse um objeto, mais não que apagasse de uma vez só, gostaria que ele fosse apagando somente onde eu passar o cursor. Ex:. tenho em uma camada (layer) um vidro limpo; e em um layer acima, uma camada de sujeira. E meu cursor foi substituido por um pano. Ai, ao passar o pano no vidro, ele vai limpando a sujeira, somente por onde ele passar.
É possÃvel realizar este evento?
Agradeço desde já
Rafael
15 Rodrigo // Abr 14, 2008 at 7:21 pm
Rafael,
É bem interessante este efeito. Já tinha visto algo parecido. No momento não sei lhe dizer como fazer esse efeito que você procura. O que foi mostrado nesse tutorial é algo realmente bem mais simples.
certamente se tiver mais coisas iremos postar por aqui algo mais legal.
Abraços.
16 Kevin S // Jul 7, 2008 at 11:18 pm
O cursor segue o mouse e tudo….
Mas ao adicionar botões ou movie clips no Stage o cursor não reconhece, eh como se o Mouse estivesse desabilitado e nao somente escondido.
17 diogo // Out 24, 2008 at 12:09 am
seguinte: tenho uma apresentaçao p fazer e queria q fosse feito do seguinte jeito: um quadro com uma especie de mapa,e conforme eu for passando o mouse sobre o mapa fosse aparecendo a parte na qual esta posicionado o cursor, porem nesse segundo quadro a img q mostra a parte em q o cursor esta selecionado ficasse com um zoom e aparecesse uma legenda simples
Desde ja agradeço e parabens pelo tutorial
Dinn
18 Triplo X // Nov 12, 2008 at 3:55 pm
Poxa, é o primeiro tutorial que consegui utilizar no meu Flash CS3 sem nenhum problema ou sem que nenhuma etapa não fosse possÃvel de ser realizada.
Parabéns pelo tuto e continue assim.
19 Joselito // Nov 30, 2008 at 9:14 pm
Olá,
primeiramente quero parabenizar pelos exemplos que são muitos úteis e me ajudaram muito.
Eu tive um pequeno problema quanto a esse exemplo aqui.
Fiz tudo como pedido, o mouse sumiu e o MC surgiu no lugar dele. Só que quando eu clico em outro botão é como se o mouse n só tivesse desaparecido mas como desabilitado, ou seja, eu n consigo mais clicar em nada!
Estou usando o CS3.
Se possÃvel, quando for responder esse msg, manda um cópia pro meu email.
Agradeço desde já.
20 Rodrigo // Dez 1, 2008 at 1:02 am
Joselito, tudo bem?
valeu pela visita.
Esse tutorial é apenas um “efeito” mais simples pra simular um cursor de mouse. Ainda o cursor continua lá normalmente, a diferença que fica invisivel quando utilizado dentro do SWF, porque utilizamos o método Mouse.hide()
Para aparecer novamente o cursor original do computador, basta utilizar o método
Mouse.show() em sua aplicação.
Esse efeito não é o mouse de fato, é apenas o MC seguindo o cursor. Esse MC não foi feito com todas as etapas do mouse como por exemplo:
- Clique: quando interage com algum objeto
- Over: quando mouse está sobre algum objeto clicavel
- Out: quando mouse está em seu estado normal.
Pra isso você teria que criar manualmente cada imagem pra essas etapas e quando ocorresse eventos de mouse utilizar o MC apropriado para dar o efeito de clique, over e out.
Mas isso fica pro próximo tutorial sobre esse assunto. Pois é um assunto longo pra descrever aqui em detalhes.
Se quiser conhecer mais sobre os eventos de Mouse procure no Help do flash sobre a classe Mouse.
Abraços.
21 Gilmar Augusto // Fev 7, 2009 at 11:15 am
Muito bom manowwww!
Vc explica muito bem!
Vlw =D
22 Eder Marden // Fev 19, 2009 at 12:19 am
O meu problema é o seguinte! Como esconder o ponteiro personalizado (Movie Clip) quando eu tirar o ponteiro de cima do palco. Ex.: Tenho um menu feito em flash com ponteiro personalizado inserido numa página html. Ao navegar no menu tudo bem. funciona direitinho mas ao sair do menu o meu ponteiro ainda fica sendo visÃvil no último ponto que o mouse saiu do menu. Como resolver? Uso Action Script 2.
23 Franco // Mar 16, 2009 at 5:29 pm
Estou com a mesma dúvida do Eder, queria que apenas o mouse ficasse personalizado em determinda área depois que eu tirasse o mouse ele voltasse ao normal ou ficasse com outro estilo.
Exemplo:
Tenho uma foto lado a lado e quero que na hora que o mouse passe por cada uma dê uma informação diferente.
24 Junioe // Mar 26, 2009 at 11:57 am
DAeh,
Seguinte, tenhu uma boneco no palco, e gostara q os olhos deles sempre ficasse “de olho” na direção do mouse!
Como poderia proceder?
vlw
25 Rodrigo // Mar 27, 2009 at 10:58 am
Junioe,
Tenta o google:
http://www.webly.com.br/tutorial/flash/16904/criando-olhos-que-seguem-o-mouse.htm
http://www.scriptbrasil.com.br/script/flash/Olhos.zip
A proposta que você procura é bem diferente desse artigo.
Abraços.
26 Alisson // Abr 15, 2009 at 11:04 am
Rodrigo, muito bom kra
to tentando usar no meu site mais ainda to com um problema, nao consigo tirar o bug.
eu to fazendo o seguinte, eu fiz a personalizacao, mais somente quando o mouse estiver em cima de um botao, ai quando eu coloco o mouse sobre o botao, ele aparece rapidamente fora do botao, sobre o resto do conteudo e a mesma coisa acontece quando eu clico no botao , ele aparece e desaparece rapido, teria como vc me dar uma ajuda ?
agradeco desde ja
Alisson Neia
Desenvolvedor Flash
27 Rodrigo // Abr 15, 2009 at 2:13 pm
Opa, blz Alisson.
Valeu pela visita ao site.
Fiz um exemplo em AS2:
http://rapidshare.com/files/221707121/cursor_as2.fla.html
Estude-o que está bem simples, mas acredito que possa te dar uma idéia de como proceder no seu projeto.
O arquivo está comentado pra tentar explicar como proceder cada parte.
Essa foi uma maneira que encontrei mais fácil de trabalhar com cursor personalizado, talvez isso o ajude em algo.
Abraços e boa sorte no projeto.
28 caique // Mi 12, 2009 at 10:34 am
ola rodrigo segui todos os passos mas naum deu certo quando dou um comando de ctrl enter para ver como ficou ele naum faz o curso do mouse …………tentei colocar no dreaw mas tambem naum deu certo……
nao sei porque agora
29 caique // Mi 12, 2009 at 11:17 am
ola. rodrigo ,
gostaria de saber se tem como eu colocar isto que fizemos no dreanwer, ow tenho que desevolver o site completo em flash ??????
grato caique santos
30 caique // Mi 12, 2009 at 11:22 am
na verdade inserir em uma pagina html
vlwww
31 Rodrigo // Mi 12, 2009 at 12:57 pm
Ola Caique, o tutorial não é tão complicado quanto parece. Na verdade até foi prolongado por ser algo simples.
Tudo que tem que fazer, é ter um MC com nome de instância no stage pra conseguir controlar esse objeto/MC pelo código AS. Os passos do tutorial estão claros. Sugiro tentar fazer um novo teste caso achar necessário rever os passos criados.
Sim. Você pode inserir arquivo SWF dentro do Dreamweaver ou HTML. Na verdade voce só usa o HTML pra inserir o SWF. Pode criar criar sites parcialmente em Flash ou totalmente em Flash, tendo apenas o HTML como container/caixa do SWF.
O procedimento pelo dreamweaver é parecido como inserir imagens, mas nesse caso você insere SWF.
É aconselhável conhecer um pouco de HTML pra leitura de sintaxe do código, isso ajuda nas manutenções caso haja algum problema de visualização.
No google você acha vários assuntos de “como inserir SWF no dreamweaver/Html”.
Abraços.
32 Rafael // Mi 29, 2009 at 9:54 am
Ola Rodrigo! Primeiramente parabéns pelo tutorial.
Bom, meu problema é que precisava mudar o cursor tanto no flash quanto no html, e até ai tudo bem. Mas quando tiro o mouse de cima do flash e vou para algum outro lugar, o cursor do flash fica parado no canto, não some! Então ficam 2 cursores na tela rs…
Você saberia como resolver isso!?
33 Rodrigo // Mi 30, 2009 at 1:36 am
Olá Rafael,
Valeu pela visita ao site.
Seguinte, consegui desenvolver um esquema que pode dar certo para quem quer inserir cursor personalizado apenas em uma parte do SWF, e usar o cursor original em outras parte dos HTML.
Por exemplo, caso seu site não seja totalmente em Flash, mas queira que apareça em um cursor personalizado apenas na parte que tem Flash.
Lembrando que, o “cursor personalizado” nada mais é que um MC no stage com nome de instância, que segue a posição X e Y do cursor original do sistema.
Segue o código AS2:
Abraços.
34 Rafael // Jun 2, 2009 at 12:56 pm
Rodrigo, muito obrigado! Só pude responder agora, era isso mesmo que eu precisava.
Agradeço muito muito sua ajuda!
Abraços.
35 Heglaé Malheiros Maia // Jun 2, 2009 at 5:29 pm
Poxa, tava doida procurando isto em AS3!!
vALEU
=3
36 Diego // Jun 19, 2009 at 3:06 am
Obrigado, Rodrigo! Estou tentando aprender sobre flash e seu tutorial ajudou muito.
Um abraço!
37 roberta // Jul 16, 2009 at 4:23 pm
Rodrigo, muito obrigada pelo tutorial!! Tinha procurado em uns 20 tutoriais antes do seu e não tinha conseguido fazer nada além de abrir muitas janelas de erro.
Foi de GRANDE ajuda!
Parabéns!!
38 felipe jacheto // Ago 22, 2009 at 1:12 pm
caras, eu sei um jeito muuuuuito mais facil, só faser um movieclip e na actions dele coloque:
onClipEvent (enterFrame) {
startDrag(this,true);
Mouse.hide()
}
39 Maricélio // Jan 7, 2010 at 1:43 am
Rodrigo….
Teria como me passar, um tutorial do cursor “mouse”, sendo ele um palito de FOSFORO…. com chamas e quando passar pelos locais destinados… dar a impressão de esclarecer o local mesmo…
tipo…. (usando dois frames…. um coloco uma imagem preta “pra dar a impressão de estar no escuro e outra uma imagem qualquer ” ) a tela preta e por onde o mouse ” fosforo” passar aparecer a outra imagem;….
AGRADESCIDO…. parabéns pelo tuto…vlw irmão… espero que me envie o mais rapido possovel….. flws…
Faça um comentário