Ir para conteúdo

POWERED BY:

Arquivado

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

variant73

[Resolvido] Erro de acentuação no Flash+XML

Recommended Posts

Olá a todos.

 

Sou amador em AS e portanto estou apanhando pra chegar lá, rs.

 

Eu estou tendo problemas com a acentuação em um componente. Trata-se de uma galeria em flash que le instruções em um .XML. Porém os acentos das legendas das imagens não aparecem corretamente.

 

Já pesquisei bastante a respeito, e todos dizem a mesma coisa: colocar embed nas fontes, system.usercodepage=true, codificar e salvar como UTF-9 ou ISO-8859-1, mas ainda assim não está adiantando. Imagino* que meu problema seja um caso a parte por estar se tratando da edição de um componente/plug-in.

 

É isso mesmo ? Acredito que eu q não esteja sabendo fazer...

Eu gostaria que vcs pudessem me ajudar com as instruções que são dadas aqui no codigo (em forma de comentário //)

 

lembrando q nesse .fla não tem nada editavel, é tudo AS, embora tenha um frame vazio la.

 

//lets you set file to load in html like so: xmlGallery.swf?file_to_load=data2.xml
System.useCodepage = true;
if(file_to_load.length>0){
	myGallery.autoLoadXml = false
	myGallery.loadXml(file_to_load)
}
stop()
myGallery.addEventListener("onStylesSet", styleListener)

//////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
/////////////	  Defining custom font styles   ///////////////////
/////////////	  Uncomment to apply			///////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////


//If you set "Embed Fonts" to "true" in component parameters, you have to:
// 1. Create a dynamic text field with that font embedded
// 2. In linckage options of font, set to export for actionscript on 1st frame

//create new text format object
myGallery.captionFormat = new TextFormat()
myGallery.embedFonts = true;
//assign styles
myGallery.captionFormat.font="standard 07_54" 
myGallery.captionFormat.size = 8

myGallery.navFormat = myGallery.linkFormat = myGallery.captionFormat
// if you want to give different fonts to nav, caption and links, you would create a separate textFormat
// object for each: myGallery.navFormat, myGallery.linkFormat, and myGallery.captionFormat

 

Ele (o componente) vem com algumas instruções em forma de comentário no AS dele para dar EMBED nas fontes, tem um jeito específico pra esse caso creio eu.

 

"// if you want to give different fonts to nav, caption and links, you would create a separate textFormat"

// object for each: myGallery.navFormat, myGallery.linkFormat, and myGallery.captionFormat[/code]

 

como assim "object for each: myGallery.navFormat" ??

 

e a fonte "myGallery.captionFormat.font="standard 07_54" " não possui acentuação, mas só mudar o nome dela ai não adiantou.

 

 

É um daqueles casos q qualquer um saberia resolver menos eu, eu acho.

 

Obrigado a todos !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, consegui !

 

apanhando aqui da ajuda do flash e outras coisas q andei lendo, e tentando de TUDO, consegui.

 

vou postar aqui o q eu fiz, quem sabe isso ajude mais alguem um dia:

 

ao invés de ir pelo que andei lendo, de colocar system.useCodepage=true, tive q colocar system.useCodepage=false. Mantive o que ja havia feito no arquivo XML a ser interpretado eu deixei a linha de código no começo de tudo:

 

<?xml version="1.0" encoding="UTF-8"?> (que é universal, mais interessante que o padrão ISO-8859-1)

 

 

Fiz algumas alterações no .fla também, comparem com o que foi postado acima:

 

//create new text format object
myGallery.captionFormat = new TextFormat()
myGallery.linkFormat = new TextFormat()
myGallery.navFormat = new TextFormat()
myGallery.embedFonts = true;
//assign styles
myGallery.captionFormat.font="verdana" 
myGallery.captionFormat.size = 8
myGallery.linkFormat.font="verdana"
myGallery.linkFormat.size = 8
myGallery.navFormat.font="verdana"
myGallery.navFormat.size = 8

Na verdade eu não estava sabendo como criar esses novos "formats", e por precaução, sem saber qual dos 3 (linkformat, navformat ou captionformat) era referente ao meu problema, coloquei valores de VERDANA para todos, e deu certo.

 

 

Obrigado de qualquer forma a todos que visitaram esse tópico. Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com esse problema da acentuação no meu e não consigo acertar de forma alguma. Já procurei em diversos tópicos e nada.

 

No meu action ele lê o xml para mostrar as imagens e suas descrições

 

Segue meu codigo XML

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<slideshow>

<photo image="images/shampooQT.png" info="Shampoo 250ml"/>

<photo image="images/condicionadorQT.png" info="Condicionador 250ml"/>

<photo image="images/cremeQT.png" info="Creme de Pentear 200g"/>

<photo image="images/creme_oilQT.png" info="Creme Oil Repair 250g"/>

<photo image="images/mascaraQT.png" info="Máscara de Hidratação 300g"/>

<photo image="images/ampolaQT.png" info="Ampola Instant Repair 15ml"/>

<photo image="images/serumQT.png" info="Sérum Disciplinador 60ml"/>

</slideshow>

 

salvei como codiifição UTF-8, mas o engraçado que o acento funciona (Máscara), já o ç e o ~ não funcionam, fica (hidratao)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Variant,

 

Fiz exatamente o que você disse, editei as propriedades do AS e coloquei como False:

 

system.useCodepage=false

 

E o problema que estava ocorrendo aqui acabou, na encoding do XML mantive o UTF-8.

 

Perfeito...

 

Você me ajudou a economizar horas de quebra cabeça....rsrsrsrsrsrs

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitoo Obrigado. Faz tempo que ando quebrando a cabeça aqui com isso e era essa bobeira. hahaha

Modifiquei

System.useCodepage = false
e mantive o
<?xml version="1.0" encoding="utf-8"?>

Perfeito!! Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muitoo Obrigado. Faz tempo que ando quebrando a cabeça aqui com isso e era essa bobeira. hahaha

Modifiquei

System.useCodepage = false
e mantive o
<?xml version="1.0" encoding="utf-8"?>

Perfeito!! Obrigado!

 

 

Bah foi o q funfou pra mim tmb colocar o system como false pra os acentos aparecerem na boa .

 

 

valeu mesmo!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Bah foi o q funfou pra mim tmb colocar o system como false pra os acentos aparecerem na boa .

 

 

valeu mesmo!!!!

Olá Pessoal, espero que me ajudem.

baixei um tamplate em flash e quando altero um array no menu com meus dados que possuem acentos os acentos não aparecem quando exporto.

vale lembrar que já tentei usar

System.useCodepage = false mas não deu.

 

Segue;

 

 

// Tweener from http://code.google.com/p/tweener/

import caurina.transitions.Tweener;

 

 

var menu_label:Array = new Array("A Estrategea", "Soluções", "Serviços",

"Clientes", "Consultores", "Contato");

 

var total:Number = menu_label.length;

var total_piece:Number = 40;

var angle:Number = Math.PI * 2 / total;

var degree:Number = angle * 180 / Math.PI;

var radius:Number = 170;

var piece_scale:Number;

var i:Number = 0;

var page:Number;

var piece:MovieClip;

var main_menu:MovieClip = new MovieClip();

var hexagon_group:MovieClip = new MovieClip();

this.addChild(main_menu);

this.addChildAt(hexagon_group, 0);

 

hexagon_group.visible = false;

fm_hexagon.visible = false;

fm_button.visible = false;

place_holder.visible = false;

 

for (i = 0; i < total; i++)

{

var btn = new flashmo_button();

btn.name = "btn" + i;

btn.scaleX = btn.scaleY = btn.alpha = 0;

btn.item_no = i;

btn.flashmo_button_graphic.gotoAndStop( i + 1 );

 

btn.flashmo_click_area.visible = false;

btn.flashmo_click_area.addEventListener( MouseEvent.ROLL_OVER, btn_over );

btn.flashmo_click_area.addEventListener( MouseEvent.ROLL_OUT, btn_out );

btn.flashmo_click_area.addEventListener( MouseEvent.CLICK, btn_click );

btn.flashmo_click_area.addEventListener( Event.ENTER_FRAME, btn_enter );

 

var each_substring:Array = menu_label.split("|");

btn.flashmo_button_label.fm_label.text = each_substring[0];

btn.item_url = each_substring[1];

main_menu.addChild(btn);

}

 

function btn_over(e:MouseEvent):void

{

e.target.parent.over = true;

}

 

function btn_out(e:MouseEvent):void

{

e.target.parent.over = false;

}

 

function btn_click(e:MouseEvent):void

{

var mc = e.target.parent;

if ( mc.item_url != undefined )

navigateToURL( new URLRequest( mc.item_url ), "_parent" );

else

change_page(mc.item_no);

}

 

function btn_enter(e:Event):void

{

var mc = e.target.parent;

if ( mc.over == true )

mc.nextFrame();

else

mc.prevFrame();

}

 

function enable_menu():void

{

for(var i:Number = 0; i < main_menu.numChildren; i++)

{

var mc = MovieClip( main_menu.getChildAt(i) );

mc.flashmo_click_area.visible = true;

mc.buttonMode = true;

}

}

 

function disable_menu():void

{

for(var i:Number = 0; i < main_menu.numChildren; i++)

{

var mc = MovieClip( main_menu.getChildAt(i) );

mc.flashmo_click_area.visible = false;

mc.buttonMode = false;

}

}

 

function change_page(no:Number):void

{

page = no;

play();

disable_menu();

}

 

for( var p:Number = 0; p < total_piece; p++ )

{

piece = new flashmo_hexagon();

piece.gotoAndStop( p % 2 + 1 );

 

piece.x = Math.floor( Math.random() * 900 - 450 );

piece.y = Math.floor( Math.random() * 600 - 300 );

piece.scaleX = piece.scaleY = Math.random() * 0.6 + 0.4;

piece.addEventListener( MouseEvent.MOUSE_OVER, move_one );

hexagon_group.addChild(piece);

}

 

function move_one(me:MouseEvent):void

{

Tweener.addTween( me.target, {

x: Math.floor( Math.random() * 200 - 100 ),

y: Math.floor( Math.random() * 200 - 100 ),

time: 0.6, transition: "easeInOutSine" } );

}

 

function move_pieces():void

{

hexagon_group.visible = true;

 

for( var p:Number = 0; p < hexagon_group.numChildren; p++ )

{

piece = MovieClip( hexagon_group.getChildAt(p) );

 

Tweener.addTween( piece, {

x: Math.floor( Math.random() * 900 - 450 ),

y: Math.floor( Math.random() * 600 - 300 ),

time: 0.6, delay: 0.03 * p, transition: "easeInOutSine" } );

}

}

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.