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

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

Flash 8 (As 2.0)
สร้างแบบทดสอบ 4 ตัวเลือก ตอนที่ 2

อังคาร ที่ 27 เดือน ตุลาคม พ.ศ.2552


 

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

ตัวอย่าง ใครยังไม่มี  คลิกที่นี่เพื่อดาวน์โหลด
ในที่นี้จะอธิบายส่วนของไฟล์ posttest.fla


จากตอนที่แล้วเราได้จัดทำในส่วนของข้อสอบไปแล้ว มาถึงตอนนี้จะเป็นเรื่องของคำสั่งที่ใช้ใน
Layer : Action ต่อกันเลยนะครับ

6. มาดูที่ Layer : action เฟรมที่ 1 จะเป็น as เกี่ยวกับตัว Preloading (ตัวแสดงสถานะการโหลด) จะสามารถทดสอบได้
โดยการกด Ctrl+Enter สองครัง ในเฟรมนี้เราจะสังเกตเห็นว่าทุก Layer จะไม่มีข้อมูลอยู่เลย หากเราใส่ข้อมูลในเฟรมนี้
จะทำให้ตัว Preloading แสดงผลช้า เพราะต้องเสียเวลาโหลดข้อมูลในเฟรมก่อน ดังนั้นไม่ควรใส่ข้อมูลในเฟรมนี้นะครับ
ส่วน as ในเฟรมนี้เราจะไม่ยุ่งกับมันครับ (หากใครต้องการปรับแต่งก็มีคำอธิบายประกอบอยู่แล้วครับ)

7. มาดูที่ Layer : action เฟรมที่ 2 เราจะทำการแก้ as

 

 

stop();
showname="ผู้ทำข้อสอบ :"+" "+_level0.nameok;
var endtest=2;
ans_ok=0;
point=0;
myArray = new Array();
myArray = ["pro1","pro2","pro3","pro4","pro5","pro6","pro7","pro8","pro9","pro10",
"pro11","pro12","pro13","pro14","pro15","pro16","pro17","pro18","pro19","pro20",
"pro21","pro22","pro23","pro24","pro25","pro26","pro27","pro28","pro29","pro30"];
chktest=0;
function chktestnum () {
if(chktest== "30"){
gotoAndStop(35);
}
}

function chkrad () {
myRandom = rand(myArray);
function rand(the_Array) {
gd = random(the_Array.length);
gx = the_Array[gd]
the_Array.splice(gd,1); 
return gx;
}
_root.gotoAndStop(myRandom);
_root.chktestnum();
chktest=chktest+1; //แสดงเลขข้อ
}

 ทำการแก้ as ตามข้างบนที่เป็นตัวสีน้ำเงิน ผมเพิ่มชื่อเฟรมที่เราได้ตั้งไว้เมื่อตอนที่ 1 ให้ครบ 30 ข้อ เพื่อให้ทำการสุ่ม
จากชื่อเฟรม (ตรงนี้ใครทำข้อสอบกี่ข้อก็แก้ as ให้เท่ากับจำนวนข้อสอบนะครับ ในที่นี้เราทำ 30 ข้อ)

as ชุดที่ 2

function chktestnum () {
if(chktest== "30"){ // ตรงนี้เป็นจำนวนข้อที่ทำการสุ่มเราจะไส่ 30 เท่ากับจำนวนข้อสอบ
gotoAndStop(35);
// เมื่อครบ 30 ข้อแล้วให้ไปหยุดที่ 35 (คือเฟรมในส่วนของการประเมินผล)
}
}


8. ต่อไปมาดู Layer : action เฟรมที่ 3 ซึ่งเป็นข้อสอบข้อที่ 1 ทำการแก้ตัวเลขที่บรรทัดที่ 2 as นี้เป็นตัวแปรเฉลยข้อที่ถูก
มีความหมายดังนี้
ใส่เลข 1 หมายถึง ข้อ ก เป็นข้อถูก
ใส่เลข 2 หมายถึง ข้อ ข เป็นข้อถูก
ใส่เลข 3 หมายถึง ข้อ ค เป็นข้อถูก
ใส่เลข 4 หมายถึง ข้อ ง เป็นข้อถูก

stop();
ans_ok=2; // ในที่นี้ข้อสอบข้อที่ 1 ข้อ ข ถูก
nexttest._visible=false;
_root.ans1.enabled=true;
_root.ans2.enabled=true;
_root.ans3.enabled=true;
_root.ans4.enabled=true;
_root.ans1._alpha=100;
_root.ans2._alpha=100;
_root.ans3._alpha=100;
_root.ans4._alpha=100;

 ก็ทำการใส่ as ข้างบนที่เฟรม ตั้งแต่เฟรมที่ 3-32 แล้วทำการแก้เฉพาะ as นี้ ans_ok=2; เท่านั้นครับ

 
9. ต่อไปมาดูส่วนของการประเมินผล Layer : action เฟรมที่ 35 ให้ทำการแก้ตาม as ด้านล่าง

showpoint.text=point;
showname="ผู้ทำข้อสอบ :"+" "+_level0.nameok;
showpoint2.text=(point*100)/30; //คิดคะแนนเป็นเปอร์เซนต์

_level0.endposttest=1;
_level0.postpoint=": ได้"+" "+point+" "+"คะแนน";

if (point<=14){ // ถ้าคะแนนตั้งแต่ 1 - 14 ให้แสดงข้อความ
showtext2.text="นักเรียนควรศึกษาเนื้อหาอีกครั้งนะคะ";
}else if (point<=20){ // ถ้าคะแนนตั้งแต่ 15 - 20 ให้แสดงข้อความ
showtext2.text="เก่งจังค่ะ แต่จะให้ดีควรศึกษาเนื้อหาเพิ่มเติมอีกนิดนะคะ";
}else if (point<=30){ // ถ้าคะแนนตั้งแต่ 21 - 30 ให้แสดงข้อความ
showtext2.text="เก่งมากค่ะ ";
}
if (point<=14){ // ถ้าคะแนนตั้งแต่ 1 - 14 ให้แสดงข้อความ
showtext1.text="ปรับปรุง";
}else if (point<=20){ // ถ้าคะแนนตั้งแต่ 15 - 20 ให้แสดงข้อความ
showtext1.text="พอใช้";
}else if (point<=25){ // ถ้าคะแนนตั้งแต่ 21 - 25 ให้แสดงข้อความ
showtext1.text="ดี";
}else if (point<=30){ // ถ้าคะแนนตั้งแต่ 26 - 30 ให้แสดงข้อความ
showtext1.text="ดีมาก";
}

nexttest._visible=false;
var endtest=1;

 

ก็เป็นอันว่าเสร็จเรียบร้อยครับ ทำการทดสอบโดยการกด Ctrl+Enter
ติดตามตอนที่ 3 เรื่องของการเปลี่ยนภาพการ์ตูนที่เฉลยคำตอบ

 



เข้าชม : 41925


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]