
Anti-puff
Membros-
Total de itens
262 -
Registro em
-
Última visita
Tudo que Anti-puff postou
-
qual o tipo de arquivo externo que você deseja carregar? .swf ? .flv?
-
Confira o nome da instancia do MC.. e deixe campo de texto visivel apenas para ver se ele esta pegando o valor correto... mas use () no ToString() mc.loadMovie(_root.img.toString()) verifique também se a imagem se encontra na mesma pasta do swf
-
Suponha que você tem um campo de texto com variável "linkFoto" , e no página o swf é carregado como: arquivo.swf?linkFoto=1.jpg então no campo de texto vai aparecer "1.jpg" por exemplo para ler essa foto dentro de um MovieClipe chamado "foto" foto.loadMovie(_root.linkFoto.toString()) :blink:
-
Quando ao primeiro ponto de performance não há grande diferença em tempo de request das linguagens, porém o flash remoting exige mais processos do servidor por ficar aberto em stream, você deve se preocupar muito mais com o tipo de base de dados que usa e como cada linguagem trabalha com ela... as melhores performances são para MySQL e ORACLE (MySQL é gratuita)... já dizia o ditado que a melhor linguagem é a qual a gente sabe usar... eu particularmente uso o ASP.NET C# por conter amplas classes de framework e essas classes tem muita similaridade com programação de ActionScript 2.0 e 3.0 pelo fato de ser "framework" também do flash 8. Não sou fã de coldfusion pois não é estruturado com similaridade das programações WINDOWS... php é excelente... mas envolve conhecimentos de servidores linux e uma infinidade de tempo procurando por scripts de classes para simular o framework do windows e isso pode apresentar queda de performance. Sobre o Script , ele é personalizável para quaisquer tipos de situação envolvendo arrays... e apartir de uma array você pode criar um MC para cada valor da array. Para adaptar o script para criar e attachar itens da livraria, apenas altere a função criaGrid, mas vou re-escrever tudo com as alterações: Mantendo o código de resposta: &titulo1=Info1 do banco de dados& &titulo2=Info2 do banco de dados& &titulo3=Info3 do banco de dados& &titulo4=Info4 do banco de dados& &chk=EOF& estou renomeando esse o arquivo que tem esse código para 1.txt , facilitando o teste local pois da mesma maneira que o flash lê um asp ou php ele lê um txt. e agora segue o código com a criação de fundo e attach de um MC no meu exemplo chamado de mail_MC inserindo também prototypes para dar acabamento. var titulos = new Array l1 = Math.round(Math.random()*100000) l2 = Math.round(Math.random()*100000) file = "1.txt"//"pagina_dinâmica.aspx?l1=" + l1 + "&l2=" + l2; // arquivo asp ou php que lê o bd this.chk = "" this.loadVariables(file.toString()) this.onEnterFrame = function() { if (this.chk != "EOF") { return; } if (this.chk == "EOF") { i = 1 while(this["titulo" + i].length > 0){ titulos[i-1] = this["titulo" + i] //armazena resultados na array i++ } delete this.onEnterFrame; criaGrid(); // função para criar as linhas com resultado no flash; } } MovieClip.prototype.rectangle = function(w, h, x, y) { this.moveTo(x, y); this.lineTo(x + w, y); this.lineTo(x + w, y + h); this.lineTo(x, y + h); } MovieClip.prototype.colorize = function(a,b,c,d,e,f,g,h){ my_color = new Color(this); myColorTransform = new Object(); myColorTransform.ra = a myColorTransform.rb = b myColorTransform.ga = c myColorTransform.gb = d myColorTransform.ba = e myColorTransform.bb = f myColorTransform.aa = g myColorTransform.ab = h my_color.setTransform(myColorTransform); } function criaGrid(){ for(var i=0; i<titulos.length; i++) { var c = this.createEmptyMovieClip("table"+i,this.getNextHighestDepth()) c.lineStyle(1, 0xFFFFFF, 100); c.beginFill(0x0099CC, 100); c.rectangle(400,20,10,0); c.endFill(); c._y = 20*i c.attachMovie("email_MC","email_MC",8) c.createTextField("ballonText"+i,c.getNextHighestDepth(),10,2,400,20); c["ballonText"+i].text = titulos[i]; table["ballonText"+i].selectable = false; fmtEmphasis = new TextFormat(); fmtEmphasis.bold = true; fmtEmphasis.size = 11; fmtEmphasis.font = "Arial"; fmtEmphasis.color = 0x000000; fmtEmphasis.align = "center" c["ballonText"+i].setTextFormat(fmtEmphasis) c.toc = titulos[i]; c.onRelease = function() { trace(this.toc) } c.onRollOver = function() { this.colorize(90,0,100,0,90,0,100,0) } c.onRollOut = function() { this.colorize(100,0,100,0,100,0,100,0) } } } Eu fiz esse exemplo e coloquei para download para você ver e entender melhor Download do Arquivo Meu MSN.... antipuff@MSN.com / mas infelizmente não estou disponível muito tempo nele... mesmo assim é mais facil me achar. :blink:
-
Load Movie No Compenente Scrollpane
pergunta respondeu ao flesch de Anti-puff em Flash & ActionScript
dei uma pesquisada e pelo que notei o scroll pane do flash 6 carrega um MC que já está no flash dessa forma: myscrollpane.setScrollContent(_root.myscroll); de uma olhada no link: Adobe Scroll Pane :blink: -
Para colocar um valor em uma coluna esta correto : myArray[0][6]=7; para comparar valores: if(myArray[0][6] >myArray[0][5] ){ //função } :blink:
-
você quer dizer uma array ou um gráfico de uma matriz matemática? :blink:
-
uma aplicação bidimencional: var myArray = new Array for (a=0; a<=5; a++) { for (b=0; b<=6; b++) { myArray[a] = [0,0,0,0,0,0,0]; trace(myArray[a][b]); } } ou você declara a array com as posições de a: var myArray:Array = [new Array(),new Array(),new Array(),new Array(),new Array(),new Array()] for (a=0; a<=5; a++) { for (b=0; b<=6; b++) { myArray[a][b] = 0; trace(myArray[a][b]); } } :blink:
-
primeiramente você cria um campo de input de texto para cada item de cadastro. e cria um botão para postar esse inputs através de loadVariables numa página dinâmica como aspx ou php #include "alert.as" function getServerInfo(){ l1 = Math.round(Math.random()*100000) l2 = Math.round(Math.random()*100000) file = "pagina_dinâmica.aspx?l1=" + l1 + "&l2=" + l2; this.chk = "" this.loadVariables(file.toString()) this.onEnterFrame = function() { if (this.chk != "EOF") { return; } if (this.chk == "EOF") { alert("email enviado") } delete this.onEnterFrame; } } } getServerInfo(); código do alert.as function alert(txt){ getURL("java script:alert('" + txt + "')") } a sua página dinâmica deve recuperar os valores do post como "post_form" e tratar da forma que desejar dependendo da linguagem que você escolher. e no final deve vir impresso &chk=EOF& para o flash reconhecer que o arquivo foi executado com sucesso e exibir o alert
-
Recomendo deixar o arquivo zipado...
-
Load Movie No Compenente Scrollpane
pergunta respondeu ao flesch de Anti-puff em Flash & ActionScript
Se você esta usando o scrollpane padrão do flash tente carregar o swf nele dessa forma: scrollpane_instancia.contentPath = "arquivo.swf"; ou para scrollPane UI scrollpane_instancia.content = "arquivo.swf"; mas note que o scrollpane tem o nome da instancia de "scrollpane_instancia" e o arquivo swf a ser lido deve estar na mesma pasta do swf que contem o scrollpane. :blink: -
Load Movie No Compenente Scrollpane
pergunta respondeu ao flesch de Anti-puff em Flash & ActionScript
Não estão facil de entender, o componente scrollPane deve ser movido para cena ou MC o loadMovie carrega arquivos extenos apenas... Pode explicar mais detalhadamente o seu problema ou enviar seu fla para poder-mos analizar melhor? -
Tem como você mostrar o arquivo?
-
Geralmente o getURL Funciona, tenha certeza que o arquivo se encontra na mesma pasta que o swf , também tente passar o endereço completo ex: on (release) { getURL("http://www.site.com.br/arquivos/ycra_savyon.exe", "_blank"); } Ainda há a possibilidade de usar FileRef para download importando a classe ex: import flash.net.FileReference; var listener:Object = new Object(); listener.onSelect = function(file:FileReference):Void { trace("onSelect: " + file.name); } listener.onCancel = function(file:FileReference):Void { trace("onCancel"); } listener.onOpen = function(file:FileReference):Void { trace("onOpen: " + file.name); } listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void { trace("onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal); } listener.onComplete = function(file:FileReference):Void { trace("onComplete: " + file.name); } listener.onIOError = function(file:FileReference):Void { trace("onIOError: " + file.name); } var fileRef:FileReference = new FileReference(); fileRef.addListener(listener); var url:String = "http://www.macromedia.com/platform/whitepapers/platform_overview.pdf"; if(!fileRef.download(url, "FlashPlatform.pdf")) { trace("dialog box failed to open."); } :blink:
-
se a sua animação é feita pelo timeline... no ultimo frame coloque o script : stop(); se a sua animação é por EnterFrame utilize: delete EnterFrame
-
Tente fazer o seguinte: Você deve estar usando loadVariables com post no para enviar os dados, correto? a questão é quando um movieclip fica numa mascara os elementos devem ser colocados com variaveis no _root Por exemplo você dentro do seu movieClip colocou um campo de texto "campo_nome" por exemplo crie uma variavel no _root. (primeiro frame da cena) correspondente ao "campo_nome" , por exemplo "c_nome" ... quando você postar o load variables vão ser pegos o valor do _root apenas e não da mascara, então no botão de enviar os dados... você coloca a função: _root.c_nome = this.campo_nome assim para a página dinâmica recuperar o valor via form post a variável é c_nome :blink:
-
Primeiramente gostaria de saber como o flash esta pegando as informações do BD ... imagino que seja atravez de uma página dinâmica como php ou aspx... com loadVariables? o resultado dessa pagina dinamica deve ser contado por exemplo: &titulo1=Info1 do banco de dados& &titulo2=Info2 do banco de dados& &titulo3=Info3 do banco de dados& &titulo4=Info4 do banco de dados& &chk=EOF& note o valor de chk=EOF para informar o flash do fim do arquivo. agora vamos carregar esses valores no flash atravéz de loadVariables dentro de uma array: var titulos = new Array l1 = Math.round(Math.random()*100000) l2 = Math.round(Math.random()*100000) file = "pagina_dinâmica.aspx?l1=" + l1 + "&l2=" + l2; // arquivo asp ou php que lê o bd this.chk = "" this.loadVariables(file.toString()) this.onEnterFrame = function() { if (this.chk != "EOF") { return; } if (this.chk == "EOF") { i = 1 while(this["titulo" + i].length > 0){ titulos[i-1] = this["titulo" + i] //armazena resultados na array i++ } delete this.onEnterFrame; criaGrid(); // função para criar as linhas com resultado no flash; } } Note que após o flash ler todo aquivo reconhece o final dele através dos chk=EOF , então armazena todos os valores encontrados na Array titulos, e executa a função criaGrid() que vai montar o resultado no flash Agora a função criaGrid(), esta bem simplificada, depois você adiciona o acabamento. function criaGrid(){ for(var i=0; i<titulos.length; i++) { this.createTextField("ballonText"+i,this.getNextHighestDepth(),10,20*i,400,20); this["ballonText"+i].text = titulos[i]; this["ballonText"+i].selectable = false; fmtEmphasis = new TextFormat(); fmtEmphasis.bold = true; fmtEmphasis.size = 11; fmtEmphasis.font = "Arial"; fmtEmphasis.color = 0x000000; fmtEmphasis.align = "center" this["ballonText"+i].setTextFormat(fmtEmphasis) } } Espero que isso possa lhe ajudar, talvez com um numero de resultados maiores seja nessario elaborar uma barra de rolagem, mas se você esbarrar nesse problema... me avise e agente resolve... :blink:
-
Tente o seguinte: placa1.onRelease = function() { getURL("http://www.tbline.com.br", "_blank") } :blink:
-
Você tambem pode tocar um mp3 sem precisar carregado la livraria: function playsound(file){ mySound = new Sound(); mySound.loadSound(file.toString(),true); mySound.setVolume(100); mySound.start(); } playsound("arquivoMP3.mp3"); :blink:
-
tente usar da seguinte forma stop(); var iID = setInterval(go,50000); function go(){ play(); } só que nesse exempo a cada 50 segundos vai executar a função play() "sempre" para executa-la apenas uma vez no frame seguinte use: clearInterval(iID) :blink:
-
Tente deletar o onEnterFrame de cada mcStone for (n=1; n<=20; n++) { delete this["mcStone"+n].onEnterFrame; } :blink:
-
Qual função exatamente? Se for relacionado à "onEnterFrame" você deve usar "delete onEnterFrame "...
-
O ActionScript 2.0 não permite alteração em runtime do fps "frames por secundo" isso só é disponível do ActionScript 3.0 compatível por enquanto apenas com o FLEX... Mesmo assim funções de for, while, OnEnterFrame ... enfim, acontence independente do fps do Movie, são subordinados apenas à velocidade do processamento do flash player. o script abaixo mede a taxa de fps processada pelo movie: Primeiro crie um campo de texto dinamico com instancia "fpsText". var fps: Number = 0; var ms: Number = getTimer(); this.onEnterFrame = function(){ if( getTimer() - 1000 > ms ) { ms = getTimer(); fpsText.text = fps.toString(); fps = 0; } else { ++fps; } } fpsText.text = "0"; :blink:
-
Vi o seu exemplo, o erro é o seguinte: você está criando um MovieClip com nome obstaculo, onde já existe a função chamada obstaculo. Apenas mudei o nome da função para obstaculo1 e a chamada dela no onClipEvent para _root.obstaculo1(); e funcionou beleza...
-
Botão Que Aciona Outro Movie Clipe
pergunta respondeu ao (!_Odisséa_!) de Anti-puff em Flash & ActionScript
Primeiramente para a conexão ser correta o id dos objetos no html deve corresponder ao varid: por exemplo: No menu_teste1.swf varid = "menu_teste1"; No html <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="menu_teste1" align="middle"> Fazer o mesmo para o menu_teste2.swf Quando você usa a instrução: _root.conexao.send("menu_teste2", "botao"); dentro do menu_teste1.swf , você chama dentro do menu_teste2.swf a função "botao"... agora se você quer executar a função botao no menu_teste1.swf apartir do menu_teste2.swf o código para chamar o botao deve estar no menu_teste2.swf _root.conexao.send("menu_teste1", "botao"); :blink: