F-gos 0 Denunciar post Postado Maio 17, 2010 Pessoal estou criando um menu de noticias com xml e as2.0 e os botoes são um movieclip com uma caixa de texto dentro para exibir os titulos das noticias. O problema é que a caixa de texto dentro do movie clip esta limitada a apenas 2 linhas de informação, se o texto do titulo for maior que 2 linhas ele não aparece. Gostaria de saber como fazer para que o movie clip fique com o mesmo tamanho da caixa de texto e quando o texto for maior que as 2 linhas a caixa de texto altere o seu tamanho automaticamente mostrando toda informação e o mc tbm.. alguem pode dar uma força ai!!! beleza desde ja agradeço pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 17, 2010 Só colocar autoSize = true na caixa de texto Da uma olhada no código: var container:MovieClip = _root.createEmptyMovieClip('container',1); var titleLabel:TextField = container.createTextField('titleLabel', 2, 0, 0, 550, 50); var color:Color = new Color(container); color.setRGB(0xFFFFFF); trace(container._height) container.titleLabel.background = true; container.titleLabel.backgroundColor = 0x000000; container.titleLabel.border = true; container.titleLabel.autoSize = true; container.titleLabel.wordWrap = true; container.titleLabel.multiline = true; container.titleLabel.textAlign = "justify"; container.titleLabel.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pharetra, leo id porttitor facilisis, urna orci tempor justo, nec porttitor magna elit at nibh. Fusce ut nulla sed magna pulvinar rhoncus. Aliquam ligula libero, rutrum id vulputate et, scelerisque vitae urna. Nunc arcu mauris, fringilla nec feugiat a, mattis a tellus. Vivamus id lectus a orci dignissim condimentum. Donec rutrum pellentesque nulla, sit amet lacinia lectus scelerisque at. Phasellus gravida mi quam. Suspendisse ac diam est, ultricies rutrum nibh. Duis at mauris ante, a pretium dolor. Morbi et dolor quis nibh pulvinar iaculis in id neque. Mauris dolor quam, adipiscing ac tempus eget, hendrerit commodo sapien. Aliquam pellentesque neque eu eros lobortis ut hendrerit est pretium. Vivamus dolor lectus, lacinia in gravida vel, eleifend condimentum nunc. Vivamus fringilla hendrerit bibendum. Curabitur in mi nibh, aliquam dapibus lorem. "; trace(container._height) Só copiar e colar não precisa criar nada :) Repare na diferença dos trace quando colocar pra rodar. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Maio 17, 2010 Berseck como pegar o valor do trace e transformar em variavel para fazer a duplicação do menu... 1 abaixo do outro na posição correta tipo 1 2px abaixo do outro.??? Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 17, 2010 Uia tu teve problemas pra publicar a resposta heim... A tempos que eu não via esse tipo de erro no forum. Ué se você ta fazendo num loop que vai criar um novo container a cada loopagem com o texto... você cria uma variavel externa que vai sempre ser responsavel pelo proximo valor ex: var altura:Number = new Number(0); var container:MovieClip = setUpContainer(); var duplicate:MovieClip; for(var i:Number = 1; i < 10; i++) { var newY:Number = altura; trace(newY); duplicate = container.duplicateMovieClip("clip-" + i, i, {_y:newY}); var titleLabel:TextField = duplicate.createTextField('titleLabel', 2, 0, 0, 550, altura + 20); var color:Color = new Color(duplicate); color.setRGB(0xFFFFFF); duplicate.titleLabel.background = true; duplicate.titleLabel.backgroundColor = 0x000000; duplicate.titleLabel.border = true; duplicate.titleLabel.autoSize = true; duplicate.titleLabel.wordWrap = true; duplicate.titleLabel.multiline = true; duplicate.titleLabel.textAlign = "justify"; duplicate.titleLabel.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed pharetra, leo id porttitor facilisis, urna orci tempor justo, nec porttitor magna elit at nibh. Fusce ut nulla sed magna pulvinar rhoncus. Aliquam ligula libero, rutrum id vulputate et, scelerisque vitae urna. Nunc arcu mauris, fringilla nec feugiat a, mattis a tellus. Vivamus id lectus a orci dignissim condimentum. Donec rutrum pellentesque nulla, sit amet lacinia lectus scelerisque at. Phasellus gravida mi quam. Suspendisse ac diam est, ultricies rutrum nibh. Duis at mauris ante, a pretium dolor. Morbi et dolor quis nibh pulvinar iaculis in id neque. Mauris dolor quam, adipiscing ac tempus eget, hendrerit commodo sapien. Aliquam pellentesque neque eu eros lobortis ut hendrerit est pretium. Vivamus dolor lectus, lacinia in gravida vel, eleifend condimentum nunc. Vivamus fringilla hendrerit bibendum. Curabitur in mi nibh, aliquam dapibus lorem. "; altura += duplicate._height; } function setUpContainer():MovieClip { var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth()); return mc; } ;) Have fun :) Compartilhar este post Link para o post Compartilhar em outros sites
F-gos 0 Denunciar post Postado Maio 18, 2010 então cara... num conseguia postar de jeito nenhum......hehehe!!! Valeu pela dica.. t+ Cara não consegui fazer oq você falou... veja meu código.. System.useCodepage = true; var styles:TextField.StyleSheet = new TextField.StyleSheet(); styles.onLoad = function(success:Boolean):Void { if (success) { trace(this.getStyleNames()); menu_xml.load("http://www.saudeschenk.com.br/noticias.xml"); } else { trace("Erro ao carregar o arquivo CSS."); } }; styles.load("eventos_style.css"); var menu_xml:XML = new XML(); menu_xml.ignoreWhite = true; var nomeArray:Array = new Array(); var pagArray:Array = new Array(); function navMenu() { for (i=0; i<menu_xml.firstChild.childNodes.length; i++) { nomeArray[i] = menu_xml.childNodes[0].childNodes[i].childNodes[0].firstChild; pagArray[i] = menu_xml.childNodes[0].childNodes[i].childNodes[1].firstChild; this.meNu_g.meNu.attachMovie("Links", "new_instance"+i, i); //this.attachMovie("Links", "new_instance"+i, i); var navBar:Object = new Object(); navBar = this.meNu_g.meNu["new_instance"+i]; navBar.id = i; var posY:Number = 0; var posX:Number = 0; //insere o nome no botão navBar.nome_txt.text = nomeArray[i]; navBar.nome_txt.autoSize = true; trace(navBar.nome_txt._height); // marca o espacamento entre os bots navBar._x = posX; navBar._y = posY+i*33; // quando o botão é clicado......... navBar.onRollOver = function() { _root.meNu_g.gotoAndStop(1); mc_texto.texto.styleSheet = styles; mc_texto.texto.htmlText = "<p class='titulo'>"+nomeArray[this.id]+"</p> "+pagArray[this.id]; }; } } menu_xml.onLoad = function() { navMenu(); }; Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Maio 18, 2010 Fala rapaz qual o valor que deu aqui? trace(navBar.nome_txt._height); Ele pegou um valor??? e depois você viu se mudou o valor da caixa. Me diga os valores disso aqui tbm: navBar._x = posX; navBar._y = posY+i*33; Abraços Compartilhar este post Link para o post Compartilhar em outros sites