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

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

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

Layiji

:14: ซวยเลยหมอ แล้วทำไมหมอไม่แปะที่นี่ล่ะจ๊ะ แปะแล้วก็แก้ไข linkflash อีกที
นักเขียนการ์ตูนรายปี

X Saint

#46
กระจู๋มีแขกรับเชิญด้วยแหะๆ  :42:

มาเพิ่มเติมเทคนิคนิดนึงคับ เผื่อเอาไปเพิ่มเติมลูกเล่นได้... แต่การบ้านหนนี้ไม่ค่อยมีคนส่งแหะ  :34:
จริงๆตัวอย่างที่หน้าแรก ทำล่อไว้เผื่อมีคนถาม... แต่ไม่มีใครถามเลย สงสัยคงไม่ได้ลองกดกัน  :39:

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

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

การกำหนดเงื่อนไข

ลักษณะของคำสั่ง if เป็นรูปแบบคำสั่งแบบเงื่อนไข มีรูปแบบคือ

อ้างอิงif (เงื่อนไข) {
     คำสั่ง;
}

ในวิชาเลขจะมีบทนึงคือเรื่องตรรกศาสตร์เบื้องต้น... สมัยผมเค้ามีเรียนตอน ม. 3 แต่ไม่รู้สมัยนี้เรียนกันตอนไหนเหมือนกัน... ผมว่าเป็นเลขบทนึงที่สนุกดี เพราะไม่ต้องจำสูตร ไม่ต้องคำนวณ แต่ต้องคิด

วิธีคิดแบบตรรกศาสตร์ หรือ logic นี้เป็นพื้นฐานสำคัญของการเขียนโปรแกรมทุกอย่าง เพราะมันจะนำไปสู่วิธีการวิเคราะห์แก้โจทย์ทุกๆอย่าง และทุกโปรแกรม ไม่มีโปรแกรมไหนที่หนีหลุดพ้นจากบ่วงกรรม if ไปได้เลย

ถ้าเคยเรียนตรรกศาสตร์มาอาจจะเคยเจอรูปแบบเงื่อนไขทางตรรกศาสตร์ เช่น

ถ้า ฝนตก แล้ว ฉันจะเอาร่มออกจากบ้าน

แปลว่า เรามีเงื่อนไข คือ ฝนตก..... ถ้าฝนตก ก็จะเกิดคำสั่ง ให้เอาร่มออกจากบ้าน... ซึ่ง ถ้าฝนไม่ตก ก็จะไม่พกร่มออกจากบ้าน
(ความจริงอาจจะเอาออกก็ได้นะ แต่ในทางตรรกศาสตร์ เค้าไม่เอาออกหน่ะ  :34:)

ซึ่งภายใน ( ) หลัง if เราต้องกำหนดเงื่อนไข ว่าจะให้โปรแกรมมันคิดอย่างไร สมมุติ เอารูปแบบข้างบนมาเขียนในรูป if ก็จะเป็น

อ้างอิงif(ฝนตก) {
     เอาร่มออกจากบ้าน;
}

แปลว่าถ้า ฝนตก เป็นจริง คำสั่งให้เอาร่มออกจากบ้าน จึงจะเกิดขึ้น

ในการคิดแบบคอมพิวเตอร์ จริง = 1 และ เท็จ = 0
ดังนั้นอะไรก็ตามที่อยู่ภายใน ( ) มีค่าเท่ากับ 1 จะถือว่าเงื่อนไขเป็นจริง และถ้ามันเท่ากับ 0 ก็จะถือว่าเป็นเท็จ .... แต่ภาษาคอมฯส่วนใหญ่ อะไรที่ไม่เท่ากับ 0 ในเงื่อนไข ถือว่าเป็นจริงหมด (ไม่เชื่อลองใส่ดูจิ่)

นอกจากนี้ถ้าเคยเรียนตรรกศาสตร์เบื้องต้นมาจะต้องเคยผ่าน ประพจน์แบบ และ กับ หรือ ซึ่งสำคัญมั่กๆ... จะกล่าวถึงในคราวต่อไป

เรียนเรื่องตรรกศาสตร์เพิ่มเติมได้ที่ เว็บนี้นะกรั๊บ
http://gold.rajabhat.edu/learn/math/logic1.html

ดังนั้นเอามาประยุกต์ใช้กับตัวอย่างแรก
ถ้า dot วิ่งเลยขอบจอขวา (คือ x>300) ให้ พา dot กลับไปที่ขอบจอซ้าย (x=0)
เขียนเป็นโค้ดเพิ่มจากเดิมได้เป็น

อ้างอิงbutt.onRelease = function() {
     dot._x+=10;
     if(dot._x>300) {
          dot._x=0;
     }

}

ปล. หลังจากพิมพ์เสร็จแล้ว สังเกตว่าอธิบายละเอียดไป  :39:
ปปล. ความจริงคืออธิบายขยายความที่ เต่า อธิบายไปอีกที

saa3

เข้าใจแล้วกรึ๊บ  :40:

แต่ผทไม่ว่างจริงๆ ซักพักเดี๋ยวผมทำส่งนะเฮีย  :05:

Zafire06


นายโอ้เอ้

อ้างคำพูดจาก: ThaiMeet เมื่อ 03 พ.ค. 2006, 10:27 น.
เรียนคุณ  StaywithMe ค๊าบบ

ป๋ม admin ของ http://www.thaimeet.com นะงับ

ผมจะยังไม่ลบลบไฟล์ flash ที่ server นะครับ แต่รบกวนนิดนึง ถ้าใครจะ link หรือเรียกใช้ไฟล์โดยตรงแบบนี้ก็รบกวนอ่าน มารยาทการลิงค์ไฟล์  จากหน้าเว็บไซต์ http://www.thaimeet.com ณ กล่องข้อความด้านขวาบนด้วยครับ


ขอบพระคุณอย่างสูงที่ใช้บริการงับป๋ม  :44:



:08:
Today you , Tomorrow me.

X11

#50
 :22:


bx1.text=mv1._x;
bx2.text=mv1._y;

bUp.onRelease=function() {
mv1.gotoAndPlay(2);
mv1._y-=5;
if(mv1._y<0) { mv1._y=250;}
bx1.text=mv1._x;
bx2.text=mv1._y;
}
bDown.onRelease=function() {
mv1.gotoAndPlay(2);
mv1._y+=5;
if(mv1._y>250){ mv1._y=0;}
bx1.text=mv1._x;
bx2.text=mv1._y;
}
bLeft.onRelease=function() {
mv1.gotoAndPlay(2);
mv1._x-=5;
if(mv1._x<0) { mv1._x=300;}
bx1.text=mv1._x;
bx2.text=mv1._y;
}
bRight.onRelease=function() {
mv1.gotoAndPlay(2);
mv1._x+=5;
if(mv1._x>300) { mv1._x=0; }
bx1.text=mv1._x;
bx2.text=mv1._y;
}

i-poon

โอ๊ะ! ขอบคุณคุณเต่าครับ

เรื่องชมว่าหน้าหล่อนะ แฮ่ๆๆ  :02:
50 levels avaliable, 22 secrets levels avaliable :P

เต่า...


แมวเงียบ

 :08: เจ้าหนี้ทวงแฮะ
- -"
ไม่เข้าใจที่พี่โอ้เอ้พิมพ์

(ความจริงมันมีที่สาหัสกว่านั้นอีก แต่แอดมินไม่รุ้ดีแล้ว ฮิฮิ)

saa3


L

เกะกะ ระราน พาลไม่เลือกสถานที่

pugpug : นนทกร

ขอแปะไว้ด้วยคนครับ
เพิ่งอ่านเจอ :05:

Layiji

รอคอยบทใหม่อยุ่นะครับ  :25:
นักเขียนการ์ตูนรายปี

เติ้ล_คุง

 :32:อ่านแล้วงง งงคับมาเรียนช้าไปป่าวเนี่ย

แห้ง

butt.onRelease = function () {
     dot._x = dot._x+1;
}

ผมใส่ script นี้ไม่ได้อ่ะ มันไม่วิ่ง

แต่พอใส่
on(release) {
dot._x = dot._x+1;
}

ขยับนะคับ

flash 8 น่ะครับ ต่างกันปล่าว

SMF 2.1.7 © 2026, Simple Machines