kuca 0 Denunciar post Postado Maio 29, 2009 Olá pessoal! Estou buscando um resultado no flash usando AS2 onde por tras de cada linha seja modelado uma faixa conforme imagem exemplo: Este texto deverá vir de um xml. Alguém tem alguma dica? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 29, 2009 backgroundColor... Você vai ter que colocar um background no seu campo de texto....... agora que eu saiba ele não vai por background apenas nas letras não... vai colocar no campo inteiro, pois é uma função do campo. Não sei se é posivel colocar só nas letras... Mas é em backgroundColor... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Jhony Frozen 0 Denunciar post Postado Maio 29, 2009 Cara é possivel sim, mas meio trabalhoso. A idéia seria ciar um campo de texto para cada linha através de Action é claro Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 29, 2009 Então tenta ai descubir o tamanho de cada linha de texto... Pq eu desconheço qualquer comando que diga o tamanho... Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Jhony Frozen 0 Denunciar post Postado Maio 29, 2009 Não é preciso descobrir o tamanho. É até simples, basta ser criativo. O Action-Script abaixo tem a função de formatar o texto que é passado por um XML, este é um script que faz a leitura de tags e formata o texto de acordo com as tags encontradas no texto. Script: stop(); System.useCodepage = true; var myTextSize:Number = 16; var homeXML:XML = new XML(); homeXML.ignoreWhite = true; homeXML.onLoad = function($sucesso) { if ($sucesso) { texto_html.html = true; convertHtml(homeXML.firstChild.childNodes); } else {// Em caso de erro trace($sucesso); trace("Ocorreu algum erro ao carregar os dados."); } }; // Carregar dados do XML. homeXML.load("pt-br.xml"); function convertHtml(stringTotal) { stringSet = new String(stringTotal); completeStrg = "<font face=\"verdana\" size=\""+myTextSize+"\" color=\"#000000\">"; i = 0; okCopy = true; while (i<stringSet.length) { tempStrg = stringSet.substring(i, i+1); if (tempStrg == "[") { detected = true; tempStrgTag = ""; okCopy = false; } else if (okCopy) { completeStrg = completeStrg+tempStrg; } //--------------------------------------// if (detected) { tempStrgTag = tempStrgTag+tempStrg; if (tempStrgTag == "[b]") { strgToPut = "<b>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[/b]") { strgToPut = "</b>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[i]") { strgToPut = "<i>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[/i]") { strgToPut = "</i>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[br]") { strgToPut = "<br>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[yellow]") { strgToPut = "<font color=\"#FFFF00\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[grey]") { strgToPut = "<font color=\"#999999\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[blue]") { strgToPut = "<font color=\"#0000FF\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[green]") { strgToPut = "<font color=\"#00FF00\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[black]") { strgToPut = "<font color=\"#000000\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[red]") { strgToPut = "<font color=\"#FF0000\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[u]") { strgToPut = "<u>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[/u]") { strgToPut = "</u>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag.substring(0, 3) == "[#:" && tempStrgTag.substring((tempStrgTag.length-1), tempStrgTag.length) == "]") { strgToPut = "<a href=\""+tempStrgTag.substring(3, (tempStrgTag.length-1))+"\" target=\"_blank\"><u><font color=\"#00CCFF\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[/#]") { strgToPut = "</font></u></a>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag == "[/yellow]" || tempStrgTag == "[/red]" || tempStrgTag == "[/blue]" || tempStrgTag == "[/black]" || tempStrgTag == "[/green]" || tempStrgTag == "[/grey]" || tempStrgTag == "[/s]") { strgToPut = "</font>"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag.substring(0, 3) == "[s:" && tempStrgTag.substring((tempStrgTag.length-1), tempStrgTag.length) == "]") { strgToPut = "<font size=\""+tempStrgTag.substring(3, (tempStrgTag.length-1))+"\">"; completeStrg = completeStrg+strgToPut; } else if (tempStrgTag.substring(0, 1) == "[" && tempStrgTag.substring((tempStrgTag.length-1), tempStrgTag.length) == "]") { completeStrg = completeStrg+tempStrgTag; } } if (tempStrg == "]") { detected = false; okCopy = true; } i++; } completeStrg = completeStrg+"</font>"; texto_html.htmlText = completeStrg; } XML, Contendo o texto: <?xml version="1.0" encoding="utf-8"?> <home> [s:20][red]Bem Vindo ao Mercado das Tintas![/red][/s] [s:16]Em 1972 surgia no ramo de seguimento de tintas o nosso MT. Nosso, por que estar próximo aos nossos clientes é a prioridade dos nossos interesses. Esses que convivem conosco desde a 1ª geração, fundada por Matheus da Costa Brum e seguida pelos seus descendentes cada um no seu seguimento de tintas. Mas o nosso MT, que hoje tem a sua 1ª filial, vem seguindo o mesmos passos informais ao ínicio o exelente relacionamento com seus clientes, fornecedores e funcioários e a cada dia que passa a nossa extenção é maior agora também [b]on-line[/b]. [/s] </home> Não sei se tive sucesso em transmitir a minha idéia, mas vou tentar explicá-la. A idéia seria adicionar uma nova tag, [l] [/l] que indicaria o inicio e o fim de uma linha. Para cada [l] seria criado um novo campo de texto, e o que estivesse dentro da tag seria adicionado a este campo de texto e finalizaria com [/l] continuando a com função de ler e formatar o texto. Utilizo muito do script acima em minhas aplicações torna mais prático trabalhar com textos no flash. Vale a pena lembra que o campo tem que aceitar htmlText, além de ser util para colocar imagens e links dentro do campo de texto. vlw!!! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 29, 2009 Mas para isso ai basta você usar o proprio html... <home><![CDATA[<font color="#FF0000">Essa cor é vermelha </font>]]></home> Ou seja você pode dentro de um CDATA usar todas essas tags que você criou ai... sem ter que re-escrever elas... Basta saber um pouco de html... e mesmo tendo o inicio e o fim de uma linha... você não conseguiria mensurar o tamanho para aplicar um fundo de acordo com aquele tamanho desejado... afinal dizer que é uma linha não quer dizer qual o tamanho desse objeto. Olha pra dizer que não existe... Existe... o que você tem de fazer é calcular o numero de caracteres na linha. uma vez feito isso você soma os espaços + os caracteres vezes o tamanho do caracter Ai você vai ter noção do tamanho de uma linha. Abraços Compartilhar este post Link para o post Compartilhar em outros sites