[x] ปิดหน้าต่างนี้
Powered by CAISTUDIO.INFO >>คลังสื่อ CAI
<< หน้าหลัก / Home >>

  << บทความ /cai >>

Flash 8 (As 2.0)
การใช้ for ช่วยให้การเขียน as สั้นลง

อังคาร ที่ 4 เดือน พฤษภาคม พ.ศ.2553



การใช้ for ช่วยให้การเขียน  as  สั้นลง
เป็นการประยุกต์ใช้คำสั้ง for มาช่วยในการเขียน as ให้ยกเลิกการทำงานของปุ่ม
ข้อตกลง : เพื่อความกระชับในการเขียนบทความให้เข้าใจง่าย และรวดเร็ว
ผมขอใช้คำย่อดังนี้ครับ
  
    mc  หมายถึง  MovieClip
      as   หมายถึง  ActionScript
      cai  หมายถึง  บทเรียนคอมพิวเตอร์ช่วยสอน

        ก็หลังจากที่ผมพยายามแกะอะไรที่อ่านยากๆ มาแจกแจงให้ดูแล้วเข้าใจง่ายหน่อย as  ที่เป็นการ
ใช้  For  ผมก็เคยแกะออกมาแล้วเขียนแบบถึกๆ เพื่อสำหรับคนเริ่มต้นจะได้เข้าใจง่ายขึ้น ก็ใช้มาแล้ว
หลายงาน  ถึงวันนี้สมาชิกที่ติดตามและศึกษา as มาตลอด ก็คงจะเริ่มคุ้นเคยบ้างแล้ว เพราะมีหลาย
ท่านถามว่า  "ผมต้องเขียนคำสั่งนี้ซ้ำๆ กันทุกครั้งเลยหรือครับ"  บัดนี้คงถึงเวลาที่เราจะเลื่อนชั้นเป็น
ระดับประถมกันมั่งละครับ หลังจากที่อยู่ระดับอนุบาลมานานเกือบ 2 ปี ..555
มาเริ่มกันเลยครับ

ตัวอย่างที่ 1


 



 
 จากตัวอย่างที่ 1 เป็นการยกเลิกการทำงานของปุ่ม 10 ปุ่ม
เขียนโดยไม่ใช้  for ใช้  for  มาประยุกต์ให้สั่นลง
//ที่ปุ่ม ยกเลิก
on (release) {
b1.enabled=false;
b1._alpha=40;
b2.enabled=false;
b2._alpha=40;
b3.enabled=false;
b3._alpha=40;
b4.enabled=false;
b4._alpha=40;
b5.enabled=false;
b5._alpha=40;
b6.enabled=false;
b6._alpha=40;
b7.enabled=false;
b7._alpha=40;
b8.enabled=false;
b8._alpha=40;
b9.enabled=false;
b9._alpha=40;
b10.enabled=false;
b10._alpha=40;
}

//ที่ปุ่ม ทำงาน
on (release) {
b1.enabled=true;
b1._alpha=100;
b2.enabled=true;
b2._alpha=100;
b3.enabled=true;
b3._alpha=100;
b4.enabled=true;
b4._alpha=100;
b5.enabled=true;
b5._alpha=100;
b6.enabled=true;
b6._alpha=100;
b7.enabled=true;
b7._alpha=100;
b8.enabled=true;
b8._alpha=100;
b9.enabled=true;
b9._alpha=100;
b10.enabled=true;
b10._alpha=100;
}
//ที่ปุ่ม ยกเลิก
on (release) {
for(i=1; i<=10; i++){
 this["b"+i]._alpha=40;
 this["b"+i].enabled=false;
}
}

//ที่ปุ่ม ทำงาน
on (release) {
for(i=1; i<=10; i++){
 this["b"+i]._alpha=100;
 this["b"+i].enabled=true;
}
}
 
อธิบาย as การใช้ for จากตัวอย่างที่ 1
ดูจาก as ด้านบนคงเห็นความแตกต่างนะครับว่า ใช้ for แล้วทำให้ as มันสั้นขนาดไหน
มาลองสร้างกันเลยนะครับ
        ก่อนอื่นให้ทำการสร้างปุ่มและตั้งชื่อแต่ละปุ่ม ดังนี้ b1,b2,b3..............b10  ส่วนปุ่ม
ยกเลิก กับปุ่ม ทำงาน ไม่ต้องตั้งชื่อครับ เพราะมันไม่เกี่ยวข้องกับงานนี้

//ที่ปุ่ม ยกเลิก ใส่ as ดังนี้
on (release) {
for(i=1; i<=10; i++){  // เป็นการกำหนดค่าให้ตัวแปร i โดยให้ i เท่ากับ 1 และบวกค่าจนถึง 10 เท่ากับจำนวนปุ่ม 
 this["b"+i]._alpha=40; //ทำการรวมตัว b กับค่า i (ก็จะได้เป็น b1,b2......b10) แล้วให้ปุ่มโปร่งใส จางๆ ที่ 40
 this["b"+i].enabled=false; //ทำการรวมตัว b กับค่า i (ก็จะได้เป็น b1,b2......b10) แล้วยกเลิกการทำงานของปุ่ม
}
}

//ที่ปุ่ม ทำงาน ใส่ as ดังนี้
on (release) {
for(i=1; i<=10; i++){ // เป็นการกำหนดค่าให้ตัวแปร i โดยให้ i เท่ากับ 1 และบวกค่าจนถึง 10 เท่ากับจำนวนปุ่ม 
 this["b"+i]._alpha=100; //ทำการรวมตัว b กับค่า i (ก็จะได้เป็น b1,b2......b10) แล้วให้ปุ่มมองเห็นชัดเจนที่ 100
 this["b"+i].enabled=true; //ทำการรวมตัว b กับค่า i (ก็จะได้เป็น b1,b2......b10) แล้วให้ปุ่มทำงานได้
}
}

//ลองทดสอบดูนะครับ


ตัวอย่างที่ 2


 

จากตัวอย่างที่ 2 เป็นการประยุกต์ใช้ For
    ก็ถ้าเขียนกันแบบเดิมๆ as คงยาว 1 หน้ากระดาษเป็นแน่ ก็ใช้ for นี่แหละครับมาประยุกต์ใช้
ถ้าใครที่มีพื้นฐานการเขียนโปรแกรมคงเขียนได้ดีกว่าผมเยอะ
มาเริ่มกันเลยครับ
    ก่อนอื่นก็เช่นเคย สร้างปุ่มมา 10 ปุ่ม พร้อมกับตั้งชื่อ b1,b2,b3..............b10 
แล้วเอา as ด้านล่างไปวางที่เฟรม ก็จบทดสอบดูได้เลย
 

//ใส่ที่เฟรม โดยตั้งชื่อปุ่มเป็น  b1,b2.b3...............b10 
for (i:Number=1; i<=10; i++){
         _root["b"+i].id = i;  
         _root["b"+i].onRelease = function (){
    true_button();
   _root["b"+this.id]._alpha=40;
   _root["b"+this.id].enabled=false;

   }}
  
function true_button(){
for(i=1; i<=10; i++){
 this["b"+i]._alpha=100;
 this["b"+i].enabled=true;
}}

อธิบาย as  ด้านบน

for (i:Number=1; i<=10; i++){ // เป็นการกำหนดค่าให้ตัวแปร i โดยให้ i เท่ากับ 1 และบวกค่าจนถึง 10 เท่ากับจำนวนปุ่ม 
         _root["b"+i].id = i;   // กำหนดให้เก็บ id เฉพาะปุ่ม
         _root["b"+i].onRelease = function (){ //เมื่อคลิกปุ่มแล้วปล่อยเมาส์
    true_button(); //เรียกใช้ฟังชั่น (ด้านล่าง)
   _root["b"+this.id]._alpha=40; //ให้ปุ่มที่ถูกคลิกแล้วให้ปุ่มโปร่งใส จางๆ ที่ 40
   _root["b"+this.id].enabled=false; //ให้ปุ่มที่ถูกคลิกไม่ทำงาน (ไม่สามารถคลิกได้)

   }}
  
function true_button(){ //สร้างฟังชั่น true_button
for(i=1; i<=10; i++){ // เป็นการกำหนดค่าให้ตัวแปร i โดยให้ i เท่ากับ 1 และบวกค่าจนถึง 10 เท่ากับจำนวนปุ่ม 
 this["b"+i]._alpha=100; //ให้ปุ่มทุกปุ่มมองเห็นชัดเจน ที่ 100
 this["b"+i].enabled=true; //ให้ปุ่มทุกปุ่มทำงาน (สามารถคลิกได้)
}}

เอาไปประยุกต์ต่อนะครับ



เข้าชม : 68181


Flash 8 (As 2.0) 5 อันดับล่าสุด

      แสดงผลเป็นเลขไทย 5 / ส.ค. / 2555
      สร้าง Scrollbar ใช้เอง 24 / มิ.ย. / 2553
      FLVPlayback เล่น vdo แบบต่อเนื่อง 17 / มิ.ย. / 2553
      การใช้ for ช่วยให้การเขียน as สั้นลง 4 / พ.ค. / 2553
      as โหลดไฟล์ mp3 4 / เม.ย. / 2553


Powered by : PHP | Mysql | MAXSITE 1.10 | Design by : JP_Graphic [E-mail : webmaster@caistudio.info]