Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pcdesign

Como tirar a ação do banner em flash

Recommended Posts

Oi pessoalbeleza,Tenho um sitema de upload de banner para pagina de anuncios:Então queria saber se tem como remover a ação do link do banner em flash,necessito colocar um link determinado por min.estou usando PHP.Atenciosamente,Paulo Costa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você pode fazer é criar um flash novo no tamanho do banner e chamar o swf do banner dentro desse swf por loadMovie, dai você deixa um botão por cima do movielcip que vai carregar o swf e nele você da a ação, como ~ele vai pegar a ação mais alta do movieclip, assim da pra resolver seu problema, o que pode te dar dor de cabeça é ficar sincronizando fps, que deverá ter o mesmo do banner que será carregado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Carneirinho,Antes de tudo obrigado pela dica.Mas tem como neste movieclip chamar o banner através de uma variável php "$banner_empresa".Desculpa faz tempo que não mexo em flash e normal mente faço apenas botões e banners nelese você puder dar mais umas dicas de como procer, ficarei grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da sim, você passa o nome do swf como se fosse o GET, é só na hora de colocar o banner na página você colocar arquivo.swf?url=link_do_banner.swf dai dentro do flash você coloca no botão:

 

on(release){

getURL(_root.url);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola caneirinho,o que eu quero fazer é masi o menos isso ai, mas não consegui.se puder explicar melhor seu post anterior com base neste.criei u swf com duas camadas:na primeira coloquei um clip que estânciei de loadbanner e nesta mesmacamada coloquei a função: loadMovie("img_user/<?php echo $banner; ?>.swf", "loadbanner");na segunda camada criei o botão como esta abaixo:on (release) {getURL("http://www.connectanuncios.com.br/hits_anuncios.php?cod_anun=<?php echo $cod_anun; ?>", "_self");}desde ja muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua idéia estaria certa se o flash executasse script php, você não pode colocar o script php ro flash executar, então tudo sso você vai jogar no html dessa forma:

 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>header</title>
<script language="java script">AC_FL_RunContent = 0;</script>
<script src="AC_RunActiveContent.js" language="java script"></script>
</head>
<body bgcolor="#000000">
<script language="java script">
	if (AC_FL_RunContent == 0) {
		alert("This page requires AC_RunActiveContent.js.");
	} else {
		AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','name','header','width','804','height','305','align','middle','id','header','src','img_user/<?php echo $banner; ?>','quality','high','bgcolor','#ffffff','allowscriptaccess','sameDomain','allowfullscreen','false','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','img_user/<?php echo $banner; ?>' ); //end AC code
	}
</script>
<noscript>
	<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" name="header" width="804" height="305" align="middle" id="header">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="allowFullScreen" value="false" />
	<param name="movie" value="img_user/<?php echo $banner; ?>.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />	<embed src="img_user/<?php echo $banner; ?>.swf" quality="high" bgcolor="#ffffff" width="804" height="305" name="header" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
	</object>
</noscript>
</body>
</html>

Dentro do flash no botão, você vai ter que fazer um loadVars do php que é nada menos que pegar aquela variavel da pagina em php e dessa variavel atribuir ao botão, por exemplo:

 

var carrega = newLoadVars();

carrega.load("http://www.connectanuncios.com.br/hits_anuncios.php");

carrega.onLoad=function(){

_root.link = this.cod_anun;

}

 

e no botão finalmente coloque a ação:

 

on(release){

url = "http://www.connectanuncios.com.br/hits_anuncios.php?" + _root.link;

getURL(url, "_self");

}

 

Deu pra entender agora?Só deixe o java script junto no seu código porque aqui separei pra não dar pau no fórum.

 

abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi carneirinho, estou de volta, você já deve esta chateado comigo, e deve ficar mais ainda, por esta voando no que parece obvio, mas infelizmente não consegui concluir este assunto e ainda andei estudando neste link: http://pontoflash.com.br/colunas/materia.p...Item=216#Cena_1

Mas mesmo assim não consegui, mas juntando o que estudei e o que você me passou dar pelo menos para te explicar melhor facilitando nosso entendimento, já que sou leigo em action script. E se puder fazer uns comentários nas linhas do script vai facilitar bastante.

 

Vamos do princípio:

 

Tenho uma base de dados que carregará na minha pagina automaticamente de 0 a 15 banners e esses banners podem ser swf ou não e esses swf já vem com seu endereço de url definido pelo usuário, então quero exibir os banner swf mas não quero executar a url deles.

Com base nisso você me passou que teríamos que criar um novo swf com um movie clip para chamar o banner swf e um botão sobre ele com a url definida por mim.

E depois você me passou conforme minha necessidade que o ideal seria com loadVars, com base no que estudei a conclusão seria o seguinte:

Preciso enviar para o meu swf duas variáveis: $banner e $cod_anun.

Agora o que me pegou, como enviar? Já que não vou utilizar nenhum método (get ou post) já que esses banner são exibidos ao carregar a pagina e não por ação de cliks.

 

Bom meu swf seria assim, se é que estou correto.

 

Na linha de tempo coloquei este código:

 

var carrega = newLoadVars();

carrega.load("http://localhost/abrace/teste2.php");

carrega.onLoad=function(){

_root.banner = this.banner;

_root.link = this.cod_anun;

}

loadMovie("img_user/"+ _root.banner, load_banner);

 

Nesta mesma camada criei o botão sobre o load_banner (fiz o movieClip e o botão na mesma camada).

on (release) {

set(url, "http://localhost/abrace/hits.php?"+_root.link);

getURL(url, "_self");

}

 

bom resumindo: preciso enviar para o swf a variável $banner (com os nome do banner a ser carregado através do loadMovie) e a variável $cod_anum (para criar o destino do meu botão).

 

Meu php que exibe os banner.

Abre_Conexao();	  $Selbanner = mysql_query("SELECT banner, tipo_banner, largura, altura, cod_banner FROM banner”) or die ("Erro na exibição do banner: ".mysql_error());	@mysql_close();	$rsBanner = mysql_fetch_row($Selbanner);$cod_anun = $rsBanner['0'];	$banner = $rsBanner['1'];	$tipo_banner = $rsBanner['1'];//esta linha foi minha tentativa de enviar as variaveis para o swfecho "cod_anun=".$cod_anun."&banner=".$banner; 		if ($tipo_banner == "flash"){				?><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="540" height="100">  <param name="movie" value="img_user/loadbanner.swf">  <param name="quality" value="high">  <embed src="img_user/loadbanner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="540" height="100"></embed></object><?php		} else {		echo '<a href="hits.php" target="_self"><img src="img_user/'.$banner.'" alt="titulo da imagem"/></a>';		}}
espero que você possa me ajudar,

e vai desculpando a minha falta de entendimento.

acredito que desta vez de certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é complicado o que você quer fazer, da só um tempo que a coisa ta enrolada aqui na empresa, até amanhã na hora do almoço eu te posto ai como você vai fazer isso.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi hinom beleza,

 

Primeiro o valor das duas variaveis que tento enviar vindo do meu bd. Segundo umas pesquisadas que dei é daquela forma que se envia pro flash.

 

depois vem o banner swf que deveria chamar dentro dele outro banner swf conforme as duas variaveis do php $cod_anun e $banner.

 

motivo: construi uma pagina de anuncios e os banner são chamados a partir de uma base de dados e vou lincando-os automáticamente conforme loop, mas só se o cliente manda um banner swf não da certo, ele ja vem com seu próprio link e o meu não funciona. então a solução seria fazer outro swf chamando o banner do cliente por loadMovie criando um botão transparente sobre ele.

 

desde já obregado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi o que você quer fazer.utilizo essa técnica há 5 anos +- .sugiro que você refaça um novo arquivo e teste cada etapa separadamente.1 - crie um arquivo flash ( load_banner.fla ) que faça o carregamento de um banner qualquer2 - no load_banner.fla, crie um layer que fique acima do banner que será carregado. Nesse layer crie um objeto e instancie-o como button "botão". Defina o botão como alpha = 0% pra ficar trnasparente.3 - Clique sobre o layer onde está o botao e abra o painel ActionScript. Crie uma rotina que receberá o link do banner e setará o evento onRelease do botão para criar o linkCTRL+ENTERhá mais de um modo de enviar informações para o interpretador ActionScript do SWFno seu caso, como são poucos dados, você poderia enviar por parêmetros: load_banner.swf?banner_link=http://www.google.com&banner_image=banner001-clienteX.swfnesse caso bastaria criar dois campos de texto dinâmicos e setar a variável de ambos como "banner_link" e "banner_image" respectivamente.ah e só uma sugestão, evite escrever textos corridos. Após escrever, releia o que você postou e corrija o que estiver errado pra que possamos entender o que você está querendo dizer. confesso que levei uns 50 segundos ou mais pra entender essa frase, que na verdade sao duas frases distintas:

Primeiro o valor das duas variaveis que tento enviar vindo do meu bd. Segundo umas pesquisadas que dei é daquela forma que se envia pro flash.

pra qualquer mensagem, procure destrinxar os pontos importantes e e deixar organizado.escreva somente o necessário de forma simples e objetiva.isso vale pra todos no forum.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi hinom, desculpa os erros...

 

não consigo entender poque não da certo,

não parece ser tão complicado, mas inflizmente, isso esta me matando.

 

vou tentar aqui um passo a passo pra v se da certo, se não desisto.

 

MEU BANNER SWF (load_banner.swf):

 

1º camada - movie_clip (load_banner): receberá o banner do cliente ($banner).

2º camada - botão: receberá o cod do cliente: detino.php?cod=$cod_anun.

3º camada - ação na lina de tempo: nesta camada esta o loadVar:

 

loader = new LoadVars(); loader.load("http://localhost/abrace/exibi_banner.php"); loader.onLoad = function (){ if(success){ loader.cod_anun;  loader.banner;	loadMovie(banner,"load_banner");}else{ // OQUE PODERIA COLOCAR AQUI? como?} }
Pergunto:

O script loadVars() esta correto?

O loadVars() esta na camada certa?

Deve ser colocado na linha de tempo? Qual?

Ou deve ser colocado no botão ou movieClip?

 

Minha Pagina php:

<?phpinclude "bdscripts/init.php";$cod_anun = 000005;	if ($cod_anun==true){	//abrir banner	Abre_Conexao();	  $Selbanner = mysql_query("SELECT banner, tipo_banner, largura, altura, cod_banner FROM banner where cod_anun = '$cod_anun'") or die ("Erro na exibição do banner: ".mysql_error());	@mysql_close();	$rsBanner = mysql_fetch_row($Selbanner);	$banner = $rsBanner['0'];	$tipo_banner = $rsBanner['1'];	$largura = $rsBanner['2'];	$altura = $rsBanner['3'];	$cod_banner = $rsBanner['4'];			if ($tipo_banner == "flash"){//esta forma de enviar as variaveis esta correta.$vars = "";$vars .= "cod_anun=" . $cod_anun . "&"; $vars .= "banner=" . $banner; echo $vars; // realmente é necessário printar as variávei				 // pois ficam visiveis, o que não é pra ser.		 ?>		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="540" height="100">  <param name="movie" value="loadbanner.swf" />  <param name="quality" value="high" />  <embed src="loadbanner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="540" height="100"></embed></object>		<?php		} else {		echo '<img src="img_user/'.$banner.'" alt="titulo da imagem" />';		}} else {}?>
desde ja agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara sou novato nisso .Más qual action script você esta usando?Éra para estar dando certo será que você não esta usando o script em um flash errado ?O script 2 é para o flash 8 e o 3 é para o flash cs3 será?Eu não sei muito más sei que o 2 é orientado para o objeto diferente do 1 que aceitava tudo.Converse sobre isto com om moderadores eles sabem bem mais do que eu.Falou cara até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso o flash 8,mas ja tentei de varias formas com vários exemplos que peguei na internet,mas não consigo acertar de jeito nenhum.se puder me ajudar agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi hinom,

 

acho dessa vez bateu na trave,

quando teclei Ctrl + enter no flash deu a seguinte saída:

 

bannerfalesia.swf		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="540" height="100">  <param name="movie" value="loadbanner.swf" />  <param name="quality" value="high" />  <embed src="loadbanner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="540" height="100"></embed></object>				Error opening URL "bannerfalesia.swf		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="540" height="100">  <param name="movie" value="loadbanner.swf" />  <param name="quality" value="high" />  <embed src="loadbanner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="540" height="100"></embed></object>				"

acho que a caixa de saida do flash só mostra essa mensagem quando alguma coisa esta errada.

Mas o ponto positivo está logo no início que aparece o valor da variável banner = bannerfalesia.swf,

só faltou ele aparecer no loadMovie.

 

Quando faço o loadMovie direto s/ a variavel banner funciona.

loadMovie ("bannerfalesia.swf","load_movie")

 

desde ja agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi hinom, nunca vi algo tão complicado:

 

continua o mesmo erro:

Error opening URL "http://localhost/abrace/bannerfalesia.swf	<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http:.........etc.

estou fazendo o loadMovie assim:

loader = new LoadVars(); loader.load("http://localhost/abrace/exibi_banner.php"); loader.onLoad = function() { cod_anun = loader.cod_anun; banner = loader.banner; trace(banner);loadMovie("http://localhost/abrace/" + banner, "load_banner");}

não da pra entender porque não aparece o banner chega até substituir clip de destino (load_banner), mas só que fica tudo branco. mas se utilizo o nome do banner direto em vez da variavel funcioan perfeitamente.

e a unica diferença que vejo é que nome do banner colo entre aspas no loadMovie. Ex.:

 

loadMovie("bannerfalesia.swf" , "load_banner"); assim funcioana.

loadMovie(banner , "load_banner"); assim não funciona, mas o valor da variavel existe.

 

como te disse a unica diferença é que a variavel não esta entre aspas. não tem como concatenar para que a variavel fique entre aspas pra v se da certo.

ou tavez isso não tenha nada haver. Será que não poder ser o caminho do valor da variavel no próprio flash.

o loadVars (coma as variaveis banner e cod_anun) estão numha camada, o clip load_banner em outra e o botão em outra.

 

acredito que seja só um detalhe já que as variaveis estão presente.

hinom! só não vale dizer q esta entre a cadeira e o comput. rsrsrsrs

 

um abraço e até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

espere..

 

como diria "jack o estripador", vamor por partes

 

 

1) eu pedi pra você testar isso aqui.

loader = new LoadVars();

loader.load("http://localhost/abrace/exibi_banner.php");

loader.onLoad = function (){

cod_anun = loader.cod_anun;

banner = loader.banner;

 

trace(banner);

//loadMovie(banner,"load_banner");

}

ok

 

qual o resultado ?

o comando "trace()" escreve no debugador o valor da variavel

qual é o valor ?

 

 

entao você respondeu que o valor foi esse:

 

bannerfalesia.swf <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="540" height="100">

 

<param name="movie" value="loadbanner.swf" />

 

<param name="quality" value="high" />

 

<embed src="loadbanner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="540" height="100"></embed>

 

</object>

pronto. aí está o problema!

 

obviamente que nao deveria corregar toda essa tralha de codigo

o problema está no script do arquivo PHP

 

 

2) execute o arquivo

no browser, rode esse script: http://localhost/abrace/exibi_banner.php

 

qual o resultado que aparece.

* não apenas o resultado visual. No navegador, clique com o botão direito do mouse e clique em "Exibir código fonte" e poste aqui o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.