PHN I. M U 1
1. Lý do chn tài 1
2. Mu 2
ng nghiên cu 2
4. Nhim v nghiên cu 2
u 2
6. Cu trúc khoá lun 2
7. K hoch thc hin 2
PHN II. NI DUNG 3
u phn mm Adobe Flash CS5 3
1. Khng phn mm 3
2. Giao din 4
3. ActionScript trong Flash 5
4. To chuyng bng cách vit mã lnh 7
ng dng Adobe Flash CS5 thit k mt s thí nghim mô
pht lý 12 11
1. Thí nghim v con lc lò xo 11
2. Thí nghim v con l 15
3. Con l
(
Ngày nay công ngh thông t thành mn tr giúp
c lc cho giáo viên, hc sinh trong quá trình dy và hc
mô phng li các thí nghim vt lý, hing vt lý nhm giúp hc sinh hình
c mt cách d dàng nht v các hing vt lý t gii
quyc nhp phi trong vic truyi kin thc,
mà nguyên nhân là hc sinh không th c hing.
Hin nay có rt nhiu phn mm có th n ln các
phn mm mô phng hi u xut phát t c ngoài nên nhiu phn
không sát va chúng ta và không phi hing vt lý nào
th hi ci dy l
khc phc nh tôi u phn mm Adobe Flash, là mt
phn mm rt phù hp cho vic mô phng các hing vt lý.
Adobe Flash là phn mm v hình cho phép to hình ng, có các hiu ng
chuyng và bii, l to ra các hong mô ph
mt cách ng, hp dn. Flash là công c mnh nht có th to ra hot hình ln
mô phi hc có th ng trong các file flash mô
phng và to ra các hot hình (animation) trong khi thit k các thí nghim. File
flash có th kt hp d dàng vi Violet ho to thành mt bài ging
hoàn chnh. Và vi s h tr m file flash ca hu ht các trình duyt web hin
c sinh có th t làm, t thc hành, t
hoàn thành các yêu cu ca i thit k thit k thí nghim o bng vi
tác trc ting trong file flash mô phng. Vi phn mm Adobe
Flash, chúng ta có th thit k , thí nghim hoc tt c nhng
yu t dy vt lý cho hc sinh.
Adobe Flash có rt nhiu phiên bn, phiên bn sau là phiên bn nâng cp ca
phiên bc và có thêm nhiu ci tin. Lua tôi s dng phiên bn
CS5 là phiên bn xua Adobe Flash. Và vi vic la chn
khóa lun “Ứng dụng Adobe Flash CS5 thiết kế một số thí nghiệm mô phỏng
trong chương trình vật lý lớp 12” ng nghiên cu. Tôi mong mun
2
3
Hii qua rt nhiu phiên bn khác nhau. Vi phiên
bn CS5, xu sung vào nhi
i dùng thit k và lp tri mc dích tn dc
nhng nâng cp ca phiên sau tác gi ca lu n phiên bn CS5 ca
Adobe Flash v là Adobe Flash Professional CS5 trên nn giao din
ng nghiên cu.
t thành công phn mm vào máy tính ta có th khng phn
mm bng nhiu cách:
Khởi động từ Star menu (bắt
đầu):
Trong giao din Star menu di
chuyn và ch n bi ng
ca phn mm Adobe Flash
Professional CS5 ( 1)
click chut trái hoc nhn Enter
trên bàn phím.
Khởi động từ hộp thoại tìm kiếm:
Di chuyn con ch chut
vào góc màn hình bên phi ca
màn hình Deskop n
chsearch trên window
8, vit vào hp thoi tìm kim
dòng ch n
vào bi ng Adobe Flash
(hình 3)
(hình 5)
5
Toolbox (hp công c)
Toolbox bao gm các công c v hình, chnh sa hì
Panels (bng ch
Các bng (panel) c nhng công vic x ng trên
sân khnh (Align), chnh kiu màu (Color Mixer, Color Swatches),
các phép bin hình: xoay hình, phóng to thu nh
Có th cho gi các bng t menu Window.
Timeline (bng tin trình)
Bng tin trình t chu kin v v thi gian cho phim.
Layers (các lp)
Giúp t chc trt t i cng hình v.
n).
các tài nguyên cn phim.
Properties (bng thuc tính).
Cho ta bit thuc tính c ng (màu nn, t hình nh, kích c
hình nh (màu nét, màu n rng nét ), các thông s trong các
chuyng (t nhanh dn hay chm dn, quay theo chi
3. ActionScript trong Flash
Mã lnh ActionScript (code AS) là mt dng ngôn ng lc xây
dng trong Flash. ta hin bng ting
Anh.
* Thứ nhất, ta cần biết là AS sẽ được viết ở đâu? Có chúng ta có th vit
AS, là:
- Trên Timeline, bt k Frame nào
- Trên nút (button), có AS thì nút m hot
ng khi có chut hong lên nó mà thôi.
stop (); // dng ti frame này.
nextFrame (); // tin ti frame tip theo.
prevFrame (); // lùi l
nextScene (); // tin ti phân cnh tip theo.
prevScene (); // lùi li phân c
(hình 6)
7
stopAllSounds (); // di âm thanh ti frame này.
- i vi AS trên nút ng có câu lnh dng: on (s king };
tc là sau s king trong {} s c thc hin. Mt s code
dùng trên nút là:
ng ging trên TimeLine}; // press là s kin nhn chut
lên nút.
ng ging trên TimeLine}; // release là s kin nhn
chut lên nút và sau khi th chung s c thc hin.
- i vi AS trên MC ng có câu lnh dng: onClipEvent (s kin)
ng};
Mt s s kin dùng trên MC là: load (khi MC chn
phim Flash bu chy), mouseDown (nhn chut lên MC), mouseMove (di
chuyn chu chut tr
Mt s u có th nhn và kéo MC),
stopDrag (dng nhn và kéo MC), this._x (cho bit t x ca MC), this._y
(cho bit t y cng quay MC mt góc r
+= V (quay MC theo mt t
a (th hi m ca MC theo t l a% vi 0< a <100), this._visible = v (th
hi trong sut ca MC theo tì l
lnh trên có th thay bng câu lnh _parent.tên MC. Ví d _parent.xedap._x (
cho bit t x cp).
Kt hp s king vào cú pháp trên ta s có nhn code
onClipEvent (enterFrame) {this._x += 10;} // khi chy frame thì MC s
vi t 10 theo chiu (+) (trái qua phi)
onClipEvent (enterFrame) {this._x -=10;} //khi chy frame thì MC s
vi t 10 theo chiu (-) (phi qua trái)
- Theo phương đứng thì dùng 1 trong 2 đoạn code sau:
onCLipEvent (enterFrame) {this._y +=10;} //khi chy frame thì MC s
vi t 10 theo chiu (+) (trên xung)
onClipEvent (enterFrame) {this._y -= 10;} // khi chy frame thì MC s
vi t 10 theo chiu (-i lên)
(hình 7)
9
- Theo một phương bất kỳ, khi này ta cần biết hàm của y theo x : y = f(x) sau đó
dùng đoạn code có cấu tạo như sau:
onClipEvent (enterFrame) { this._x += speed ; this._y =f (this._x) ;}
VD: khi mun MC chuyng lên, tc là y = f(x) = x,
n code:
onClipEvent (enterFrame) { this._x += 10 ; this._y = this._x ;}
//khi chy frame thì MC s i t 10 theo chiu trái qua phi và
ng lên góc 45
0
4.3. i vi chuyng thng chm du
- Theo phương ngang thì trước tiên ta cần đặt vật ở vị trí ban đầu, sau đó cần
xác định vị trí cuối cùng rồi dùng đoạn code sau:
onClipEvent (load) {
this._x = 0 ; this._y = 50; speed = 20; // mt bin tên speed, n
t di chuyn ca MC
nh v u là x = 0 và y = 50, có th b n code này nt
vt v u
this._x = 0 ; this._y = 0 ; t = 0; v = 50; g = 9.8;}
onClipEvent (enterFrame) {
t = t + 0.1; this._x = v*t ; this._y = 1/2*g*Math.pow(t, 2);} // hàm Math.pow
(s, s n ly) 11
lò xo
* Mm: Khng ca con lc lò xo v mng lc hc
u ki vt v trí cân bng (hay trng thái ca lò xo)
+ Chuyng ca vt khi kéo vt ra khi v trí cân bng.
+ Các lc tác dng lên v ln ca chúng
* Nhng hn ch khi s dng thí nghim truyn thng
+ Hc sinh ch có th c chuyng ca con lt
c s i v ln ca các lc tác dng, s
i ca vn tc, gia tc trong quá tng ca con lc
+ R có th dng con lc ti thm b kho sát con lc v mt
ng lc hc
c các giá tr ci vic phi thay lò
xo, và vt nng, s rt mt thi gian, và hr nhn ra s thay
i v t ng ca con lc
m ca thí nghim flash
+ Tr s di vi giáo viên và hc sinh
+ Giúp hc sinh có th c mt cách d dàng nht v chuyng
// khi bm và gi v kéo v
_parent.vat.onPress = function(){
_parent.vat.startDrag(true, x0 - A, y0, x0 + A, y0); ha = false; }
// khi th vt ra
_parent.vat.onRelease = function(){ _parent.vat.stopDrag();
biendo = _parent.vat._x - x0; nh
ha = true; _parent.bienam._visible = true; _parent.bienduong._visible = true;}
_parent.vat.onReleaseOutside = function(){
_parent.vat.stopDrag(); biendo = _parent.vat._x - x0;
ha = true; _parent.bienam._visible = true; _parent.bienduong._visible = true;}
- Bên ngoài MC trng, nhn F9 ri vit các câu lnh sau:
//ti thu
onClipEvent (load){ t = 0; // thu
(hình 8)
13
x0 = _parent.vat._x; y0 = _parent.vat._y;// t u ca vt
u ca lò xo
ym = _parent.khoiluong._y; // t u ci m, k
hvat = _parent.vat._height; // u ca vt
ru ca vt
ln nht
//khi bu chy Frame
onClipEvent (enterFrame){
i kh cnh và khi kéo vt ra
khi vtcb thì thuc tính c
m = 0.4*(ym + 60 - _root.khoiluong._y)/10;// khng ca vt
k = 80*(ym + 60 - cng ca lò xo
w = Math.sqrt(k/m); // tn s góc
_parent.vat._height = 30 + 7*m;_parent.vat._width =30 + 7*m;//kích c ca vt
if (f > 1){ if ( j == true){ _parent.vantoc._visible = true;//hin véc-n tc
_parent.chuv._visible = true;}}// hin th ch v
_parent.lucf._x = e; _parent.chuf._x = e + b;//t x ca véc-c F và ch F
_parent.giatoc._x=e;_parent.chua._x=e + c;//t x ca véc-c và ch a
_parent.lido._x = e; //t x c
_parent.loxo._width = e - x0 + l0; dài ca lò xo
_parent.trongluc._x = e; _parent.phanluc._x = e;
_parent.lido._visible = true; //
d = _parent.lido._xscale = e - dài c
if (d > 0){ _parent.xduong._visible = true; _parent.xam._visible = false;}
//hin x > 0 và n x < 0
if (d < 0){ _parent.xduong._visible = false; _parent.xam._visible = true;}}}
//n x > 0 và hin x < 0
- Tu tiên nhn F9 và chèn mã lnh sau:
g = false; h = true; trongluc._visible = g; phanluc._visible = g; lucf._visible = g;
giatoc._visible = g; vantoc._visible = g; chuv._visible = g; xam._visible = g;
xduong._visible = g; bienam._visible = g; bienduong._visible = g; lido._visible =
g; cauhoi._visible = g; // các thuc tính n (false) và hin (true) ca i ng
15
- Chn nút n/hin các lc tác dng và gia
tc, nhn F9 và chèn mã lnh sau:
on (press){
trongluc._visible = !trongluc._visible;
lucf._visible = !lucf._visible;
phanluc._visible = !phanluc._visible;
giatoc._visible = !giatoc._visible;}
Nh xem kt qu (hình 9)
2. Thí nghim v con l
* Mm: Kho sát con lc
khác nhau), to các thành phn cn
có khác trên Stage
To mt MC trng (nhn Ctrl + F8)
kéo ra Stage
Kt qu (hình 10)
Bước 3: Thc hin vit các mã lnh
- Bên trong MC trng:
// khi bm nút play
_parent.chay.onPress = function(){ ha = true; batdaulai = false;
//v qu o
_parent.createEmptyMovieClip("quydao", 1);
with (_parent.quydao){lineStyle(1, 19777215, 100);
moveTo(_parent.trongluc._x, _parent.trongluc._y);}}
_parent.dung.onPress = function(){ha = false;}//khi bm nút tm dng
_parent.batdaulai.onPress = function(){batdaulai=true;ha = true;}//khi bm nút stop
- Bên ngoài MC trng:
//ti thu
onClipEvent(load){
g = 9.8;//gia tc trng
A = -30; góc, quay theo chiu ngc ching h
api = -A*Math.PI/180; //chuyn sang radian
(hình 10)
17
l = _parent.soiday._height; dài ca s dây
_parent.soiday._rotation = A;// s dây quay theo góc A
x0 = _parent.vat._x; y0 = _parent.vat._y;// t u ca vt nng
// t ca vt sau khi s dây quay mt góc A
xvat = _parent.vat._x = x0 + l*Math.sin(api);
yvat = _parent.vat._y = y0 - l + l*Math.cos(api);
i = Math.cos(2*Math.PI*t);//bin i vi các giá tr t -n 1
a = A*i; góc i t -n a theo thi gian
api = -A*i*Math.PI/180; góc theo radian i t -n api
//ting theo thi gian, thì các thuc tính ca
ng s nh da vào các mi liên h gia chúng
_parent.soiday._rotation = a;//si dây quay v i a
xvat=_parent.vat._x =x0 + l*Math.sin(api);//t x ca vt theo thi gian
yvat = _parent.vat._y = y0 - l + l*Math.cos(api);//t y ca vt theo thi gian
_parent.trongluc._x=xvat;_parent.trongluc._y=yvat;//t ca véc-ng
lc theo thng
lp = _parent.trongluc._yscale; dài ca véc-ng lc theo thi gian
_parent.lucpn._x = xvat; _parent.lucpn._y = yvat; //t ca véc-
phn trng lc pn theo thi gian
_parent.lucpn._rotation = a;// thành phn pn quay v i a
lpn =_parent.lucpn._yscale =lp*Math.cos(api); dài ca véc-n
pn theo thi gian
//t ca ch pn theo thi gian
_parent.chupn._x = xvat + 1.3*lpn*Math.sin(api);
_parent.chupn._y = yvat + lpn*Math.cos(api) + 30;
là t ca thành phn pt theo thi gian
_parent.lucpt._x = xvat; _parent.lucpt._y = yvat;
_parent.lucpt._rotation = a;// thành phn pt quay v i a
lpt = _parent.lucpt._xscale = lp*Math.sin(api); dài ca véc- thành
phn trng lc pt theo thi gian
//t ca ch pt theo thi gian
_parent.chupt._x = xvat - 1.6*lpt*Math.cos(api);
19
_parent.chupt._y = yvat + lpt*Math.sin(api) + 15;
//t ca véc- theo thi gian
- Trong nút n:
on(press){
trongluc._visible = false; luct._visible = false;
lucpn._visible = false; lucpt._visible = false;
noipn._visible = false; noipt._visible = false;
chupt._visible = false; chupn._visible = false;
chut._visible = false}
Nh xem kt qu (hình 11):
(
)
* Mm: Kho sát con l mng lc hc
+ Chuyng ca con l
+ Các lc tác dng lên con lng
* Nhng hn ch khi s dng thí nghim truyn thng
+ Hc sinh ch có th c chuyng ca con l
r c s i v ln ca các lc tác dng, s
i ca vn tc, gia tng ca con lc
các thành phn ca trng lt tên là nut2
Kt qu (hình 12)
Bước 2: Thc hin vit các mã lnh
- Ti u tiên
t1 = 0; t2 = 0;//hai mc thu
x0 = vat._x; y0 = vat._y;//t u ca qu nng
xt = chut._x; yt = chut._y;//t u ca ch T (l
dài ca l1, l2
lp = tro dài ca véc-ng lc
//ng trng lc, l T; thành phn lc Pt, Pn; ch Pt,
ng k ni gia trng lc và các thành phn Pt, Pn; nút các thành phn
ca trng lc; các ch n thông tin ghi nh, câu hi, nút play th hai
trongluc._visible = false; luct._visible = false; chut._visible = false;
lucpt._visible = false; lucpn._visible = false; chupn._visible = false;
chupt._visible = false; noipt._visible = false; noipn._visible = false;
nut2._visible = false; gocb._visible = false; goca._visible = false;
ghinho._visible = false; cauhoi._visible = false; unpausebutton2._visible = false;
(hình 12)
22
g = 9,8;// gia tc trng
w1 = 30*Math.sqrt(g/dodail1);//tn s
w2 = 30*Math.sqrt(g/dodail2);//tn s
ng batdau()
function batdau (){ t1 = 0; t2 = 0;}//mc thu
ng batdaulai ()
function batdaulai() { t1 = 0; t2 = 0;
vat._x = x0; vat._y = y0;//vt tr v v u
//thc hing
dao_dong1(); dao_dong2 (); tamdung ();
dài ca thành phn lc Pn
//t theo thi gian ca ch Pn
chupn._x = xvat + 1.3*lpn*Math.sin(api);
chupn._y = yvat + lpn*Math.cos(api) + 30;
dài ca li gian
dài ca thành phn lc Pt
//t theo thi gian ca ch Pt, ch T
chupt._x = xvat - 1.6*lpt*Math.cos(api);
chupt._y = yvat + lpt*Math.sin(api) + 15;
chut._x = xvat - 0.5*lpn*Math.sin(api);
chut._y = yvat - lpn*Math.cos(api)/1.1;
dài cn ni trng lc vi thành phn lc Pn
dài cn ni trng lc vi thành phn lc Pt
goca._x = x0 + dodail1/6*Math.sin(api);}//t x ca ch
//hoc nu i1 không l
else { l1._rotation = 0;//si dây l1 tr v v u
batdau(); //thc hing batdau ()
timing1=false;timing2=true;}}//bin tic gán bng false, true
ng dao_dong2 () bao gm
function dao_dong2() { unpausebutton2._visible = true;//hin nút play th hai
unpausebutton1._visible = false;//n nút play th nht
l1._visible = false;//n si dây l1