Jump to content

2 problemas com meu swf


Carlos Rocha
 Share

Recommended Posts

Olá pessoal.

Bom Dia.

Tenho 2 problemas com o meu swf:

1) Como faço para que, abrindo uma popup a partir do clique em um botão, o bloqueador de popups não seja ativado?

2) Tenho o codigo abaixo com uma tabela que movimenta via start drag por um botão. Acontece que, quando puxo o botão, o startdrag trabalha bem. Mas, quando solto o mouse, aí o stopdtag diz:

TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.

at infuteis_fla::MainTimeline/stopScroll2()[infuteis_fla.MainTimeline::frame40:39]

Segue em anexo o fla e o codigo abaixo:

stop();

voltar.addEventListener(MouseEvent.CLICK, volta);

var scrollP:Point = new Point(scroller.x,scroller.y); 
var scrollRange:int = 300; 
var timelineTotalFrames:int = especificacoes.totalFrames; 
var rect:Rectangle = new Rectangle(scroller.x,scroller.y,0,scrollRange-scroller.height); 

especificacoes.stop(); 


function onDown(e:MouseEvent):void 
{ 
scroller.startDrag(false, rect ); 
addEventListener(Event.ENTER_FRAME, onScroll); 
} 

function onUp(e:MouseEvent):void 
{ 
  scroller.stopDrag(); 
  if (hasEventListener(Event.ENTER_FRAME)) 
  {removeEventListener(Event.ENTER_FRAME, onScroll); }
} 

function onScroll(e:Event):void 
{ 
// (scroller.x - scrollP.x) fix if your scroll have a x different from 0 
var calcFrame : int = ((scroller.y - scrollP.y) * timelineTotalFrames) / scrollRange; 
especificacoes.gotoAndStop(calcFrame+1); 
} 

scroller.addEventListener(MouseEvent.MOUSE_DOWN, onDown); 
scroller.addEventListener(MouseEvent.MOUSE_UP, onUp); 
// release mouse outside scroll 
stage.addEventListener(MouseEvent.MOUSE_UP, onUp); 

http://www.bateriasadvance.com.br/infuteis.fla

Link to comment
Share on other sites

  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

1) antes disso, apresenta uma mensagem ao utilizador a dizer que a tua aplicação não funciona sem popups e para o utilizador permitir popups (ou deixar de usar a tua aplicação). Depois assume que os popups funcionam. Assim ficas com o problema resolvido. 🙂 :) 🙂

Agora a sério: não faças a tua aplicação depender de popups.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Na verdade, são 33 páginas de um arquivo .pdf que exportei todas as folhas como imagem e criei um arquivo html para rodar figura abaixo de figura. Abrindo como uma popup.

Agora fala sério: Colocar 33 imagens em um arquivo fla e ter 33 scrowls para subir e descer a tela ( a imagem é mais alta que o fla).

Será que tem outra forma de fazer isso?

Link to comment
Share on other sites

Boas a todos!

1 - Usar popups do browser... 😄 isso dá sempre uma grande confusão!

...

Agora a sério: não faças a tua aplicação depender de popups.

Também acho que essa é a melhor solução... Ou entao cria os popups no flash directamente (sem ter de abrir novas janelas do browser)

2 - epá! essa tua scroll... tá aí um grande trabalho!! lol! Sugiro que simplifiques mais isso! uma scrollbar é das coisas mais simples de se fazer em flash.

O erro que te está a aparecer, é exactamente o que ele diz:

"Não é possível acessar uma propriedade ou um método de uma referência de objeto nula."

Ou seja, quando carregas a função stopScroll2(), perdes-te a referência ao objecto scrollMC2 (scrollMC2 = null), isto é derivado há maneira que estás a usar para fazer scroll das coisas...

Simplifica o processo, se quiseres posso-te tentar dar umas dicas de como por isso mais dinamico e simples.

Quanto ao uso de pdf em flash, infelizmente isso é (e sempre foi) um problema implementar... sei que através do uso de java se consegue uma coisa dessas, mas dá uma grande trabalheira... 🙂

Sugiro que faças o que o fil79 diz:

se já tens os documento em imagens porque não abres dentro do proprio swf, usando um movieclip, por exemplo?

Mas ao colocares o pdf como imagens, perdes a opção de poder selecionar o texto... (fica tudo um bitmap)

cumps,

cc

Cumps,

cc

Link to comment
Share on other sites

😁

A ideia seria fazeres tu com a nossa ajuda 🙂

Dá uma olhada neste tutorial:

http://www.gotoandlearn.com/play.php?id=71

Se te forem surgindo dúvidas, avisa que nós tentamos ajudar.  😄

Bom, não sou nada bom em flash.

Pelas coisas que tens mostrado, e pelas dúvidas que tens tido, acho que tens um bom nivel

é normal o pessoal bater com a cabeca na parede de vez em quando  :wallbash:

Cumps,

cc

Link to comment
Share on other sites

Hum,

Tentei colocar as imagens, uma abaixo da outra, mas como elas são muito altas (1138px cada) e são 33 imagens, o palco do flash só deixou colocar 4, uma embaixo da outra, depois o flash não baixa mais a barra de rolangem da IDE para eu colocar mais imagens.

Nesse caso, o que eu faço?

Link to comment
Share on other sites

2 - epá! essa tua scroll... tá aí um grande trabalho!! lol! Sugiro que simplifiques mais isso! uma scrollbar é das coisas mais simples de se fazer em flash.

O erro que te está a aparecer, é exactamente o que ele diz:

"Não é possível acessar uma propriedade ou um método de uma referência de objeto nula."

Ou seja, quando carregas a função stopScroll2(), perdes-te a referência ao objecto scrollMC2 (scrollMC2 = null), isto é derivado há maneira que estás a usar para fazer scroll das coisas...

Simplifica o processo, se quiseres posso-te tentar dar umas dicas de como por isso mais dinamico e simples.

Como posso contornar esse problema partindo do código que estou usando?

Link to comment
Share on other sites

Bom, achei outro problema.

Esse é o swf

http://www.bateriasadvance.com.br/aa.jpg

Acontece que enquanto eu navego nos menus: O que é, Dicas e Treinamento, tudo vai bem.

Porem, quando vou em Especificações Técnicas, que é essa imagem:

http://www.bateriasadvance.com.br/bb.jpg

Ao, rolar o scroll e soltar, após ir para qualquer outro menu o swf já se encontra travado.

Segue o as3 desse frame:

stop();

voltar.addEventListener(MouseEvent.CLICK, volta);

var scrollP:Point = new Point(scroller.x,scroller.y); 
var scrollRange:int = 300; 
var timelineTotalFrames:int = especificacoes.totalFrames; 
var rect:Rectangle = new Rectangle(scroller.x,scroller.y,0,scrollRange-scroller.height); 

especificacoes.stop(); 


function onDown(e:MouseEvent):void 
{ 
scroller.startDrag(false, rect ); 
addEventListener(Event.ENTER_FRAME, onScroll); 
} 

function onUp(e:MouseEvent):void 
{ 
  scroller.stopDrag(); 
  if (hasEventListener(Event.ENTER_FRAME)) 
  {removeEventListener(Event.ENTER_FRAME, onScroll); }
} 

function onScroll(e:Event):void 
{ 
// (scroller.x - scrollP.x) fix if your scroll have a x different from 0 
var calcFrame : int = ((scroller.y - scrollP.y) * timelineTotalFrames) / scrollRange; 
especificacoes.gotoAndStop(calcFrame+1); 
} 

scroller.addEventListener(MouseEvent.MOUSE_DOWN, onDown); 
scroller.addEventListener(MouseEvent.MOUSE_UP, onUp); 
// release mouse outside scroll 
stage.addEventListener(MouseEvent.MOUSE_UP, onUp); 
 

O compilador acusa erro nessa função:

function onUp(e:MouseEvent):void 
{ 
  scroller.stopDrag();    ---> Nessa linha o compilador trava.
  if (hasEventListener(Event.ENTER_FRAME)) 
  {removeEventListener(Event.ENTER_FRAME, onScroll); }
}
Link to comment
Share on other sites

Bom, conforme orintação de vocês, consegui resolver o problema dos erros de codigo no starDrag usando tweener(classe caurina).

Agora, gostaria de saber se há uma forma de adicionar ao stage, as 33 imagens de 1300px cada. Uma embaixo da outra.

Tem jeito?

Tentei. E ao adicionar a terceira imagem, na quarta imagems, a barra de rolagem da IDE do Flash não desce mais para eu importar.

Link to comment
Share on other sites

Pensei direito:

Meu movie clipe tem 1000x300.

A área livre para mostrar as imagens é só de 600x200.

Cada imagem tem cerca de 1000pxx1390px.

Ainda que eu coloque por xml no swf, alem desse swf ficar bem pesado, vai ficar pequena demais a exibição das imagens.

Jeito de driblar o bloqueador de popup tem não né? Ou tem sim?

Link to comment
Share on other sites

podes sempre reduzir o _width das imagens para 600px... (e o _height proporcionalmente)

o swf em si, nao irá ficar muito pesado (antes pelo contrario), o que é capaz de demorar é o carregamento das imagens, mas podes sempre por um pre-loader para a coisa... 🙂

Se precisares posso-te ajudar nisso.

Quanto ao bloqueio dos popups, nao estou a ver nada que posaa "facilmente" resolver o problema, continuo a achar que a melhor solucao seria fazeres load das imagens atraves de um ficheiro xml.

Se alguém tiver ideia de como resolver o problema dos popups, ou saiba como carregar um pdf em flash (de maneira simples), que se chegue à frente! 😄

cumps,

cc

Cumps,

cc

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.