AS ตอนที่ 2:เคลื่อนที่ด้วย Script

เริ่มโพสต์โดย X Saint, 02 พ.ค. 2006, 11:44 น.

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

X Saint

เกริ่นไปในตอนที่แล้วในจุดที่คุณหมอกิฟทดลอง
(น้องสาวผมก็ชื่อกิฟ เรียนหมอปี 3 เหมือนกันอ่ะ  :09:)

เกี่ยวกับเรื่อง property ของ object
ใน Flash เรามองว่า Movie Clip ก็เป็น Object อย่างนึงเหมือนกัน
ก็จะมี property เฉพาะตัว เช่น ตำแหน่ง ความกว้าง ความสูง เป็นต้น

ดังนั้นเราสามารถทำให้ MovieClip เคลื่อนที่ได้โดยการไปควบคุม property เหล่านี้
เช่น ถ้าเราตั้งชื่อinstance ของ MC ว่า dot ตำแหน่งของ dot ในพิกัด x จะอ้างอิงได้ในรูป

dot._x;

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

อ้างอิงdot._x = dot._x + 1;

ก็จะทำให้ dot เลื่อนไปทางด้านขวา 1 pixel ...
ในทำนองเดียวกัน ถ้าจะให้มันเลื่อนไปทางซ้าย ก็ เปลี่ยนเป็น -1

ดังนั้น ถ้าเราใช้ปุ่มควบคุม ก็ใช้ความรู้เดิมจากความเดิมตอนที่แล้ว

อ้างอิงbutt.onRelease = function () {
     dot._x = dot._x+1;
}

ผลที่ได้คือ ทุกครั้งที่กดปุ่ม dot ก็จะเลื่อนไปทางขวา 1 pixel

ตัวอย่าง
http://f0nt.com/forum/index.php?action=dlattach;topic=5841.0;id=9122

X Saint

การลดรูป

โดยปกติพวกรูปสมการที่ เอาค่า ตัวเอง บวกค่าเพิ่ม แล้วคืนค่ากลับให้ตัวเอง
จะมีวิธีการย่อรูปแบบเดียวกับแทบทุกภาษาคอมฯ
โดยจัดรูปใหม่จาก

x = x + 5;

ได้เป็น

x +=5;

ดังนั้นเราสามารถเขียนให้ย่อลงได้ เป็น

dot._x+=1;

เป็นต้น

นอกจากนี้ยังมีอีกรูปคือ ++ หรือ -- ก็จะเป็นการ บวก หรือ ลบค่าให้ตัวเองทีละ 1 เช่น

dot._x++;

L

#2
งวดที่แล้วช้า งวดนี้ขอคนแรกละกันแก้ตัวๆ 
ขอบคุณครับ พอบอกได้ไหมครับว่าไปเอาฟังกชั่นพวกนี้มากจากไหน actionscript help ?

อัพแฟลชไว้ที่ไหนกันอะครับ  :44:
(สำหรับเอามาโชวหน้าเว็บ)



ได้แล้ว แต่โพสไม่ได้  :05:
เกะกะ ระราน พาลไม่เลือกสถานที่

Ah!

เรียนถามคุณครูครับ

ถ้าเราไม่อยากให้กดตุ่ม (on.Release น่าจะคือทำงานเมื่อปล่อยปุ่มกด)
คือให้มันทำงานเลยตอนที่เอาเม้าส์เลื่อนไปวางบนปุ่ม
ทำอย่างไรครับ

ขอบคุณครับคุณครู
:42:
        AH_LuGDeK, AH_LuGDeK_R

♥ ชายเต่า ♥

เอามั่ง

L

งั้นเวลาอยากให้เลื่อนแต่ละทีก็ต้อง เลื่อนเข้าเลื่อนออกนะครับ ลุงภู  :08:
มัน hold ไม่ได้ปะ :09:
เกะกะ ระราน พาลไม่เลือกสถานที่

X Saint

การบ้าน

ให้ทำ 4 ปุ่มขึ้นไป  ให้เคลื่อนที่ MC ไปในทิศทางที่ต่างๆกัน

X Saint

#7
อ้างคำพูดจาก: ภูกระดึง เมื่อ 02 พ.ค. 2006, 12:25 น.
เรียนถามคุณครูครับ

ถ้าเราไม่อยากให้กดตุ่ม (on.Release น่าจะคือทำงานเมื่อปล่อยปุ่มกด)
คือให้มันทำงานเลยตอนที่เอาเม้าส์เลื่อนไปวางบนปุ่ม
ทำอย่างไรครับ

ใช้ butt.onRollOver คับ แต่มันทำครั้งเดียว ต้องเลื่อนเข้า เลื่อนเข้าถึงจะทำให้อีกทีอ่ะคับ
สามารถทำรูปแบบนี้ได้เหมือนกัน

butt.onRollOver = butt.onRollOut = function() {

แปลว่า เลื่อนเข้า ก็ทำที เลื่อนออก ก็ทำที
แต่ถ้าคาไว้ มันก็ไม่วิ่งนะคับ
แต่ถ้ายิ่งชักเข้าชักออกเร็ว ก็ยิ่งวิ่งเร็ว

ถ้าจะให้วางค้างไว้แล้วมันเลื่อนตลอดจะเป็นอีกเทคนิคนึงครับ (ฝากไว้ก่อน)

Zafire06


L

อ้างคำพูดจาก: X Saint เมื่อ 02 พ.ค. 2006, 12:43 น.

เลื่อนเข้า ก็ทำที เลื่อนออก ก็ทำที
แต่ก็ไม่ใช่คาไว้แล้วทำตลอดเหมือนกัน



เอาไปคิดทะลึ่งๆได้ไกลดีแท้ ครับ :02:



การบ้านกระโดดไกลมาก  :34:
แต่ก่อนอื่น แทรกแฟลชไง ครับ 
ไม่งั้นส่งไม่ได้อะ :05:
เกะกะ ระราน พาลไม่เลือกสถานที่

X Saint


Ah!

#11
ส่งการบ้านครับคุณครู
:42:


http://f0nt.com/forum/index.php?action=dlattach;topic=5841.0;id=9126

// แปะโค้ดตามจานป๋าสั่ง  :42:
อ้างอิงbRT.onRelease = function () {
     smile._x = smile._x + 3;
}
bUP.onRelease = function () {
     smile._y = smile._y - 3;
}
bLF.onRelease = function () {
     smile._x = smile._x - 3;
}
bDN.onRelease = function () {
     smile._y = smile._y + 3;
}

        AH_LuGDeK, AH_LuGDeK_R

♥ ชายเต่า ♥

เอามั่ง

icez

อ๊าาา ดุ๋ยๆๆๆๆ ดีจังเลย

L

ทำไงให้มัน ดึ๋งดั๋งอะ  :09:
เกะกะ ระราน พาลไม่เลือกสถานที่

SMF 2.1.7 © 2026, Simple Machines