I’ve been encharged to translate three existing games for disney from english to italian.
It’s quite a pain in the ass enter in other’s people applications especially games.
Here’s a nice jsfl command that will help you when translating old AS2 aplications.
This script will:
- convert statics to dynamics
- apply a global variable into any textfield
- embed fornts and
[js]
if(!counter){
var counter = 0;
}
fl.trace(‘// include in first frame’);
fl.trace(‘_global.texts= new Object()’);
scanLibrary(fl.getDocumentDOM().library);
function getIsWholeInt(n)
{
var s = String(n);
if(s.indexOf(“.”) != -1)
{
return false;
}
else
{
return true;
}
}
function round(n)
{
var s = String(n);
var a = s.split(“.”);
var num = parseInt(a[0]);
var dec = parseInt(a[1].substr(0, 1));
if(dec >= 5)
{
num++;
}
return num;
}
/**
* Scans the supplied flash library for linked classes and makes sure the textfields are set up properly
* @param library A flash library to scan.
*/
function scanLibrary(library)
{
var items = library.items;
var item;
var replaceCount = 0;
//fl.trace(‘items.length’ + items.length);
for( var i = 0; i < items.length; i++ )
{
item = items[i];
if (item.itemType == 'movie clip' || item.itemType == 'graphic' || item.itemType == 'button')
{
var timeline = item.timeline;
var h = timeline.layerCount;
library.selectItem(item);
library.editItem();
while(h--)
{
//fl.trace('layer' + h);
var k = timeline.layers[h].frameCount;
//fl.trace('k' + k);
while(k--)
{
try{
var j= timeline.layers[h].frames[k].elements.length;
//fl.trace('j' + j);
while(--j >=0 )
{
//fl.trace(‘j’ + j);
var elems = timeline.layers[h].frames[k].elements;
var p = elems.length;
//fl.trace(‘p’ + p);
while(–p >=0)
{
//fl.trace(‘p’ + p);
fixField(elems[p])
}
}
}catch(err){
}
}
}
}
}
}
function fixField(elt){
if(elt.elementType == “text” ) {
if(elt.textType == “static”){
var thestr = ‘_global.texts.text_’ + counter;
var theValueStr = elt.getTextString();
theValueStr = theValueStr.replace(/[\r\n]+/g, “”);
fl.trace(‘_global.texts.text_’ + counter + ‘ = “NN_’+ theValueStr +’”;’);
counter++;
elt.textType = “dynamic”;
elt.selectable = false;
elt.lineType = “multiline”;
//elt.useDeviceFonts = false;
elt.embedRanges = “1|2|3|4|5|17″;
elt.setTextAttr(‘autoKern’, false);
//elt.setElementProperty(“fontRenderingMode”, “customThicknessSharpness”);
elt.variableName = thestr;
}
}
}
var items;
var doc = fl.getDocumentDOM();
var i = 0;
var curTimelines = doc.timelines;
while(i < doc.timelines.length){
fl.trace(‘///////////////////////////////’ + curTimelines[i].name + ‘//////////////////////////////////’);
iterateTimeline(curTimelines[i]);
++i;
}
function iterateTimeline(timeline){
var layer, frame, elem, cls;
var arr = new Array();
// go through all frames in all layers and search for instance variables.
for( var i=0; i < timeline.layers.length; i++ )
{
layer = timeline.layers[i];
for( var j=0; j < layer.frames.length; j++ )
{
frame = layer.frames[j];
for( var k=0; k < frame.elements.length; k++ )
{
elem = frame.elements[ k ];
fixField(elem);
}
}
}
}
[/js]

Xing
LinkedIn
Twitter
Delicious
Facebook