Dec 14
I've been struggling today with encoding.
It seems that System.useCodePage affects the encoding of URLVariables during a URLRequest
Actionscript:
-
package {
-
import flash.display.Sprite;
-
import flash.events.Event;
-
import flash.events.IOErrorEvent;
-
import flash.events.SecurityErrorEvent;
-
import flash.net.URLLoader;
-
import flash.net.URLRequest;
-
import flash.net.URLRequestMethod;
-
import flash.net.URLVariables;
-
import flash.system.System;
-
-
/**
-
* @author Matteo Monti
-
*/
-
public class Main extends Sprite {
-
public function Main() {
-
-
System.useCodePage = true;
-
send();
-
System.useCodePage = false;
-
send();
-
-
}
-
-
private function send() : void {
-
trace("send System.useCodePage: " + System.useCodePage);
-
-
// setup variables
-
var urlvar : URLVariables = new URLVariables();
-
urlvar.somedata = "Ñoña çáà System.useCodePage: " + System.useCodePage;
-
-
// instance request
-
var request : URLRequest = new URLRequest();
-
request.url = "http://www.myserver.com/service";
-
request.data = urlvar;
-
request.method = URLRequestMethod.GET;
-
-
// instance urlloader
-
var loader : URLLoader = new URLLoader();
-
loader.addEventListener(Event.COMPLETE, onResponse);
-
loader.addEventListener(IOErrorEvent.IO_ERROR, onXMLIoErrorHandler);
-
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityErrorHandler);
-
loader.load(request);
-
}
-
-
private function onSecurityErrorHandler(event : SecurityErrorEvent) : void {
-
trace("onSecurityErrorHandler");
-
}
-
-
private function onXMLIoErrorHandler(event : IOErrorEvent) : void {
-
trace("onXMLIoErrorHandler");
-
}
-
-
private function onResponse(event : Event) : void {
-
trace("onResponse System.useCodePage: " + System.useCodePage);
-
trace(event.target.data);
-
}
-
-
-
}
-
}
Dec 13
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
JavaScript:
-
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);
-
-
}
-
}
-
}
-
}
Oct 15
If you click the little blank column heading to the left of "Track" it sorts it in the order that songs were added.
From: getsatisfaction.com
Oct 05
Empollandome un post de Matthew Tretter AKA Exanimo acerca de garbage collection y misticismos varios... he encontrado una forma muy elegante de eliminar un event listener que creo sea desconocida a muchos.
A continuacion el codigo..
Actionscript:
-
private var _timer:Timer;
-
-
private function _startTimer():void
-
{
-
this._myTimer = new Timer(1000, 1);
-
-
// AÑADIR EVENT LISTENER...
-
this._myTimer.addEventListener(TimerEvent.TIMER, this._timerHandler);
-
-
-
-
this._myTimer.start();
-
}
-
-
private function _timerHandler(e:TimerEvent):void
-
{
-
// ELIMINAR EVENT LISTENER CON ARGUMENTS CALLEE
-
e.currentTarget.removeEventListener(e.type, arguments.callee);
-
-
// We're done with the timer. Let it die.
-
this._myTimer = null;
-
}
Sep 29
He Creado mi código QR!!
En estas pequeñas imagenes se pueden alamcenar hasta 250 caracteres.
Puedes crear el tuyo tambien por ejemplo a través de esta pagina.
http://qrcode.kaywa.com/ la distribuidora del mas famoso reader para moviles.
He intslado beetag, para blackberry (no funciona perfectamente) lo aconsejo solo por el hecho de probar gratuitamente la experiencia.
