Tạo các đối tƣợng trên Stage

Một phần của tài liệu tên đề tài: ứng dụng phần mềm macromedia flash 8.0 trong dạy học môn vật lý (Trang 86 - 95)

PHẦN II: NỘI DUNG I. TÌM HIỂU NGÔN NGỮ LẬP TRÌNH MACROMEDIA FLASH

III. ỨNG DỤNG PHẦN MỀM TRONG MÔ PHỎNG CÁC THÍ NGHIỆM VẬT LÝ

III.2. Mô phỏng dao động của con lắc lò xo

III.2.2. Tạo các đối tƣợng trên Stage

Mô phỏng này gồm có 1 Scene, trong Scene có 1 Layer, Layer này có 4 Frame.

Frame 1: rỗng, khi ta nhấn nút “Đặt lại” sẽ thực hiện lại từ Frame này, đặt các giá trị về giá trị ban đầu.

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 79 Frame 1 không có mã lệnh.

Cửa sổ Frame 1 như sau:

Frame 2: Rê các đối tượng từ thư viện vào trong Stage.

Cửa sổ của Frame này như sau:

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 80 Tạo các Text trên Stage:

Text tĩnh (Static Text): các text này sẽ có nội dung cố định trong quá trình dao động.

Chứa các nội dung: thời gian, số chu kì, F, T, biểu thức năng lƣợng E(J), VTCB, (N), (N/m), (kg), (s), (J).

Text động (Dynamic Text): các text này có nội dung thay đổi, dùng để hiển thị các nội dung: Giá trị của thời gian_ Trong trường Var ta đặt là tg. Giá trị của số chu kì_ Trong trường Var ta đặt là n. Giá trị của lực_ Trong trường Var ta đặt là f. Giá trị của chu kì_

Trong trường Var ta đặt là ck. Giá trị của năng lƣợng động năng_ Trong trường Var ta đặt là ed. Giá trị của năng lƣợng thế năng_ Trong trường Var ta đặt là et. Giá trị của năng lƣợng cơ năng_ Trong trường Var ta đặt là e.

Text nhập (Input Text): các text này cho phép nhập vào các giá trị cho các đại lượng như:

Giá trị nhập của độ cứng lò xo_ Trong trường Var ta đặt là k. Giá trị nhập của khối lƣợng quả cân_ Trong trường Var ta đặt là m.

Trong Frame này chúng ta sẽ tạo mã lệnh gắn kèm với các đối tượng để thực hiện mô phỏng. Mở bảng điều khiển Action để nhập mã lệnh.

stop();

//Dừng ở Frame đầu tiên t=0;

//Đặt thời gian lúc đầu t=0 loxo._y = gia._y;

loxo._x = gia._x;

//Gắn lò xo vào giá

setProperty(“luc”,_visible,false);

//Cho ẩn vectơ lực đàn hồi

loxo.onEnterFrame = function(){

loxo._height = can._y-loxo._y;

can._x = loxo._x;

};

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 81 //Gắn quả cân vào lò xo trong quá trình dao động

can.onPress = function(){

startDrag(this,true);

_root.hi = true;

};

//Khi quả cân được nhấn vào thì có thể rê được và biến hi=true can.onRelease = function(){

_root.hi = false;

stopDrag();

gotoAndPlay(3);

};

//Khi quả cân được nhả ra thì ngừng rê được và biến hi=false, lúc này sẽ sang Frame 3 để thực hiện dao động

var keo: Object = new Object();

//Tạo đối tượng để nhận hành động keo.onMouseMove = function(){

//Hành động này xảy ra khi di chuyển chuột if(_root.hi){

//Nếu biến hi=true thì mới hiện tiếp hành động can.startDrag(can);

//Rê quả cân theo chuột

setProperty(“luc”,_visible,true);

//Hiện vectơ lực đàn hồi b=(can._y-canbang._y)/5;

//Khoảng cách giữa quả cân và vị trí cân bằng a=Math.abs(b)/100

//Biên độ dao động f=k*a;

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 82 //Tần số dao động

e=1/2*k*a*a;

//Năng lượng dao động can._x=loxo._x;

//Gắn quả cân vào lò xo trong quá trình dao động luc._y=can._y;

luc._yscale=k*(can._y-canbang._y)/70;

}updateAfterEvent();

};

//Cho vectơ lực thay đổi độ lớn theo vị trí Mouse.addListener(keo);

//Đưa hành động vào đối tượng chuột Cửa sổ Action của Frame 2 như sau:

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 83 Frame 3: Cửa sổ Frame này như sau:

Ở Frame này sẽ có thêm 2 nút lệnh có sẵn trong thư viện: Nút 1 dừng ; nút 2 tiếp tục

Mã lệnh cho nút lệnh dừng như sau:

stop();

dung.onPress = function() { _root.stop();

gotoAndStop(2);

};

Cửa sổ Action cho nút này như sau:

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 84 Mã lệnh cho nút lệnh tiếp tục như sau:

tiep.onPress = function() { _root.play();

gotoAndStop(1);

};

Cửa sổ Action cho nút này như sau:

Nhập mã lệnh cho các đối tượng trong Frame này. Mở bảng điều khiển Action và nhập các mã lệnh sau:

//Biến tăng mỗi 1/30s t=t+1/30;

//Biến tăng mỗi giây tg=int(t);

//Số chu kì n=int(t/ck);

//Phương trình dao động

ld=b*Math.sin(w*t+Math.PI/2);

//Đưa phương trình dao động vào hòn bi setProperty(“can”,_y,canbang._y+5*ld);

//Cho lò xo co giãn theo phương trình dao động loxo._height=can._y-loxo._y;

//Hiển thị vectơ lực đàn hồi

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 85 luc._y=can._y;

luc._yscale=k*(can._y-canbang.+y)/70;

//Tính lực đàn hồi f=Math.abs(ld/100)*k;

//Tính động năng

ed=1/2*m*(-b*w*Math.cos(w*t+Math.PI/2))*(- b*w*Math.cos(w*t+Math.PI/2))/10000;

//Tính thế năng et=1/2*k*ld/10000;

Cửa sổ Action của Frame 3 như sau:

Frame 4: //Rỗng, khi gặp Frame này chương trình sẽ trở lại Frame 3, hàm này có chức năng tăng biến t lên 1/30s.

Mã lệnh Action cho Frame này như sau:

gotoAndPlay(3);

Để bắt đầu chay chương trình, nhấn tổ hợp phím Ctrl+Enter.

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 86 Cửa sổ mô phỏng xuất hiện như sau:

Nhập khối lượng của quả cân và độ cứng lò xo vào ô text nhập.

Nhấn nút nhập. Chương trình sẽ tính toán và hiển thị giá trị của chu kì T.

Nhấn vào quả cân và rê khỏi vị trí cân bằng. Lúc này ta sẽ có giá trị biên độ dao động A được hiển thị ở text động mà ta đã tạo. Đồng thời sẽ hiển thị giá trị của lực, năng lượng. Khi ngừng rê, con lắc lò xo bắt đầu dao động. Lúc này sẽ hiển thị thêm đồ thị dao động của con lắc lò xo.

Để ngừng dao động, nhấn vào nút dừng. Để tiếp tục ta nhấn nút tiếp tục.

Để thực hiện lại mô phỏng ta nhấn nút đặt lại. Sau đó lặp lại các bước trên.

SVTH: Lý Trọng Hiếu – MSSV: 1100215 Trang 87 Màn hình dao động con lắc lò xo như sau:

Một phần của tài liệu tên đề tài: ứng dụng phần mềm macromedia flash 8.0 trong dạy học môn vật lý (Trang 86 - 95)

Tải bản đầy đủ (PDF)

(140 trang)