ขยายขนาดของ MC ค่ะ
http://img2.f0nt.com/flash/dc24ddb8c28a6874f22fda7758adb3f1.swfโดยเมื่อขยาย scale ของ MC แล้ว มันสามารถเก็บค่าขนาดของ Font size
และแสดงขนาด ของ font ว่าตอนนี้ขนาดกี่พ้อยต์แล้วยังไงคะ
function showFontSelect(obj){
myTxtFormat.font = myCombo_cb.getItemAt(myCombo_cb.selectedIndex).data;
buf_obj.obj_area.obj_txt.display_txt.setTextFormat(myTxtFormat);
updateScale(buf_obj);
}
function lockColor(){
fmt = buf_obj.obj_area.obj_txt.display_txt.getTextFormat();
codeColor = "0x" + fmt.color.toString(16);
buf_obj.obj_area.obj_txt.display_txt.textColor = codeColor;
}
function change_selected(newsel:Number){
if(newsel != _root.selVal){
if (_root.selVal != 0) {
var old_mc:MovieClip = eval("obj_"+_root.selVal);
old_mc.obj_del._visible = false;
old_mc.obj_rotate._visible = false;
old_mc.obj_scale._visible = false;
old_mc.obj_area.obj_stage._alpha = 0;
}
_root.selVal = newsel;
if(newsel != 0){
var new_mc:MovieClip = eval("obj_"+_root.selVal);
new_mc.swapDepths(this.getNextHighestDepth());
new_mc.obj_del._visible = true;
new_mc.obj_rotate._visible = true;
new_mc.obj_scale._visible = true;
new_mc.obj_area.obj_stage._alpha = 100;
var input_text:TextField = eval("txt_"+_root.selVal);
Selection.setFocus(input_text);
Selection.setSelection(input_text.text.length,input_text.text.length);
}
}
}
function updateScale(mc:MovieClip) {
// rescale obj_area.obj_stage
mc.obj_area.obj_stage._width = mc.obj_area.obj_txt._width;
mc.obj_area.obj_stage._height = mc.obj_area.obj_txt._height;
// reset position obj_area.obj_stage
var obj_rect_obj:Object = mc.obj_area.obj_txt.getBounds(mc.obj_area);
mc.obj_area.obj_stage._x = obj_rect_obj.xMin;
mc.obj_area.obj_stage._y = obj_rect_obj.yMin;
// rescale obj_area
if(mc.obj_area._width > obj_main_stage._width){
mc.obj_area._width = obj_main_stage._width
mc.obj_area._yscale = mc.obj_area._xscale;
}
if (mc.obj_area._height > obj_main_stage._height) {
mc.obj_area._height = obj_main_stage._height;
mc.obj_area._xscale = mc.obj_area._yscale;
}
// reset mc._x and mc._y
var rect_obj:Object = mc.obj_area.getBounds(mc);
var min_x:Number = rect_obj.xMin;
var min_y:Number = rect_obj.yMin;
var max_x:Number = rect_obj.xMax;
var max_y:Number = rect_obj.yMax;
var main_rect_obj:Object = mc.obj_area.getBounds(_root);
var main_min_x:Number = main_rect_obj.xMin;
var main_min_y:Number = main_rect_obj.yMin;
var main_max_x:Number = main_rect_obj.xMax;
var main_max_y:Number = main_rect_obj.yMax;
if (main_min_x < obj_main_stage._x) {
mc._x = obj_main_stage._x - min_x;
}
if (main_min_y < obj_main_stage._y) {
mc._y = obj_main_stage._y - min_y;
}
if (main_max_x > obj_main_stage._x + obj_main_stage._width) {
mc._x = obj_main_stage._x + obj_main_stage._width - mc.obj_area._width - min_x;
}
if (main_max_y > obj_main_stage._y + obj_main_stage._height) {
mc._y = obj_main_stage._y + obj_main_stage._height - mc.obj_area._height - min_y;
}
// set position obj_del, obj_rotate, obj_scale
mc.obj_del._x = min_x;
mc.obj_del._y = min_y;
mc.obj_rotate._x = max_x;
mc.obj_rotate._y = min_y;
mc.obj_scale._x = max_x;
mc.obj_scale._y = max_y;
}
_root.selVal = 1;
obj_main_stage.onRelease = _root.onRelease = function ()
{
change_selected(0);
};
var myFontLabel = ["AngsanaUPC", "Arial", "Arial Black", "AvantGarde Bk BT", "AvantGarde Md BT"];
var listContent = ["AngsanaUPC", "Arial", "Arial_Black", "AvantGarde Bk BT", "AvantGarde Md BT"];
var myCombo_cb;
var myTxtFormat = new TextFormat();
for (var i = 0;i <= 4;i++)
{
myCombo_cb.addItem(myFontLabel[i], listContent[i], listContent[i]);
}
myCombo_cb.addEventListener("change", showFontSelect);
myTxtFormat.font = listContent[0];
buf_obj.obj_area.obj_txt.display_txt.setTextFormat(myTxtFormat);
myCombo_cb.addEventListener ("load", setCBListFonts);
myCombo_cb.addEventListener ("scroll", setCBListFonts);
function setCBListFonts ()
{
for (var i in myCombo_cb.dropdown.listContent)
{
var _tf:TextFormat = myCombo_cb.dropdown.listContent[i].cell.getTextFormat ();
_tf.font = myCombo_cb.dropdown.listContent[i].cell.text;
myCombo_cb.dropdown.listContent[i].cell.setTextFormat (_tf);
}
}
//*************
var buf_obj;
var my_fmt = new TextFormat();
var pickerListener = new Object();
pickerListener.change = function (cl)
{
codeColor = "0x" + cl.getRGB();
my_fmt.color = codeColor;
buf_obj.obj_area.obj_txt.display_txt.setTextFormat(my_fmt);
lockColor();
};
clp.addListener(pickerListener);
lockColor();
clp.color = codeColor;
for (var i = 1;i <= 3;i++)
{
var input_text = eval("txt_" + i);
input_text.thisval = i;
input_text.onSetFocus = function ()
{
buf_obj = eval("obj_" + this.thisval);
change_selected(buf_obj.thisval);
lockColor();
clp.color = codeColor;
};
input_text.onChanged = function ()
{
buf_obj = eval("obj_" + this.thisval);
fmt = buf_obj.obj_area.obj_txt.display_txt.getTextFormat();
_root.selVar = this.thisval;
change_selected(buf_obj.thisval);
if (this.text.length > 0)
{
buf_obj._visible = true;
}
else
{
buf_obj._visible = false;
}
buf_obj.obj_area.obj_txt.display_txt.text = this.text;
buf_obj.obj_area.obj_txt.display_txt.setTextFormat(fmt);
updateScale(buf_obj);
lockColor();
clp.color = codeColor;
};
var obj = eval("obj_" + i);
obj.thisval = i;
obj.obj_area.obj_txt.display_txt.autoSize = true;
updateScale(obj);
obj._visible = false;
//event delete button
obj.obj_del.onRelease = function ()
{
this._parent._visible = false;
this._parent.obj_area._xscale = 100;
this._parent.obj_area._yscale = 100;
this._parent.obj_area.obj_txt._rotation = 0;
var buf_input_text = eval("txt_" + this._parent.thisval);
buf_input_text.text = "";
} ;
//event scale button
obj.obj_scale.onPress = function() {
//start_scale
this.startWidth = this._parent.obj_area._width;
this.startMouseX = _root._xmouse;
this.onEnterFrame = function() {
var new_width:Number = this.startWidth+_root._xmouse-this.startMouseX;
if (new_width > this._parent.obj_area._width && new_width > obj_main_stage._width) {
this._parent.obj_area._width = obj_main_stage._width;
} else {
this._parent.obj_area._width = new_width;
}
this._parent.obj_area._yscale = this._parent.obj_area._xscale;
updateScale(this._parent);
};
};
obj.obj_scale.onRelease = obj.obj_scale.onReleaseOutside=function () {
delete this.onEnterFrame;
};
//event rotate button
obj.obj_rotate.onPress = function() {
//start_scale
this.startRotate = this._parent.obj_area.obj_txt._rotation;
this.startMouseX = this._parent._x;
this.startMouseY = _root._ymouse;
this.onEnterFrame = function() {
//this._parent.obj_area.obj_txt._rotation++;
var new_x:Number = _root._xmouse - this.startMouseX;
var new_y:Number = _root._ymouse - this.startMouseY;
this._parent.obj_area.obj_txt._rotation = this.startRotate + (Math.atan2(new_y, new_x)*90);
updateScale(this._parent);
};
};
obj.obj_rotate.onRelease = obj.obj_rotate.onReleaseOutside=function () {
delete this.onEnterFrame;
};
//event move object
obj.obj_area.onPress = function() {
//start_scale
var buf_mc:MovieClip = this._parent;
change_selected(buf_mc.thisval);
this.startX = buf_mc._x;
this.startY = buf_mc._y;
this.startMouseX = _root._xmouse;
this.startMouseY = _root._ymouse;
this.onEnterFrame = function() {
this._parent._x = this.startX+_root._xmouse-this.startMouseX;
this._parent._y = this.startY+_root._ymouse-this.startMouseY;
updateScale(this._parent);
};
};
obj.obj_area.onRelease = obj.obj_area.onReleaseOutside=function () {
delete this.onEnterFrame;
};
}
ช่วยแนะนำหน่อยนะคะ....