Friday, November 30, 2007

Thursday, November 29, 2007

放大 Bitmap 的時候(或是內含Bitmap 的 DisplayObject) 可提昇Display 品質的參數



// 設定了 smoothing, pixelSnapping 後就好很多

var tempBitmapData:BitmapData;
var tempBitmap:Bitmap;
var temp_mc:MovieClip;
temp_mc = new MovieClip();

function mc2Bitmap(mc1:MovieClip):BitmapData {
var myBitmap:BitmapData = new BitmapData(mc1.width, mc1.height, true, 0);
myBitmap.draw(mc1);
return myBitmap;
}


tempBitmapData = mc2Bitmap( new WhiteBackBoy1());
// WhiteBackBoy1 : 有內容的 MovieClip (自這裡是把他的內容"印"成 BitmapData )

tempBitmap = new Bitmap( tempBitmapData );
tempBitmap.pixelSnapping = PixelSnapping.AUTO;
tempBitmap.smoothing = true;

temp_mc.addChild( tempBitmap );
addChild( temp_mc );

stage.addEventListener( KeyboardEvent.KEY_DOWN , KeyDownEventHandler);


function KeyDownEventHandler(event:KeyboardEvent) {
if (event.keyCode == Keyboard.UP) {
trace("Keyboard.UP");
temp_mc.scaleX *= 1.1;
temp_mc.scaleY *= 1.1;
} else if (event.keyCode == Keyboard.DOWN) {
trace("Keyboard.DOWN");
temp_mc.scaleX /= 1.1;
temp_mc.scaleY /= 1.1;
}
}



Wednesday, November 28, 2007

SharedObject 的 data 可以傳給其他 function 當作 reference 來改 data 下面的屬性的值

// 也就是說,你不一定直接用 shared object 的 data 下的屬性來改值,可以把 reference 傳給其他 function 後,讓那些 function 自己改

var bytes:ByteArray = new ByteArray();
var example:SharedObject = SharedObject.getLocal( "example8");
var tempList:Array;

var targetObject:Object;

function Target( o:Object ) {
targetObject = o;
targetObject.times = 10;
}
function AddTarget() {
targetObject.times++;
}

if ( example.data.times == undefined ) {
example.data.times = new Number();
var i:Number;
i = 0;
example.data.times = i;
trace("i:" + i); // first time, 0
trace("Before Target():" + example.data.times);// first time, 0
Target( example.data );
trace("After Target():" + example.data.times);// first time, 10
AddTarget();
AddTarget();

AddTarget();

AddTarget();

AddTarget();

trace("After 5 AddTarget():" + example.data.times);// first time, 15
example.flush();
}
else{
trace("example.data.times last time:" + example.data.times); // from the second time, 15
}

SharedObject 的data 下的屬性是多個屬性合成的時候的宣告方法

//bS:SharedObject
// bS.data.page1, bS.data.page2, bS.data.page3, ... bS.data.pagei 是我想存的資料(每筆資料有兩個成員 Boolean, ByteArray)
// cutFinished :Boolean
// cutPointLIst:ByteArray
// 記得要 new instance 給這些變數


bS.data["page" + i] = {cutFinished:Boolean, cutPointList:ByteArray};

bS.data["page" + i].cutFinished = new Boolean(); // 記得要 new instance 給這些變數
bS.data["page" + i].cutFinished = 你想給他的Boolean 值;
bS.data["page" + i].cutPointList = new ByteArray(); // 記得要 new instance 給這些變數
bS.data["page" + i].cutPointList = 你想給他的ByteArray;
bS.flush();




改場景(Scene)名稱順序

Windows -> Other Panels -> Scene

可以在裡面
  1. 增加Scene
  2. 更改Scene名稱
  3. 改變Scene 之間的順序