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

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

Flash 8 (As 2.0)
วิธีสร้างข้อสอบ แบบมีกระดาษคำตอบ

จันทร์ ที่ 15 เดือน กุมภาพันธ์ พ.ศ.2553



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

 

 มาเริ่มกันเลยครับ ที่เฟรมที่ 1 Layer 1 สร้างตามนี้ครับ
      
ขั้นตอนที่ 1 สร้างข้อสอบให้อยู่ใน Scrollpane  ขั้นตอนนี้ผมขอไม่อธิบายนะครับ เพราะมีบทความสอนเรื่องนี้อยู่แล้ว
ก็ทำตาม link นี้ได้เลยครับ  
http://www.caistudio.info/index2.php?name=cai&file=readcai&id=32

 
 ขั้นตอนที่ 2 สร้าง DtnamicText  เพื่อแสดงคะแนน โดยที่ส่วนของ Properties ที่ช่อง var ให้ใส่คำว่า showpoint 


 ขั้นตอนที่ 3 สร้างปุ่ม "ตรวจคำตอบ" และปุ่ม "ทำใหม่" และพิมพ์ข้อความ(หัวข้อสอบ) ตามภาพ


ขั้นตอนที่ 4 สร้างกระดาษคำตอบ โดยการสร้างกล่องสี่เหลี่ยมจำนวน 5  กล่องเท่าๆ กัน กล่องแรกให้ใส่สีเพื่อความแตกต่าง
สำหรับใส่เลขข้อครับ ส่วนกล่องที่ 2-5 ให้ทำการแปลงเป็นปุ่ม ก็จะได้ปุ่มอยู่ 4 ปุ่ม
สร้าง DynamicText ที่ช่องหมายเลขข้อ แล้วที่ส่วนของ Properties ที่ช่อง var ให้ใส่คำว่า number  และสร้าง
DynamicText ไว้ท้ายกล่องที่ 5 แล้วที่ส่วนของ Properties ที่ช่อง var ให้ใส่คำว่า point_ans

 
 ขั้นตอนที่ 5 ทำการเลือกทั้งหมดและแปลงเป็น mc แล้วดับเบิลคลิกเข้าไป ทำการยืดเฟรมโดยการคลิกที่เฟรมที่ 5
แล้วกดปุ่ม F5



ต่อไปก็ทำการสร้างตัวกากบาท โดยทำการเพิ่ม Layer ขึ้นมาอีกหนึ่ง Layer และที่ Layer นี้เฟรมที่ 2 วาดตัวกากบาท
ไว้ที่ช่องที่ 2 หรือ "ก"  หลังจากนั้นที่เฟรมที่ 3  กดปุ่ม F6 เพื่อเพิ่มเฟรม แล้วทำการขยับตัวกากบาทมาไว้ที่ช่อง 3 หรือ "ข"
ทำลักษณะนี้ที่ช่อง 4-5 หรือ "ค" "ง" ดังภาพ


 
ขั้นตอนที่ 6 ทำการใส่ as ตามนี้ที่ Layer 2
เฟรมที่ 1
stop();
//เฟรมที่ 2
_root.mytest[this.number]=1;
//เฟรมที่ 3
_root.mytest[this.number]=2;
//เฟรมที่ 4
_root.mytest[this.number]=3;
//เฟรมที่ 5
_root.mytest[this.number]=4;
และทำการใส่ as ให้กับปุ่ม (หมายถึงช่อง 2-5 หรือ ก ข ค ง) ดังนี้
//ช่อง 2 หรือ ก
on (release) {
 gotoAndStop(2);
}
//ช่อง 3 หรือ ข
on (release) {
 gotoAndStop(2);
}
//ช่อง 4 หรือ ค
on (release) {
 gotoAndStop(2);
}
//ช่อง 5 หรือ ง
on (release) {
 gotoAndStop(2);
}
 
 
 ขั้นตอนที่ 7 กลับมายัง Timeline หลักคัดลอก mc ช่องคำตอบที่สร้างให้เท่ากับจำนวนข้อสอบในที่นี้จำนวน 10 ข้อ
แล้วจัดเรียงให้เรียบร้อย ตั้งชื่อให้กับ mc ว่า t1 - t10 ตามภาพ อย่าลืมวาดหัวกระดาษคำตอบด้วยนะครับ
 


 

  ขั้นตอนที่ 8 ขยับเฟรมที่ 1 มาอยู่เฟรมที่ 2 แล้วใส่ as ที่เฟรมตามนี้

เฟรมที่ 1

fscommand("fullscreen", "true");
point=0;

//เฉลยคำตอบ  1=ก  ,2=ข  ,3=ค  ,4=ง   ให้ใส่คำตอบตรงนี้ครับ
ans1=3; //คำตอบข้อ 1
ans2=4; //คำตอบข้อ 2
ans3=4; //คำตอบข้อ 3
ans4=1; //คำตอบข้อ 4
ans5=2; //คำตอบข้อ 5
ans6=1; //คำตอบข้อ 6
ans7=3; //คำตอบข้อ 7
ans8=4; //คำตอบข้อ 8
ans9=2; //คำตอบข้อ 9
ans10=1; //คำตอบข้อ 10

//ตัวแปรสำหรับเก็บคำตอบที่เลือก
var mytest:Array=[];

//เช็คคำตอบ
function chk_ans(){
 //ข้อ1.................
 if (mytest[1]==ans1){
  point=point+1;
  t1.point_ans=1;
  }else{t1.point_ans=0;}
 
 //ข้อ2.................
 if (mytest[2]==ans2){
  point=point+1;
  t2.point_ans=1;
  }else{t2.point_ans=0;}
  
 //ข้อ3.................
 if (mytest[3]==ans3){
  point=point+1;
  t3.point_ans=1;
  }else{t3.point_ans=0;}
  
 //ข้อ4.................
 if (mytest[4]==ans4){
  point=point+1;
  t4.point_ans=1;
  }else{t4.point_ans=0;}

 //ข้อ5.................
 if (mytest[5]==ans5){
  point=point+1;
  t5.point_ans=1;
  }else{t5.point_ans=0;}
  
 //ข้อ6.................
 if (mytest[6]==ans6){
  point=point+1;
  t6.point_ans=1;
  }else{t6.point_ans=0;}
  
 //ข้อ7.................
 if (mytest[7]==ans7){
  point=point+1;
  t7.point_ans=1;
  }else{t7.point_ans=0;}
 
 //ข้อ8.................
 if (mytest[8]==ans8){
  point=point+1;
  t8.point_ans=1;
  }else{t8.point_ans=0;}
  
 //ข้อ9.................
 if (mytest[9]==ans9){
  point=point+1;
  t9.point_ans=1;
  }else{t9.point_ans=0;}
  
 //ข้อ10.................
 if (mytest[10]==ans10){
  point=point+1;
  t10.point_ans=1;
  }else{t10.point_ans=0;}
  
 }


เฟรมที่ 2

//แสดงหมายเลขข้อในกระดาษคำตอบ
t1.number=1;
t2.number=2;
t3.number=3;
t4.number=4;
t5.number=5;
t6.number=6;
t7.number=7;
t8.number=8;
t9.number=9;
t10.number=10;


stop();

 




 
  ขั้นตอนที่ 9 ใส่ as ที่ปุ่มตามนี้

ปุ่ม "ตรวจคำตอบ"

on (release) {
 chk_ans();
 showpoint="ได้  "+point+"  คะแนน";
 point=0;
}


ปุ่ม "ทำใหม่"

on (release) {
 gotoAndPlay(1);
}


 
  ขั้นตอนที่ 10 ทดสอบโดยการกด Ctrl+Enter ก็เป็นอันว่าเสร็จเรียบร้อยครับ
 


เข้าชม : 87100


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]