Một số câu lệnh ActionScript

Một phần của tài liệu Ứng dụng của flash trong thiết kế mô hình dạy học (Trang 31 - 38)

Chú ý: ActionScript phân biệt chữ hoa chữ thường, vì vậy khi nhập câu

lệnh cần nhập đúng chữ hoa chữ thường.

6.3.1 Các lệnh điều khiển bảng tiến trình

Câu lệnh Ý nghĩa

gotoAndPlay(frame) Đến khung hình frame và chạy tiếp từ khung hình này gotoAndPlay(scene,frame) Đến khung hình frame ở cảnh scene và chạy từđó gotoAndStop(frame) Đến khung hình framevà dừng lại

gotoAndStop(scene,frame) Đến khung hình frameở cảnh scene và dừng lại nextFrame() Đến khung hình tiếp theo và chạy từđó

prevFrame() tQuay lại là khung hình 1 thì không làm gì cại khung hình sau và chạy từảđó. Nếu khung hình hiện nextScene() Đến khung hình 1 của cảnh tiếp theo và chạy từđó

prevScene() Đến khung hình 1 của cảnh trước và chạy từđó play() Chạy tiếp từ frame hiện tại

stop() Dừng lại ở frame hiện tại

6.3.2 Một số lệnh kiểm soát các âm thanh đưa vào

Câu lệnh Ý nghĩa

Khai báo một biến có kiểu Sound: var my_sound:Sound = new Sound();

Một số phương thức, cách sử dụng: my_sound.<phương thức>

attachSound(idName) Gán âm thanh có my_sound định danh (xem lại phần 4.2) là idName cho getVolume() Lấy âm lượng của my_sound

loadSound(url,bool)

Tải âm thanh từ bên ngoài có đường dẫn là url, giá trị bool quy

định âm thanh được tải lên là âm thanh dòng (bool=true) hay âm thanh sự kiện(bool=false)

Âm thanh dòng: là âm thanh vừa tải vừa phát.

Âm thanh sự kiện: là âm thanh chỉđược phát khi việc tải lên

đã hoàn thành

setVolume(volume) Thivolume (0<= volume <=100) ết đặt âm lượng cho âm thanh my_sound có giá trị là start() Phát âm thanh

stop() Dừng phát tất cả âm thanh

stop(idName) Dừng phát các âm thanh có định danh là idName

Các sự kiện, cách dùng:

my_sound.<sự kiện> = function(){ //Các lệnh xử lý khi sự kiện xảy ra }

onLoad(bool) Tải âm thanh, bool = true khi việc tải âm thanh đã hoàn thành onSoundComplete() Âm thanh đã phát xong

Ví dụ: Đoạn mã lệnh sau đây thể hiện việc tải âm thanh có định danh là

sound lên một khung hình, phim chỉ chạy sang frame tiếp theo khi âm thanh đã

phát xong (viết trong một khung hình khóa) stop();

var my_sound:Sound = new Sound(); my_sound.attachSound(‘sound’); my_sound.start();

my_sound.onSoundComplete() = function(){ nextFrame();

}

6.3.3 Một số lệnh kiểm soát các button

Câu lệnh Ý nghĩa

Phương thức

getDepth() Giá trtại ị trả về là một số nguyên cho biết độ sâu của button hiện

Một số thuộc tính

_alpha là 100. Khi alpha = 0 thì không nhìn thĐộ trong suốt, giá trị nằm trong đoạn [0,100]. Giá trấy được button ị mặc định enabled Cấp quyền thao tác được trên button. Giá trị mặc định là true

_height Độ cao của button (đơn vị là pixel) _width Độ rộng của button

_name Lấy tên của button

_parent Lấy tên của đối tượng chứa button _rotation Góc quay button (đơn vị là độ)

tabIndex Tùy chỉnh thứ tự của button khi nhấn phím Tab

_visible Thuộc tính nhìn thấy được của button. Mặc định là true _x

_y Tọa độ (x,y) của button _xmouse

_ymouse Tọa độ (x,y) của con trỏ hiện tại so với button _xscale Tỉ lệ co giãn theo trục x

_yscale Tỉ lệ co giãn theo trục y

Một số sự kiện

onDragOver Nhấn và kéo chuột bên ngoài button sau đó kéo trên button onKeyDown() Nhấn một phím nào đó

onKeyUp() Thả phím vừa nhấn

onKillFocus(newFocus) Mất tiêu điểm từ bàn phím hoặc chuột onPress Nhấn lên button (chưa thả)

onRelease Nhấn và thả chuột ra khỏi button onRollOut Chuột rời khỏi button

onRollOver Chuột di chuyển trên button onSetFocus(oldFocus) Nhận tiêu điểm

6.3.4 Một số lệnh kiểm soát MovieClip

Câu lệnh Ý nghĩa

Một số phương thức(Giả sử ta có một MovieClip (MC) là my_mc)

attachMovie(idName, newName,depth) Gán MC có với tên mới là địnewnamenh danh là và có idNameđộ sau là cho my_mc depth createEmptyMovieClip(newName, depth) Tạo một MC trống

duplicateMovieClip(newname,depth) Sao chép MC my_mc với tên mới và độ sâu getDepth() Lấy độ sâu của my_mc

getNextHighestDepth() Lấy độ sâu cao nhất

gotoAndPlay([scene,]frame) khác) và chChuyển my_mc ạy từđếđó n frame (có thể trong scene

gotoAndStop([scene,],frame) Chuykhác) và dển my_mc ừng lại đếởn đó frame (có thể trong scene loadMovie(url, target) Tải một MC có đường dẫn là url lên một target

nextFrame() Chuyển đầu phát đến khung hình tiếp theo prevFrame() Chuyển đầu phát đến khung hình trước play() Chuyển đầu phát đến bảng tiến trình của MC stop() Dừng MC hiện tại đang chạy

removeMovieClip() Di chuybởi attachMovie hoển MC trong trặc duplicateMovie ường hợp MC được tạo unloadMovie() Di chuyển MC hiện tại

startDrag() Cho phép người dùng kéo MC stopDrag() Kết thúc việc kéo MC

Một số thuộc tính

_alpha Độ trong suốt

_currentframe Frame hiện tại

_height Độ cao của MC _width Độ rộng của MC

_name Tên của MC

_parent Tên của đối tượng chứa MC

_rotation Góc quay MC

tabIndex Tùy chỉnh thứ tự của MC khi nhấn phím tab _url Đường dẫn của MC

_visible Thuộc tính thấy được, mặc định là true _x

_y Tọa độ (x,y) của MC _xmouse

_ymouse Tọa độ chuột hiện tại so với MC _xscale Tỉ lệ co giãn theo trục x

_yscale Tỉ lệ co giãn theo trục y

Một số sự kiện onDragOut onDragOver onKeyDown onKeyUp onPress onRelease onReleaseOutside onRollOut onRollOver onSetFocus(oldFocus) Tương tự như với button

onLoad Khi MC được tải lên

onUnload Khi MC bị di chuyển đi

onEnterFrame Khi còn đang ở khung hình hiện tại onMouseDown Khi nhấn chuột trên MC onMouseMove Khi di chuyển chuột trên MC

Dự án 6: Nghe nhạc

(Tham khảo file du_an_6.fla trên đĩa) 1. Các symbol cần tạo:

& Cái loa tĩnh (MovieClip)

& Cái loa động (MovieClip)

& Nốt nhạc (MovieClip)

& Nút nhấn (Button). Chú ý không chứa văn bản trong nút nhấn 2. Đưa 2 file mp3 vào trong thư viện của dự án

3. Click phải vào file âm thanh vừa đưa vào, chọn linkage trên menu thả xuống. Khi đó sẽ xuất hiện hộp thoại:

Hình 6-5

4. Chọn Export for ActionScript

5. Đặt Identifier (định danh) cho 2 file âm thanh là sound1 và sound2 6. Kéo các biểu tượng ra stage (loa tĩnh và loa động nằm trùng lên nhau),

với bố cục như sau:

Hình 6-6

7. Đặt tên cho các biểu tượng. Chú ý là ActionScript phân biệt chữ hoa, chữ thường nên cần viết tên cho chính xác.

8. Thiết lập lớp Actions để chứa mã ActionScript

Loa động: loa_mc Loa tĩnh : loa1_mc Nốt nhạc: nhac_mc Các nút nhấn đặt tên theo chức năng: play_btn stop_btn next_btn prev_btn

9. Trong khung hình khóa của lớp Actions nhập các mã lệnh như sau

Lúc đầu loa_mc và nhac_mc không được hiển thị vì chưa có nhạc phát ra. Nút next_btn và prev_btn thì không thể tác động lên được

loa_mc._visible = false; nhac_mc._visible = false; next_btn.enabled = false; prev_btn.enabled = false;

Khai báo 2 biến để chứa âm thanh, 2 biến này có kiểu Sound. var s1_sound:Sound = new Sound();

var s2_sound:Sound = new Sound(); s1_sound.attachSound("sound1"); s2_sound.attachSound("sound2");

Khi ta nhấn vào nút play_btn thì chơi bản nhạc số 1 đồng thời loa_mc (loa động) và nhac_mc hiển thị còn loa1_mc (loa tĩnh) thì ẩn đi. Mã lệnh cho nút

play_btn được viết như sau:

Xem lại cách viết lệnh cho các sự kiện của nút nhấn play_btn.onRelease = function() { loa_mc._visible = true; loa1_mc._visible = false; nhac_mc._visible = true; next_btn.enabled = true; prev_btn.enabled = true; s1_sound.start(); };

Khi nhấn vào nút stop_btn thì mọi thứ sẽ làm ngược lại với nút play_btn stop_btn.onRelease = function() { loa_mc._visible = false; loa1_mc._visible = true; nhac_mc._visible = false; next_btn.enabled = false; prev_btn.enabled = false; stopAllSounds(); };

Khi nhấn nút next_btn thì bản nhạc số 2 được chơi còn bản nhạc số 1 thì dừng lại. Vì bản nhạc đang chơi là bản số 2, nghĩa là sau nó không còn bản nhạc nào khác, vì vậy nút next_btn bây giờ không tác động được.

next_btn.onRelease = function() { next_btn.enabled = false; prev_btn.enabled = true;

s1_sound.stop(); s2_sound.start(); };

Khi nhấn vào nút prev_btn thì ngược lại: prev_btn.onRelease = function() { next_btn.enabled = true; prev_btn.enabled = false; s2_sound.stop(); s1_sound.start(); };

Nếu không tác động lên các nút nhấn sau khi nhạc phát ra, thì bản nhạc số 2 sẽ được chơi ngay sau khi kết thúc bản số 1.

s1_sound.onSoundComplete = function() { s2_sound.start();

};

Sau khi bản nhạc số 2 kết thúc, các biểu tượng được thiết lập lại trạng thái đầu tiên nhất. s2_sound.onSoundComplete = function() { loa1_mc._visible = true; loa_mc._visible = false; nhac_mc._visible = false; next_btn.enabled = false; prev_btn.enabled = false; };

C

Chhươươngng 77

X

XUUTTBBNN PPHHIIMM FFLLAASSHH

7.1 Tối ưu nội dung phim trước khi xuất bản

Khi xây dựng một chương trình nói chung và một chương trình Flash nói riêng, một trong những tiêu chí mà ai cũng cần quan tâm đó là làm sao cho chương trình của mình hiệu quả nhất có thể, trong đó có việc tối ưu hóa. Tối ưu hóa một phim Flash nghĩa là làm cho phim có kích thước thật nhỏ gọn mà không làm giảm chất lượng hoặc mất đi các hiệu ứng mà ta đã tạo ra.

Có một số yếu tố ta cần quan tâm khi xây dựng chương trình Flash để đảm bảo tính tối ưu, đó là:

& Nên sử dụng biểu tượng mỗi khi có thể được

& Hãy giữ cho các đối tượng đồ họa đơn giản nhất có thể được. Các hình ảnh càng phức tạp thì dung lượng càng cao.

& Nếu sử dụng văn bản trong phim, hãy sử dụng một trong những font chữ được cài ở hầu hết các máy tính. Điều này giúp cho phim Flash có thể sử dụng các font chữ có sẵn thay vì phải tải nó xuống.

& Tránh sử dụng chế độ màu gradient và hiệu ứng alpha nếu không thực sự cần thiết.

& Nếu có sử dụng âm thanh, luôn luôn sử dụng định dạng MP3 và chọn các thiết lập nén hợp lý. Mỗi khi có thể hãy sử dụng các âm thanh ngắn, lặp lại thay vì sử dụng các file âm thanh dài.

& Các hình ảnh bitmap thường làm tăng dung lượng tập tin rất nhiều, vì vậy hãy sử dụng các công cụ của Flash để tạo các đối tượng mỗi khi có thể.

& Các đối tượng gom nhóm chiếm ít dung lượng hơn so với các đối tượng không gom nhóm.

& Hãy sử dụng các lớp phân tách các đối tượng hoạt hình với các đối tượng tĩnh.

Một phần của tài liệu Ứng dụng của flash trong thiết kế mô hình dạy học (Trang 31 - 38)

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

(43 trang)