ก่อนอื่นมาเฉลยครับ... ทิ้งไว้นานมาก :08:
โดยครึ่งหลังของการเฉลยจะเป็นเนื้อหาของตอนใหม่นี้ด้วย
เริ่มจากโครงสร้างเดิมในหน้าแรกที่เหมือนจะเข้าใจ และทำได้ทุกคนนะคับ
อ้างอิงbutt.onRelease = function() {
box.onEnterFrame = function() {
if(ตรวจสอบเงื่อนไขในการเคลื่อนที่เสร็จ) {
เพิ่ม/ลบ ค่าตำแหน่ง (ความกว้าง สูง)
} else {
delete box.onEnterFrame;
}
}
}
ของเดิมเราใช้ i นับ ว่าทำกี่รอบ ทำครบแล้วจึงหยุด
แต่คราวนี้เรามีเงื่อนไขใหม่ คือ มันเดินไปถึงตำแหน่งที่กำหนด (เปลี่ยนขนาดไปถึงขนาดที่กำหนด) แล้วจึงหยุด
ดังนั้น
จึงขอเพิ่มส่วนกำหนดเป้าหมายเข้าไป ก่อนที่จะเริ่ม onEnterFrame นะคับ.. โดยในที่นี้เราจะมี 4 คุณสมบัติ หรือ properties เสมอ เพราะเราจะเปลี่ยนทั้ง x, y, width และ height ซึ่งจะรวมไปถึงในส่วน เพิ่ม/ลบ ตำแหน่งด้วย ก็จะส่งผลให้มี 4 ค่า 4 บรรทัดไปด้วย
ก็จะได้โค้ดออกมาประมาณนี้
อ้างอิงbutt1.onRelease = function() {
boxA.tWidth=60;
boxA.tHeight=120;
boxA.tX=120;
boxA.tY=50;
boxA.onEnterFrame = function() {
if(ตรวจสอบเงื่อนไขในการเคลื่อนที่เสร็จ) {
this._width+=condW;
this._height+=condH;
this._x+=condX;
this._y+=condY;
} else {
delete box.onEnterFrame;
}
}
}
ตอนนี้ติดอยู่ 2 ส่วน คือ ส่วนเงื่อนไข และ พวก cond ทั้ง 4 ตัว ที่จะเป็นตัวกำหนดว่าจะมีการเปลี่ยนแปลงทีละกี่ pixel
มาดูส่วน cond ทั้ง 4 ตัวก่อน
จากเดิมที่เราทำปุ่มขวา เราใช้ + ปุ่มซ้ายเราใช้ -
กรณีนี้กรอบเราอาจจะวิ่งไปซ้าย หรือ ขวาก็ได้ แล้วแต่ค่าเป้าหมายที่กำหนด เทียบกับตำแหน่งปัจจุบันที่มันอยู่.... ถูกมั๊ยครับ ?
ทำยังไงถึงจะรู้ว่าตำแหน่งปัจจุบัน เลื่อนไปตำแหน่งปลายทาง จะเป็น + หรือ -
ลองใช้ if ดูครับ
อ้างอิงif(this._x>this.tX) { return -1;}
else if(this._x<this.tX) { return 1;}
else { return 0;}
แต่ว่าเรามี 4 ค่า ก็ต้องเปรียบเทียบทั้ง 4 ค่าสิ... มันจะทำให้ โค้ดเฉพาะส่วนนี้กลายเป็น 4 x 3 บรรทัดไป ทั้งๆที่ลักษณะโค้ดซ้ำๆกัน
ดังนั้นเราจึงมาย่อรูป โดยใช้ประโยชน์จากฟังก์ชั่นครับ
แยกส่วน 3 บรรทัดที่แล้ว เป็นฟังก์ชั่น ชื่อ compr
อ้างอิงfunction compr(org, des) {
if(org>des) { return -1;}
else if(org<des) { return 1;}
else { return 0;}
}
สังเกตว่าผมเปลี่ยน this._x เป็น org และ this.tX เป็น des... เพราะเมื่อเรากำหนดฟังก์ชั่นแล้ว เราต้องกำหนดตัวแปรเพื่อมาเป็นตัวกลางส่งถ่าย
ตัวแปรทั้ง 4 ตัว เลยสามารถผ่านเข้ามาทาง org และ des เพื่อใช้งานในสูตรเดียวกันได้
ดังนั้นเราจะได้โค้ดส่วนเดิมเป็น
อ้างอิงbutt1.onRelease = function() {
ส่วนกำหนดค่าเหมือนข้างบน
boxA.onEnterFrame = function() {
if(ตรวจสอบเงื่อนไขในการเคลื่อนที่เสร็จ) {
this._width+=10*compr(this._width, this.tWidth);
this._height+=10*compr(this._height, this.tHeight);
this._x+=5*compr(this._x, this.tX);
this._y+=5*compr(this._y, this.tY);
} else {
delete box.onEnterFrame;
}
}
}
เหลือที่เดียวแล้ว เงื่อนไขที่จะให้มันเลิกทำซ้ำ ก็คือ .... เมื่อค่าทั้ง 4 ไปถึงเป้าหมายแล้ว
เราจึงใช้การเปรียบเทียบแบบ "หรือ" ซึ่งใช้สัญลักษณ์ || แทน
อ้างอิงfunction compr(org, des) {
if(org>des) { return -1;}
else if(org<des) { return 1;}
else { return 0;}
}
butt1.onRelease = function() {
ส่วนกำหนดค่า เหมือนข้างบน
boxA.onEnterFrame = function() {
if(this._width!=this.tWidth||this._height!=this.tHeight||this._x!=this.tX||this._y!=this.tY) {
ส่วนเพิ่ม/ลดค่า เหมือนข้างบน
} else {
delete box.onEnterFrame;
}
}
}
เสร็จแล้ว ยัตต้า !
Option:
เราสามารถใช้ if เปรียบเทียบได้แบบตัวอย่างข้างบน
แต่เราสามารถเอาสมการคณิตศาสตร์ ม.ปลาย มาเทียบได้เพียงสมการเดียว จะมีรูปที่ไว้สร้างรูปแบบนี้ (เรียกว่าไรไม่รู้ ผมลืม)
x-y/|x-y|
รูปแบบนี้จะทำให้เราได้ค่าออกมาเป็น 1 หรือ -1 เท่านั้น... เราก็จะรู้ว่า อันไหนมากกว่า หรือน้อยกว่ากัน แล้วเอาค่านั้นไปคูณกับความเร็ว หรือจำนวน pixel ที่ต้องการให้มันเลื่อนไป
ดังนั้นเฉพาะค่า x เราจะได้โค้ดออกมาในรูป (10 คือจำนวน pixel ที่ต้องการให้มันเลื่อนทีละ...)
อ้างอิงparseInt((this._tX-this._x)/Math.abs(this._tX-this._x));
[/color]
จริงๆแล้วยังไม่เสร็จ เพราะเรายังมีแค่ ปุ่มเดียว กรอบเดียว... จะยกตัวอย่างให้ทำเป็นแบบ 2 ปุ่ม 2 กรอบ
ซึ่งความจริงเราก็เอาของเดิมมา copy paste แล้วก็เพิ่มเข้าไป ส่วน boxA ก็จะมี boxB เพิ่มมาอีก 4 บรรทัด แล้วทั้ง butt1 ก็จะเพิ่มมาอีกทั้งชุดอีก 1 อัน
ถ้ามี 4 ปุ่ม โค้ดก็จะยาวเฟื้อยเลย... ทั้งๆที่มันซ้ำๆกัน... ดังนั้นมาย่อดีกว่า
ส่วนที่จะซ้ำจริงๆคือเฉพาะส่วน onEnterFrame แต่ส่วนที่กำหนดค่าเป้าหมาย 4 บรรทัดนั้นเราย่อไม่ได้ เพราะมันไม่ซ้ำ (ถึงแม้จะดูหน้าตาคล้ายกันก็จริง)
ดังนั้นเราจะแยกส่วน onEnterFrame ทั้งยวงออกไปเป็นฟังก์ชั่นต่างหาก
อ้างอิงfunction moveBox(bx) {
bx.onEnterFrame = function() {
if(this._width!=this.tWidth||this._height!=this.tHeight||this._x!=this.tX||this._y!=this.tY) {
ส่วนเพิ่ม/ลดค่า เหมือนข้างบน
} else {
delete bx.onEnterFrame;
}
}
}
ส่วนที่อยู่ในปุ่มก็จะเหลือ
อ้างอิงbutt1.onRelease = function() {
boxA.tWidth=60;
boxA.tHeight=120;
boxA.tX=120;
boxA.tY=50;
boxB.tWidth=60;
boxB.tHeight=60;
boxB.tX=50;
boxB.tY=50;
moveBox(boxA);
moveBox(boxB);
}
ในส่วนปุ่มที่ 2 ก็ทำเหมือนกัน แค่ copy ไปแปะ เปลี่ยนเป็น butt2 แล้วก็เปลี่ยนค่า เป้าหมายแต่ละค่า
ซึ่งไม่ควรย่ออีกแล้ว... เพราะเหลือแต่ส่วนกำหนดค่า ที่จะต้องแตกต่างและเป็นอิสระจากกัน
ก็
จะได้โค้ดทั้งหมดออกมาเป็นอ้างอิงfunction compr(org, des) {
if(org>des) { return -1;}
else if(org<des) { return 1;}
else { return 0;}
}
function moveBox(bx) {
bx.onEnterFrame = function() {
if(this._width!=this.tWidth||this._height!=this.tHeight||this._x!=this.tX||this._y!=this.tY) {
this._width+=10*compr(this._width, this.tWidth);
this._height+=10*compr(this._height, this.tHeight);
this._x+=5*compr(this._x, this.tX);
this._y+=5*compr(this._y, this.tY);
} else {
delete bx.onEnterFrame;
}
};
}
butt1.onRelease = function() {
กำหนดค่า
moveBox(boxA);
moveBox(boxB);
}
butt2.onRelease = function() {
กำหนดค่า
moveBox(boxA);
moveBox(boxB);
}
เหมือนจะยาว แต่ความจริงไม่ยาวเลย เพราะมีแต่ส่วนกำหนดค่าตัวแปรที่เปลืองบรรทัดอยู่เท่านั้นเอง
ออกมาเป็นแบบนี้
http://f0nt.com/forum/index.php?action=dlattach;topic=6169.0;id=9510
ดาวน์โหลดไฟล์ FLA (http://f0nt.com/forum/index.php?action=dlattach;topic=6169.0;id=9511)
:31:
อ่านแล้วไฟดับเลย
อ๊ะเพิ่งเห็น กำลังทำตามอยู่เลยครับ
อ่านแล้วไฟลุกโชนครับ
ขอก๊อปไว้ก่อน ว่างแล้วจะอ่านครับ
ขอบคุณครับ
สายไปซะแล้วครับ
ผมลืมบทแรกๆไปหมดแล้ว :05:
ไม่เป็นไร เดี๋ยวนั่งอ่านใหม่แต่ต้น :32:
อ่านแล้ว ไฟไหม้เลยครับ
ไหม้จนหมดเลย
:05:
ซวยแล้ว ดาวมันขึ้นอันนี้ก่อน
เดี๋ยวไปอ่านตอน 2-3 แล้วจะกลับมาอ่านใหม่ครับ
ท่าทางน่าระทึกใจมาก
แฮ่ๆ... :42:
แว๊ป...
ทำใจได้แล้วจะอ่านนะคะ
แปีบนึง :05:
มายก้อด พยายามทำตามยังยากเลย ครึ่งนึงแล้วครับ
ได้แล้วครับ
http://f0nt.com/forum/index.php?action=dlattach;topic=6169.0;id=9584
เอ่อ ผมสงสัยอย่างครับ คือว่าถ้าหาว่าเปลี่ยนสูตรตรงนี้
this._width+=10*compr(this._width, this.tWidth);
this._height+=10*compr(this._height, this.tHeight);
this._x+=5*compr(this._x, this.tX);
this._y+=5*compr(this._y, this.tY)
เฉพาะตัวเลขหน้าเครื่องหมาย คูณ เพื่อต้องการให้มันเคลื่อนที่เร็วกว่านี้ พอดีลองเปลี่ยนแล้วปรากฎว่า มันสั่นระริกๆ น่ะครับ แล้วเราจะรู้ได้ยังไงว่ามันจะไม่สั่น
http://f0nt.com/forum/index.php?action=dlattach;topic=6169.0;id=9585
จากสูตรนี้
this._x+=5*compr(this._x, this.tX);
ในส่วนของฟังก์ชั่น compr ถ้าลองไล่กลับไปดู เราจะได้ค่าเป็น 1 หรือ -1 หรือ 0 เท่านั้น
ซึ่งใช้กำหนดทิศทางคับ ส่วน ตัวคูณ ใช้เพื่อกำหนดจำนวน pixel
ดังนั้น 5 มันจึงเป็นค่า speed จริงๆอย่างที่เข้าใจ ยิ่งมาก ก็ยิ่งขยับทีละเยอะๆ
แต่สาเหตุที่มันสั่นระริก เพราะว่า มันวิ่งไปไม่ถึงค่าทีทำให้ compr เป็น 0 สักที เนื่องจากตำแหน่งปลายทางที่กำหนดไม่ได้เป็นเลขลงตัวตามค่าทวีคูณของค่าความเร็วครับ
นั่นเลยเป็นข้อจำกัดของการกำหนดเงื่อนไขการตรวจสอบให้หยุดแบบนี้... ซึ่งมันเข้าใจง่าย เพราะตรงไปตรงมาว่าถึงจุดก็หยุด... แต่สามารถสร้างเงื่อนไขเพิ่มความรัดกุมได้ เช่น ถ้าค่าตำแหน่งที่วิ่งไปแล้วมีค่าความต่างน้อยกว่า speed ก็ให้มันเลื่อนไปที่ตำแหน่งปลายทางเป๊ะๆ จะได้หยุดเลย เป็นต้นครับ....
(ตรงนี้จะทำให้โค้ดยาวขึ้นและเพิ่มความงงเล็กน้อย... ผมพยายามทำให้โค้ดสั้น และตรงไปตรงมาที่สุดคับ... แต่ยังมึนกันหมดเลย :05:)
ผมนั่งงงตรงฟังก์ชั่นตั้งนานน่ะครับ งงตรงที่ว่าจะคิดได้ยังไงว่าเอาแค่ค่าลบ ออกมาพอ
ถ้าผมคิดจะเป็นใช้ฟังก์ชั่นวนๆๆๆ แบบยาวๆ :05:
ฟังก์ชั่นนี้ค่อนข้างตรงไปตรงมานะคับ
คืออยากรู้ว่าต้องเคลื่อนที่ไปทิศทางไหน จึงเอา 2 จุดมาเปรียบเทียบกัน
จุดที่อยู่ทางขวาย่อมมีค่ามากกว่าจุดที่อยู่ทางซ้าย
จึงได้ออกมาเป็น
สมมุติ จุดA คือ ต้นทาง และจุดB คือ ปลายทาง
ถ้า A > B --> A อยู่ขวา ต้องเคลื่อนที่ไปซ้าย ทิศทางจึงเป็น -1
ถ้า A < B --> A อยู่ซ้าย ต้องเคลื่อนที่ไปขวา ทิศทางจึงเป็น 1
ส่วน 0 เพื่อปรับให้อยู่กับที่ไม่ต้องเคลื่อนอีกแล้ว
อ้างอิงif(this._x>this.tX) { return -1;}
else if(this._x<this.tX) { return 1;}
else { return 0;}
ส่วนอีกวิธีที่ใช้ ค่าสัมบูรณ์นั้น จะดูงงกว่า แต่เป็นวิธีที่ดีที่รวบการเปรียบเทียบเป็นเพียงสมการ...
เข้ามาลงทะเบียนก่อน :22:
ยังไม่ได้เริ่มทำ
ปัญหาของคุณ layiji
สมมุติถ้าผู้กองสั่งให้ทหารนายหนึ่งเดินไปทีละ ครึ่งเมตร ไปจนถึงริมหน้าผา นายทหารก็เดินไปเรื่อยๆ จนเผอิญก้าวสุดท้ายมันเหลือแค่ ค่อนเมตรนี่สิ เดินไปอีกครึ่งเมตร สมองก็ต้องคิดก่อนว่าถ้ายังก้าวด้วยระยะทางเท่าเดิม คงไ้ด้ตกเหวแน่ๆ สู้รักษาชีวิต ก้าวไปตรงริมเหว พอดีน่าจะดีกว่า :33:
check before done before error happend :22:
ส่วนโค้ดต้องให้อาจารย์เฉลยครับ :40:
รอให้สอนบทต่อไปอยู่เลยครับ คนเรียนน้อยลงเรื่อยๆซะแล้ว :05:
ช่วงนี้งานยุ่งครับ
ไว้ให้เพลาๆลง จะกลับมาตั้งใจเรียนครับ
เดี๋ยวผมจะโอนหน่วยกิตทีหลังนะครับ :42:
ตายล่ะ ลืมลงทะเบียน :44:
ตามมาลงทะเบียนทีหลัง :22:
จานครับ ทำแล้วได้เยี่ยงนี้ครับ:05:
http://f0nt.com/forum/index.php?action=dlattach;topic=6169.0;id=9778
อ้างอิงโค๊ด
function compr(org, des) {
if(org>des) { return -1;}
else if(org<des) { return 1;}
else { return 0;}
}
function moveBox(bx) {
bx.onEnterFrame = function() {
if(this._width!=this.tWidth||this._height!=this.tHeight||this._x!=this.tX||this._y!=this.tY) {
this._width+=10*compr(this._width, this.tWidth);
this._height+=10*compr(this._height, this.tHeight);
this._x+=5*compr(this._x, this.tX);
this._y+=5*compr(this._y, this.tY);
} else {
delete bx.onEnterFrame;
}
};
}
butt1.onRelease = function(){
boxA.tWidth=100;
boxA.tHeight=30;
boxA.tX=60;
boxA.tY=120;
boxB.tWidth=220;
boxB.tHeight=60;
boxB.tX=60;
boxB.tY=50;
moveBox(boxA);
moveBox(boxB);
}
butt2.onRelease = function(){
boxA.tWidth=100;
boxA.tHeight=100;
boxA.tX=60;
boxA.tY=50;
boxB.tWidth=100;
boxB.tHeight=100;
boxB.tX=180;
boxB.tY=50;
moveBox(boxA);
moveBox(boxB);
}
แต่ผมอยากได้อย่างงี้ ผมต้องเปลี่ยนแปลงตรงไหนยังไงเหรอครับ :44:
http://f0nt.com/forum/index.php?action=dlattach;topic=6169.0;id=9779
ขุด!!! :07:
ตอบ จ๋อ ที :05:
อ้าว ไม่เห็น... :42:
โทษทีคับ :42:
ที่ว่าจะให้เป็นแบบนั้นหมายถึงจังหวะ ความเร็ว ที่มี easing หรือว่า ความยาวของ 2 กรอบที่เท่ากันหน่ะคับ ?
หมายถึงทิศทางน่ะครับ จะเห็นว่า แบบแรกมันจะยืดออกทั้งสองข้าง แล้วค่อยเลื่อนมาที่ตำแหน่งปลายทาง แต่แบบที่สอง(ที่อยากให้เป็น)จะยึดตำแหน่งทางด้านหนึ่งไว้แล้วนยืดอีกด้านไปที่ตำแหน่งปลายทาง :42:
อ๋อ ถ้าอันนั้นอยู่ที่กำหนดจุด registerหรือจุด pivot ให้กับ movieClip ครับ
สังเกตว่าตอน convert เป็น MC มันจะมีกรอบให้เลือกจุด 9 จุด...
หรือถ้าเข้าไป edit ตัว MC จะเห็นว่ามันมี + อยู่ ก็คือ ถ้า + อยู่ตรงกลาง การยืดออกจะยืดทั้งสองด้านครับ
แต่ถ้าเรากำหนดให้อยู่มุมซ้ายบน เวลายืดก็จะออกไปทางด้านขวา ล่าง ครับ
ผมยังรอพี่อยู่นะครับ :30:
:25:ขอบคตุณครับ
Hola Amigo!
ตูลบไปแล้น :30:
วิชานี้ตู ดรอปทิ้งไปแล้ว :05:
:01: พอดีหน้าที่การงานต้องเกี่ยวข้องกับเจ้าพวกนี้
เลยแอบมาลงเรียนทีหลัง 555
แต่ผมว่าผมทำอนิเมชั่นแล้วใส่คำสั่งแบบบ้านๆต่อไปคงจะดีกว่า 555 :01:
ดรอปแล้วลงใหม่ :05:
http://img2.f0nt.com/flash/19e6141c52286946b4222cd641bcfb73.swf
อ้างอิงfunction compr(org, des) {
if(org>des) { return -1;}
else if(org<des) { return 1;}
else { return 0;}
}
function moveBox(bx) {
bx.onEnterFrame = function(){
if(_root.mc2._x!=_root.mc2.tX||_root.mc2._y!=_root.mc2.ty) {
_root.mc2._x+=10*compr(_root.mc2._x,_root.mc2.tX );
_root.mc2._y+=10*compr(_root.mc2._y,_root.mc2.ty);
}else {
delete bx.onEnterFrame;
}
}
}
type = [150,-150,100,-100,250,-250,300,-300,350,-350,600,-600,500,-500,700,-700]
a1.onPress = function(){
_root.attachMovie("mc","mc2",0)
_root.mc2._x = type[random(14)]
_root.mc2._y = type[random(14)]
_root.mc2.tX=150;
_root.mc2.ty=100;
_root.mc2.setMask(_root.ox)
moveBox(_root.mc2);
}
a2.onPress = function(){
_root.attachMovie("mc2","mc2",0)
_root.mc2._x = type[random(14)]
_root.mc2._y = type[random(14)]
_root.mc2.tX=150;
_root.mc2.ty=100;
_root.mc2.setMask(_root.ox)
moveBox(_root.mc2);
}
a3.onPress = function(){
_root.attachMovie("mc3","mc2",0)
_root.mc2._x = type[random(14)]
_root.mc2._y = type[random(14)]
_root.mc2.tX=150;
_root.mc2.ty=100;
_root.mc2.setMask(_root.ox)
moveBox(_root.mc2);
}
a4.onPress = function(){
_root.attachMovie("mc4","mc2",0)
_root.mc2._x = type[random(14)]
_root.mc2._y = type[random(14)]
_root.mc2.tX=150;
_root.mc2.ty=100;
_root.mc2.setMask(_root.ox)
moveBox(_root.mc2);
}
a5.onPress = function(){
_root.attachMovie("mc5","mc2",0)
_root.mc2._x = type[random(14)]
_root.mc2._y = type[random(14)]
_root.mc2.tX=150;
_root.mc2.ty=100;
_root.mc2.setMask(_root.ox)
moveBox(_root.mc2);
}
a6.onPress = function(){
_root.attachMovie("mc6","mc2",0)
_root.mc2._x = type[random(14)]
_root.mc2._y = type[random(14)]
_root.mc2.tX=150;
_root.mc2.ty=100;
_root.mc2.setMask(_root.ox)
moveBox(_root.mc2);
}
ได้มาแบบนี้ครับผม :05:
เห้ย มีอะไรให้เล่นแบบนี้ด้วย อาจารย์ X-Saint มาสอนด้วย
อยากเล่นๆๆๆๆ ง่ะ เค้าเลิกเล่นกันยังง่ะ
แต่เป็นทหารจะมีเวลาเล่นเปล่าหนอ :05:
ปล.เป็นทหารทำให้เราพลาดอะไรดีๆ
นั่นสิ ช่วยมาต่ออีกซักหลายบทนะคร้าบ
อ้างคำพูดจาก: จักรพรรดิโรเนียว เมื่อ 18 พ.ค. 2007, 19:01 น.
ดรอปแล้วลงใหม่ :05:
http://img2.f0nt.com/flash/19e6141c52286946b4222cd641bcfb73.swf
ได้มาแบบนี้ครับผม :05:
function compr(org, des) {
if (org>des) {
return -1;
} else if (org<des) {
return 1;
} else {
return 0;
}
}
function moveBox(bx) {
bx.onEnterFrame = function() {
if (_root.mc2._x != _root.mc2.tX || _root.mc2._y != _root.mc2.ty) {
_root.mc2._x += 10*compr(_root.mc2._x, _root.mc2.tX);
_root.mc2._y += 10*compr(_root.mc2._y, _root.mc2.ty);
} else {
delete bx.onEnterFrame;
}
};
}
type = [150, -150, 100, -100, 250, -250, 300, -300, 350, -350, 600, -600, 500, -500, 700, -700];
a1.onPress = a2.onPress = a3.onPress = a4.onPress = a5.onPress = a6.onPress = function() {
_root.attachMovie("mc", "mc2", 0);
_root.mc2._x = type[random(14)];
_root.mc2._y = type[random(14)];
_root.mc2.tX = 150;
_root.mc2.ty = 100;
_root.mc2.setMask(_root.ox);
moveBox(_root.mc2);
};
ผมเพิ่งรู้ว่ากระทู้นี้ถูกย้ายมาห้องนี้
ถึงว่าทำไมไม่เห็นเลย นึกว่ามันหายไปแล้ว :08:
ผมเลยไปต่อแค่บท XML ในห้องแฟลช... ซึ่งเหมือนจะไม่มีใครสนใจเท่าไหร่ :08:
จำไม่ได้แล้วเหมือนกันว่าพูดถึงเรื่องไหน แล้วจะพูดอะไรต่อ :08: ขอโทษด้วยครับ :16:
อ้างคำพูดจาก: heart เมื่อ 20 ส.ค. 2007, 11:44 น.
function compr(org, des) {
if (org>des) {
return -1;
} else if (org<des) {
return 1;
} else {
return 0;
}
}
function moveBox(bx) {
bx.onEnterFrame = function() {
if (_root.mc2._x != _root.mc2.tX || _root.mc2._y != _root.mc2.ty) {
_root.mc2._x += 10*compr(_root.mc2._x, _root.mc2.tX);
_root.mc2._y += 10*compr(_root.mc2._y, _root.mc2.ty);
} else {
delete bx.onEnterFrame;
}
};
}
type = [150, -150, 100, -100, 250, -250, 300, -300, 350, -350, 600, -600, 500, -500, 700, -700];
a1.onPress = a2.onPress = a3.onPress = a4.onPress = a5.onPress = a6.onPress = function() {
_root.attachMovie("mc", "mc2", 0);
_root.mc2._x = type[random(14)];
_root.mc2._y = type[random(14)];
_root.mc2.tX = 150;
_root.mc2.ty = 100;
_root.mc2.setMask(_root.ox);
moveBox(_root.mc2);
};
โฮ่ ขอบคุณนะครับ
นศ.นุ่งสั้นไม่ดี แต่โค๊ดยิ่งสั้น กลับดี