DeStiLaDo Postado Novembro 5, 2006 Denunciar Share Postado Novembro 5, 2006 Gente;Por exemplo: caso eu tenha 5 textos num BD e quero lista-los num filme flash...até ai td bem...mas e se no BD agora forem 6?a pergunta é:Como faço pro flash ser regerado para agora incluir + uma linha? ou mesmo + um movieclip?Só quero saber onde obtenho um exemplo para estudos!Vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anti-puff Postado Novembro 5, 2006 Denunciar Share Postado Novembro 5, 2006 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: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DeStiLaDo Postado Novembro 8, 2006 Autor Denunciar Share Postado Novembro 8, 2006 Olá, Anti-Puff!!!Vlw a ajuda, funcionou!!!me responder umas dúvidas?- falando em performance:devo aprender a mexer assim, importando essas variáveis de um ASP ou PHP, ou devo pensar em algo tipo o Flash Remoting? quais os ganhos que eu teria em fazer em ColdFusion? você é cobra nisso também? :) -falando em facilidade de personalização:da maneira que você me explicou eu tenho que por exemplo, criar movieclips padrões com o AS (no caso do teu ex.: ) dentro do mesmo, certo? e ai dpois dar um duplicatemovieclip? caso ainda tenham ocorrencias no meu BD? ond leio mais sobre isso? :blink: - mais uminha:neste teu eskema aqui, como eu faria pra puxar da biblioteca um clip chamado "bola" e repetilo conforme o nº de ocorrencias do banco?VO PESQUISÁ! mas c puder me ajudar, vlw!Vlw,c não c importa, posso t add no MSN?Não sou muito Xarope... :rolleyes: huehuehueT+, E VLW MESMO A AJUDA ATÉ aqui!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anti-puff Postado Novembro 9, 2006 Denunciar Share Postado Novembro 9, 2006 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 melhorDownload do ArquivoMeu MSN.... antipuff@MSN.com / mas infelizmente não estou disponível muito tempo nele... mesmo assim é mais facil me achar. :blink: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DeStiLaDo Postado Novembro 11, 2006 Autor Denunciar Share Postado Novembro 11, 2006 VLW VLW VLW!!!Vou destrinchá esse cod!VLW VLW VLW=======================================================Bah velho!você É COBRA!!!você trabalha em alguma empresa ou é freelancer?Sô quase um zero em AS, muito show essa maneira de trabalhar com objetos e dados!!!Me abriu mtas possibilidades você me mostrar esses "segredinhos"...você precisa ver o que to fazendo, vamu v c a gent c fala no MSN!Abração! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
DeStiLaDo
Gente;
Por exemplo: caso eu tenha 5 textos num BD e quero lista-los num filme flash...
até ai td bem...
mas e se no BD agora forem 6?
a pergunta é:
Como faço pro flash ser regerado para agora incluir + uma linha? ou mesmo + um movieclip?
Só quero saber onde obtenho um exemplo para estudos!
Vlw
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.