1. Trang chủ
  2. » Văn Hóa - Nghệ Thuật

HUONG DAN LAM FLASH TRAC NGHIEM

7 14 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Trong phạm vi bài viết này tôi sẽ hướng dẫn các bạn thiết kế (không giải thích mã lệnh cũng như cách tạo ra các đối tượng) một bài trắc nghiệm gồm một số chức năng cơ bản như: có thư vi[r]

(1)

HƯỚNG DẪN LÀM FLASH TRẮC NGHIỆM

Nhờ kĩ thuật đo lường tổng quát khả học tập cách đáng tin cậy, phương pháp trắc nghiệm khách quan sớm đưa vào giáo dục, hình thức trắc nghiệm sử dụng phổ biến Bài hướng dẫn giúp bạn thiết kế trắc nghiệm chương trình Flash 8, nhằm phục vụ cho việc giảng dạy, học tập củng cố kiến thức.Bạn sử dụng Flash để thiết kế trắc nghiệm có nhiều chức

Trong phạm vi viết hướng dẫn bạn thiết kế vài chức bản, thân bạn tự tìm hiểu thiết kế thêm cho chức khác nhằm phục vụ hiệu cho công việc

Đầu tiên, mở file Flash (New Flash Document), đặt tên soanCauTracNghiem.fla gồm layer (từ xuống): nut (chứa biểu tượng nút), Hoi_Dap (chứa câu hỏi câu trả lời), loiBinh (chứa đánh giá dành cho lựa chọn người làm trắc nghiệm), nen (chứa đối tượng tĩnh) cuối action (chứa mã lệnh điều khiển hoạt động tất đối tượng)

Trong phạm vi viết hướng dẫn bạn thiết kế (khơng giải thích mã lệnh cách tạo đối tượng) trắc nghiệm gồm số chức như: có thư viện câu hỏi, lấy ngẫu nhiên câu hỏi thư viện, có đảo thứ tự câu hỏi sau lần làm, cho biết số câu làm số câu làm tổng số câu sau kết thúc

Để thiết kế trắc nghiệm sử dụng Frames Timeline, nên hướng dẫn bạn thiết kế theo Frame từngLayer, Frame trống Layer (màu trắng) bỏ qua khơng đề cập đến

• Frame 1:

-Layer loiBinh : đặt tên load bảng Properties

-Layer action : tạo ngân hàng câu hỏi cách nhập đoạn code sau (đứng layer nhấn F9), câu hỏi có đáp án trả lời, câu hỏi đáp án nằm dấu nháy đơn, cách dấu sổ dọc, số câu hỏi không hạn chế:

var MangCauHoi = new Array (

‘Câu hỏi 1|Đáp án 1| Đáp án 2|Đáp án 3|Đáp án 4|Đáp án (đánh số)', ‘Câu hỏi 2|Đáp án 1| Đáp án 2|Đáp án 3| Đáp án 4|Đáp án đúng',

(2)

• Frame 2:

-Layer loiBinh : đặt tên reset

-Layer nut : tạo nút để bắt đầu trắc nghiệm, chọn nút nhấn F9 nhập đoạn code : on (press) {gotoAndPlay « qt »} ;

-Layer nen : tạo chữ bắt đầu hay câu để dẫn dắt vào trắc nghiệm -Layer action : nhập đoạn code :

stop();

var sodiem=0; var sothutu=0; var sodung=0; var dkPlay=false;

var maxCauhoi=MangCauhoi.length; var MangKiemtra=new Array();

// Khởi tạo mảng kiểm tra, giá trị true câu hỏi rồi, flase chưa hỏi

• Frame 3:

-Layer loiBinh : đặt tên qt

(3)

on (release, keyPress "x") {

// Kiểm tra có cho phép chọn câu trả lời hay không if (dkPlay) {

if (sodung == x) {gotoAndPlay("dung");} else {gotoAndPlay("sai");} }

}

-Layer Hoi_Dap : tạo Dynamic Text cách sử dụng công cụ Text, vào bảng Properties chọn Dymanic Text click giữ chuột trái kéo trường text hình chữ nhật kích thước tùy ý Ta cần tạo Dymanic Text câu hỏi (var : hoi); đáp án (var : dap1) ; đáp án (var : dap2) ; đáp án (var : dap3) ; đáp án (var : dap4) ; số câu làm (var : soCau) ; số câu (var : diem) Tạo lời bình [Chọn câu trả lời]

-Layer nen : tạo tên gọi khung viền trang trí cho Dymanc Text vừa tạo -Layer action : nhập đoạn code :

sothutu++;

if (sothutu>maxCauhoi) { gotoAndPlay("kt"); }

diem=sodiem;

soCau=sothutu - + " / " + maxCauhoi;

♦ Frame 4:

-Layer loiBinh : F6 (Insert KeyFrame - tạo frame có nội dung giống Frame trước) xuống bảng Properties đặt tên lam

-Layer nut : F5 (Insert Frame - Frame trước) -Layer Hoi_Dap : F5 - Layer nen : F5

-Layer action : nhập đoạn code : stop();

// Lay random mot cau hoi chua duoc hoi {

socau=Math.floor(Math.random()*maxCauhoi); } while (MangKiemtra[socau]);

MangKiemtra[socau]=true;

temp=MangCauhoi[socau].split('|'); hoi=temp[0];

dap1=temp[1]; dap2=temp[2]; dap3=temp[3]; dap4=temp[4]; sodung=temp[5];

// Cho phép người chơi click chọn câu trả lời dkPlay=true;

♦ Frame 5:

-Layer loiBinh : đặt tên dung viết lời bình [Chính xác !] -Layer Hoi_Dap : F5 - Layer nen : F5

-Layer nut : tạo nút trả lời đúng, chọn nút nhấn F9 nhập đoạn code : on (release, keyPress "") {

(4)

-Layer action : nhập đoạn code : stop();

dkPlay=false; sodiem+=1;

♦ Frame 6:

-Layer loiBinh : đặt tên sai viết lịi bình [Khơng xác !] -Layer Hoi_Dap : F5 - Layer nen : F5

-Layer nut : tạo nút trả lời sai, chọn nút nhấn F9 nhập đoạn code : on (release, keyPress "") {

gotoAndPlay("qt");} -Layer action : stop();

dkPlay=false;

(5)

-Layer loiBinh : đặt tên kt

-Layer nut : tạo nút thực lại trắc nghiệm, chọn nút nhấn F9 nhập đoạn code : on (release, keyPress "") {

gotoAndPlay("reset"); }

-Layer Hoi_Dap : tạo Dynamic Text số câu (var : diem)

-Layer nen : tạo tên gọi khung viền trang trí cho Dymanc Text vừa tạo -Layer action :

stop(); dkPlay=false; diem=sodiem;

Như kết thúc hướng dẫn Q Thầy Cơ bạn làm thử Rất mong góp ý q Thầy Cô bạn Chúc thành công vui vẻ công việc

Trong hướng dẫn thiết kế trắc nghiệm trước ( P1, P2 ) ta

đã thiết kế số code sử dụng frames nút, ta

sẽ đề cập giải thích đoạn code theo tiến

trình thiết kế, tức theo Frame từ đến 7.

♣Frame 1: layer action:

var MangCauHoi = new Array (

‘Câu hỏi 1|Đáp án 1| Đáp án 2|Đáp án 3|Đáp án 4|Đáp án (đánh số)', ‘Câu hỏi 2|Đáp án 1| Đáp án 2|Đáp án 3| Đáp án 4|Đáp án đúng',

‘Câu hỏi 3|Đáp án 1| Đáp án 2|Đáp án 3| Đáp án 4|Đáp án đúng' ) ;

// Các câu trả lời cách dấu |, cuối số đáp án

// Tạo ngân hàng câu hỏi cách tạo mảng (Array), số câu hỏi không hạn chế

Mảng (Array) phần tử chứa biến với nhiều giá trị khác nhau, giống trường lớn, thân trường có tên riêng lại chứa khối lớp, khối lại chứa nhiều lớp, lớp lại có nhiều học sinh khác toàn liệu không tách rời Việc sử dụng mảng hữu dụng cho phép chứa thơng tin có liên quan đến nhau, trật tự cụ thể, cho phép tạo mục (vị trí phần tử mảng, đề cập phần bên dưới) đồng thời liên kết thông tin

♣Frame 2:

-Layer nut :

on (press) {gotoAndPlay « qt »} ;

(6)

on (press) {gotoAndPlay (x)} ; có chỉnh sửa câu lệnh số hữu dụng câu lệnh số nhiều khơng phụ thuộc số thứ tự x Frame

-Layer action :

stop(); // Lệnh dừng chơi Frame var sodiem=0; // Giá trị ban đầu số điểm var sothutu=0; // Giá trị ban đầu số thứ tự var sodung=0; // Giá trị ban đầu đáp án var dkPlay=false; // Khởi tạo biến cho phép trả lời

var maxCauhoi=MangCauhoi.length; // Số câu hỏi độ dài mảng var MangKiemtra=new Array();

♣Frame 3:

-Layer nut : tạo nút cho đáp án, với x=1 ; ; ; ứng với nút đáp án: on (release, keyPress "x") {

// Kiểm tra có cho phép chọn câu trả lời hay không if (dkPlay) {

if (sodung == x) {gotoAndPlay("dung");} else {gotoAndPlay("sai");} }

}

// Khi click chuột (nhấn x) vào nút có so sánh đáp án số thứ tự x nút, trùng khớp cho phép chạy Frame để tiếp tục, không trùng khớp chạy Frame sai để tiếp tục

-Layer Hoi_Dap : tạo Dymanic Text câu hỏi (var : hoi); đáp án (var : dap1) ; đáp án (var : dap2) ; đáp án (var : dap3) ; đáp án (var : dap4) ; số câu làm (var : soCau) ; số câu (var : diem)

Dymanic Text trường xuất văn bản, lấy giá trị biến mà ta khai báo (var) hiển thị trường (diện tích hình chữ nhật mà ta tạo ra), ta thiết lập thuộc tính cho biến hiển thị (sẽ đề cập sau) Do đó, muốn hiển thị biến bạn cần khai biến, gán cho giá trị tạo cho Dymanic Text

-Layer action :

sothutu++; // Số thứ tự tăng dần lên lần đơn vị if (sothutu>maxCauhoi) {

gotoAndPlay("kt"); }

// Nếu số thứ tự lớn số câu hỏi chạy Frame kết thúc

diem=sodiem; // Số câu số điểm, giá trị số điểm có phần sau soCau=sothutu - + " / " + maxCauhoi;

// Số câu làm số thứ tự - số thứ tự giá trị 0, bạn sửa lại giá trị ban đầu số thứ tự số câu không cần phải -1 nữa, hiển thị dạng số câu trả lời / tổng số câu hỏi

♣Frame 4: layer action :

stop();

// Lấy ngẫu nhiên câu hỏi từ ngân hàng câu hỏi { socau=Math.floor(Math.random()*maxCauhoi); } while (MangKiemtra[socau]);

MangKiemtra[socau]=true; temp=MangCauhoi[socau].split('|'); hoi=temp[0]; dap1=temp[1]; dap2=temp[2]; dap3=temp[3]; dap4=temp[4]; sodung=temp[5];

// Cho phép người chơi click chọn câu trả lời dkPlay=true;

(7)

máy không lấy giá trị mà gần Một số cách lấy ngẫu nhiên khác: Math.ramdon()*10; // Lấy ngẫu nhiên từ đến 10

Math.ramdon()*10+1; // Lấy ngẫu nhiên từ đến 11

Math.floor(Math.ramdon ()*10+1); // Lấy ngẫu nhiên từ đến 10 Hàm Math.floor cho phép làm tròn số xuống số nguyên gần

Sau lấy ngẫu nhiên kiểm tra câu hỏi hỏi chưa cách so sánh với mảng kiểm tra, thông qua số thị (số ngoặc vuông) MangKiemTra[socau] = true tức câu hỏi hỏi phân tích hiển thị thành phần câu hỏi lên Dymanic Text, câu hỏi ban đầu ta soạn chia temp ngăn cách dấu |, 0, ta hiển thị temp vào Dymanic Text tương ứng thông qua việc gán biến

♣Frame 5:

-Layer nut :

on (release, keyPress "") { gotoAndPlay("qt"); }

// Khi nhấp vào nút (hoặc nhấn Space) quay Frame qt -Layer action :

stop();

dkPlay=false; // Kết thúc

sodiem+=1; // Ở Frame số câu tăng thêm đơn vị

Như ta hoàn thành việc thiết kế code Code frame tương tự frame qua Rất mong đóng góp ý kiến bạn Chúc vui vẻ thành công công việc

Ngày đăng: 05/03/2021, 12:54

TỪ KHÓA LIÊN QUAN

w