ช่วยเรื่องสคริป การขยาย scale ของ MC หน่อ

เริ่มโพสต์โดย sarina, 02 ส.ค. 2008, 10:50 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

sarina

ทำปุ่มไว้สำหรับขยาย scale ค่ะ   ตอนนี้มันขยาย scale แบบ mc ข้างในขนาดเท่าไรมันก็จะเพิ่มขนาดตามนั้น

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;
};


:02:ถ้าต้องการให้มันปรับเป็น ลากแบบอ้วนผอม  สูงเตี้ย ได้อ่ะค่ะ
ต้องเขียนยังไงคะ  ขอบคุณค่ะ

ej_sing

สมองไม่ว่างเลยครับช่วงนี้ รอท่านอื่นๆนะครับ


แต่อยากถามเล่นๆครับ อย่าโกรธกันนะครับ  :33:

อยากรู้จริงๆว่า

เข้าใจสคริปที่เอามาลงแค่ไหนครับ

เห็นทำมาหลายขนานแล้ว คาดว่าน่าจะเข้าใจบ้าง (ใช่ไหม)
หากพอเข้าใจ ลองเอาจากอันนั้นน่ะ มาดัดๆต่อสิครับ
มันมีแนวทางให้อยู่ในตัวอยู่แล้วครับ

ถ้าเดาไม่ผิด (ผิดประจำ)
ก้อปอันเดิม มาเพิ่มนิดเดียวเองครับ


ลองดูนะ ไม่โกรธกันนะ  :33:

poloh

#2
ไม่ค่อยว่างเหมือนกันเลยครับ :47:

แต่ถ้าจะเอาแบบแยกความกว้างกับความสูงออกจากกัน
(คือตัวใครตัวมัน)

ก็คือ แยกคำนวณ ระหว่างแกน X กับ แกน Y

แล้วก็ลบ
    this._parent.obj_area._yscale = this._parent.obj_area._xscale;
ออกครับ

ซึ่งโค้ดที่เหลือตรงนี้ ตัวโค้ดคือหาพิกัด Mouse ในแกน X มากำหนดความกว้าง
ที่เหลือคือ หาพิกัด Mouse ในแกน Y มากำหนดความสูงครับ


เพิ่งเข้าไปดูใน TFD เห็นว่าแก้ได้แล้ว
ดีใจด้วยครับ ขอให้เสร็จโดยเร็วครับ
ก่อสร้างกับทำลาย เหมือนที่ลงมือ ต่างที่การกระทำ

ej_sing

หากแก้ได้แล้ว ถ้าไม่รบกวนเกินไปนัก
ไหนๆก็ถามมาแล้วน่ะครับ หากหาคำตอบได้
รบกวนนำมาลง เพื่อเป็นวิทยาทานแด่อนุชนรุ่นหลังสืบไป ด้วยนะครับ  :46:

iannnnn


จักรี

เขียนไรพวกนี้เป็น เป็นพักๆ  :37:
ล้ำลึกคนึงหาในดวงจิต ใจเคยคิดตัดสวาทมิอาจสิ้น
ดั่งก้านบัวหักกลางชลาสินธุ์ ผิว่าสิ้นไร้เยื่อยังเหลือใย

sarina

#6
 :33:ไม่ว่ากันค่ะ   ตอนนี้แก้ได้แล้วค่ะ(....อิอิ)
ตามนี้เลยค่ะ

obj.obj_scale.onPress = function() {
//start_scale
this.startWidth = this._parent.obj_area._width;
this.startMouseX = _root._xmouse;
this.startHeight = this._parent.obj_area._height;
this.startMouseY = _root._ymouse;
this.onEnterFrame = function() {
                                               // ย่อขยายออกด้านข้างเป็นแนวแกน X ค่ะ (อ้วน-ผอม)
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;
}
                                               // ย่อขยายออกด้านบนเป็นแนวแกน Y ค่ะ (สูง-ต่ำ)
                                                var new_height:Number = this.startHeight+_root._ymouse-this.startMouseY;
if (new_height > this._parent.obj_area._height && new_height > obj_main_stage._height) {
this._parent.obj_area._height = obj_main_stage._height;
} else {
this._parent.obj_area._height = new_height;
}

                                                //และถ้าต้องการให้ Scale เท่ากันตลอดทั้งแกน X และ Y ให้เอา comment ในบรรทัดข้างล่างนี้ออก
//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;
};


:21: จะว่าไปช่วงนี้บอร์ดเงียบๆนะคะ

ป.ล. เดี๋ยวจะเอาปัญหามาถามให้หายเหงา..เหอๆ (มันหายเหงา..หรือเพิ่มความเครียดกันเนี๊ยะ :05:
ขอบคุณมากๆ ค่ะ สำหรับคำตอบ  รักเด็กรักโลกค่ะ... :25:

sarina

#7
 :02:

จักรี

เอาเลยๆ ครับ ไม่เครียดๆ เพราะยังไม่มีเวลาคิด  :37:
ล้ำลึกคนึงหาในดวงจิต ใจเคยคิดตัดสวาทมิอาจสิ้น
ดั่งก้านบัวหักกลางชลาสินธุ์ ผิว่าสิ้นไร้เยื่อยังเหลือใย

SMF 2.1.7 © 2026, Simple Machines