Layer, Frame, Scene và Movie:

Một phần của tài liệu Ứng dụng phần mềm adobe flash professional mô phỏng các thuật toán sắp xếp (Trang 35)

Trong kĩ thuật tạo các thước phim, kĩ thuật được sử dụng phổ biến để tạo chuyển động trong các đoạn phim là kĩ thuật 24 hình/ giây. Trong kĩ thuật này, các hình ảnh có nhiều điểm tương đồng sẽ được ghép nối lại một cách liên tiếp. Các đối tượng cần tạo chuyển động sẽ có chút thay đổi trên mỗi khung hình. Khi các khung hình thay thế cho nhau ở tốc độ mà mắt người không nhận ra sự thay đổi này, chúng ta sẽ cảm thấy đối tượng chuyển động. Kĩ thuật tạo hoạt hình trong Flash cũng hoàn toàn tương tự. Trước khi tìm hiểu kĩ về các cách thức tạo chuyển động trong Flash, ta cần tìm hiểu qua các khái niệm: Lớp - Layer, Khung hình - Frame, Cảnh quay - Scence, Thước phim - Movie.

 Layer: là các lớp được dùng trong việc sáng tác. Mỗi một khung hình có thể chứa nhiều layer khác nhau. Mỗi một đối tượng thường được xây dựng trên mỗi layer.

35

 Frame: là khung hình dùng trong kĩ thuật tạo chuyển động. Vật thể chuyển động được là nhờ vào kĩ thuật thay thế các khung hình. Như đã trình bày ở trên, mắt người chỉ có thể lưu được không quá 24 hình ảnh trong một giây, nếu tốc độ chuyển đổi các khung hình lớn, mắt chúng ta không thể nhận thấy được sự thay đổi này mà cảm giác như là hình ảnh đang chuyển động. Với Flash, số khung hình không nhất thiết phải lớn như trong kĩ thuật tạo video, nó giảm đi một cách đáng kể nhờ vào công nghệ được sử dụng trong Flash. Điều này cũng giúp làm giảm kích thước của tập tin Flash.

 Scene: được hiểu như là các cảnh quay trong Flash. Một cảnh quay là tập hợp của các khung hình kế tiếp nhau để tạo ra chuyển động. Để chèn thêm scene, ta vào Insert, chọn Insert Scene. Một cảnh quay trong Flash cũng giống một cảnh quay trong phim truyền hình vậy. Khi cần tạo một thước phim hoàn chỉnh, chúng ta sẽ ghép nối nhiều cảnh quay lại với nhau. Chúng ta cũng lưu ý rằng, các cảnh quay sẽ được ghép tự động theo thứ tự mà bạn sắp xếp. Do đó, nếu muốn thay đổi thứ tự cảnh quay, ta chỉ việc thay đổi thứ tự sắp xếp của nó. Để làm xuất hiện cửa sổ quản lý các cảnh quay, vào Windows > Other Panels > Scene (hoặc phím tắt Shift+F2). Trong cửa sổ này, ta chỉ cần sắp xếp lại thứ tự trình bày của các Scence bằng thao tác kéo thả đơn giản. Thứ tự các cảnh quay sẽ diễn ra theo thứ tự từ trên xuống dưới. Khi xây dựng các cảnh quay độc lập,có thể kiểm tra từng cảnh quay này bằng cách vào Control > Test Scene (hoặc tổ hợp phím Ctrl+Alt+Enter). Chương trình mô phỏng của dự án sẽ được dựng lên dựa trên cơ sở là các cảnh quay với những thao tác như vậy.Movie: là một thước phim hoàn chỉnh. Một movie có thể chứa một hoặc nhiều cảnh quay (scene). Để kiểm tra một bộ phim hoàn chỉnh, bạn chọn Control > Test Movie (hoặc tổ hợp Ctrl+Enter). Bạn cũng lưu ý rằng, nếu xây dựng một thước phim chứa nhiều đối tượng đồ họa và có

36

nhiều cảnh quay, thì việc kiểm tra sự hoạt động của từng cảnh quay là điều cần thiết.

d) Vùng thanh công c Tools và vùng thuộc tính Properties:

Vùng thanh công c : chứa các công cụ để tạo hình, hiệu chỉnh và tạo các

hiệu ứng cho các đối tượng. Có có thể thu gọn thay công cụ bằng cách bấm vào biểu tượng thu nhỏ bên phải trên cùng, thứ hai từ phải sang. Hoặc tắt nó đi, bằng cách bấm vào biểu tượng còn lại. có thể di chuyển nó, kéo thả nó vào một vị trí nào đó trong giao diện của Flash hoặc có thể làm xuất hiện hoặc ẩn nó đi bằng cách vào menu Window, chọn Tools. Các biểu tượng này được thể hiện tương tự như trong phần mềm Photoshop và có cung cấp cho người dùng những khả năn thiết kế đa dạng với các đối tượng.

H nh 2 : Vùng công cụ Tools

Vùng thuộc tính Properties: Mỗi một đối tượng đều có các thuộc tính riêng

như màu viền, loại viền, màu nền Để hiển thị các thuộc tính của một đối tượng, bạn chỉ việc nhấp chọn đối tượng đó. Khi đó, trong bảng thuộc tính Properties này sẽ hiển thị các thông số liên quan đến các thuộc tính của đối tượng. Để thay đổi các thông số thuộc tính của đối tượng đó, chỉ việc thay đổi các thông số trong bảng thuộc tính Properties này.

37

H nh 3 : Vùng thuộc tính Properties

e) Vùng soạn thảo, lập trình ActionScript :

Để chuyển đổi giữa các cảnh trong chương trình chúng ta sẽ sử dụng các câu lệnh chuyển cảnh của ngôn ngữ lập trình kịch bản này. Trong khung soạn thảo ActionScript, phần soạn thảo nằm ở trung tâm của cửa sổ này. Vùng phía bên trái chứa các lớp thư viện và cây phả hệ. Phía trên khung soạn thảo là hệ thống các công cụ hỗ trợ soạn thảo ActionScript. Nhấn F9 để mở phần soạn thảo

38

f) Các biểu tượng trong Flash :

Biểu tượng là một đối tượng được tạo trong Flash và có thể tái sử dụng. Một biểu tượng có thể được sử dụng trong một movie hoặc import vào thư viện và sử dụng trong một movie khác. Có ba loại biểu tượng là: Graphics, Buttons và Movie Clips. Trong đồ án, các đối tượng có tương tác, chuyển động đều được chuyển thành các biểu tượng, tạo thuân lợi trong quá trình xây dựng chương trình

Biểu tượng là đối tượng được tạo và lưu vào trong thư viện. Nếu một bản sao của biểu tượng đó được sử dụng trong movie thì nó được gọi là một sự thể hiện của biểu tượng đó. Mỗi sự thể hiện của một biểu tượng có một thuộc tính riêng (màu sắc, kích thước, chức năng) khác với biểu tượng tạo ra nó. Mọi sự thể hiện của đối tượng có thể được tạo nhờ vào chức năng kéo thả biểu tượng từ thư viện vào khung trình chiếu. Khi một biểu tượng được chỉnh sửa thì mọi sự thể hiện của nó cũng được cập nhập theo.

H nh 5 : Tạo mới một biểu tượng

Việc sử dụng biểu tượng là phương pháp hiệu quả để giảm kích thước của movie. Những biểu tượng không được sử dụng trong movie, dù nằm trong thư viện thì nó cũng không được tính vào kích thước của movie đó.

39

g) Tạo hoạt cảnh :

Tìm hiểu về TimeLine :

 TimeLine là một vùng tương tác để tạo ra chuyển động trong movie của Flash. Để tạo ra chuyển động, TimeLine thay thế từng Frame một theo thời gian, kỹ thuật frame by frame.

H nh 6 : Khung TimeLine

Trong TimeLine, có thể dễ dàng thấy được ba phần chính: Phần quản lý Layer (bên trái), Phần quản lý Frame (phía trên bên phải) và Phần quản lý Công cụ(phía dưới bên phải).

 Layer: quản lý các lớp đối tượng. Mỗi một đối tượng trên Layer sẽ có một thanh TimeLine của riêng mình. Trong trường hợp minh họa trên, thì đối tượng trên Layer 1 nằm trên TimeLine phía dưới và đối tượng trên Layer 2 nằm trên TimeLine phía trên.

 Thanh TimeLine: chứa nhiều Frame. Khi tạo ra chuyển động, các Frame sẽ lần lượt thay thế cho nhau. Frame sau sẽ thay thế cho Frame trước đó. (adsbygoogle = window.adsbygoogle || []).push({});

Khi làm việc với TimeLine, chúng ta sẽ thường xuyên sử dụng đến hai phím tắt sau đây:

40

 Phím F5: chèn Frame vào thanh TimeLine (tương ứng với Insert Frame). Nếu vùng TimeLine trong thanh TimeLine đã được tạo Tween, thì nó sẽ tự động giãn vùng Tween này (chèn thêm Frame vào trong vùng Frame đã tạo Tween, các Frame mới tạo này cũng kế thừa Tween).

 Phím F6: chèn KeyFrame vao thanh TimeLine (tương ứng với Insert KeyFrame). Frame cuối cùng khi chèn là một KeyFrame. Với KeyFrame này, ta có thể tạo điểm chốt cho h{nh động trong một movie. Khi kết hợp với Tween, nó sẽ tạo một chuyển động mềm mại cho movie của Flash.

41

CHƯƠNG 4: ỨNG DỤNG PHẦN MỀM ADOBE FLASH THIẾT KẾ MÔ PHỎNG BỐN THUẬT TOÁN SẮP XẾP TRONG DẠY HỌC MÔN

CTDL&GT

4.1. Giới thiệu phần mềm Adobe Flash và ngôn ngữ lập trình ActionScript 3.0: ActionScript 3.0:

4.1.1. M đí h và đối tượng của hương trình:

Chương trình mô phỏng một số thuật toán sắp xếp cơ bản trong tin học xây dựng trên nền tảng Flash ( ngôn ngữ lập trình Action Script 3.0 )

Với chương trình này sinh viên có thể tham khảo các thuật toán sắp xếp cơ bản được xây dựng một cách rõ ràng,dễ hiểu và sinh động.Ngoài ra, từ đó có thể phát triển với nhiều thuật toán, hay bài toám tìm kiếm hơn, giúp cho sinh viên có thể tự học dễ dàng từ đó nâng cao chất lượng dạy và học CNTT.

Phiên bản này sẽ hỗ trợ 4 thuật toán bao gồm các thuật toán về sắp xếp

 Sắp xếp lựa chọn (Selection Sort)

 Sắp xếp nổi bọt (Bubble Sort)

 Sắp xếp chèn (Insertion Sort)

 Sắp xếp nhanh ( Quick Sort)

Đối tượng áp dụng của chương trình mô phỏng là sinh viên đang theo học các trường đại học - cao đẳng chuyên ngành CNTT.

4.1.2. Triển khai ứng d ng:

Áp dụng trong dạy và học môn CTDL như một phương tiện dạy học và phát triển trên môi trường web. Phương tiện dạy học trực quan

Cách tiến hành tạo Flash mô phỏng giải thuật sắp xếp :

Với người dạy: Có thể xây dựng các chuyển động cơ bản trong Flash, từ đó mô phỏng lại quá trình thực hiện

Với người học: Có thể tham khảo phần mô phỏng, bài tập có hướng dẫn. Yêu cầu có sự tương tác

42

Chạy trên một timeline, sử dụng các câu lệnh để chuyển đến các frame

Bây giờ, Code Snippets để tạo các hiệu ứng mà chúng ta đã thảo luận ở trên.

Trước tiên, ta sẽ tạo hiệu ứng Button cho các Menu này. lần lượt chọn Play, sau đó vào Commands > Make Button. Lặp lại điều này cho Help và Result. Ở các Scene Play, Help, Result bạn bổ sung vào dòng lệnh

stop();

vào vị trí cuối cùng của mã lệnh ( ở đây dòng lệnh này là duy nhất )

Tiếp theo, bạn hãy nhấp vào nút Play trên Scene Menu, bấm chọn chức năng Code Snippets. Bạn chọn nhóm TimeLine and Navigation. Tiếp đến, bạn chọn chức năng Click to Go to Scene and Play. Khi đó, Flash sẽ sinh đoạn mã sau

btPlay.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene); (adsbygoogle = window.adsbygoogle || []).push({});

function fl_ClickToGoToScene(event:MouseEvent):void

{

MovieClip(this.root).gotoAndPlay(1, "Play");

}

Cần thay đổi tên của Scene cho phù hợp với Scene sẽ chuyển đến trong dòng lệnh

MovieClip(this.root).gotoAndPlay(1, "đổi tên Scene");

Thực hiện thao tác này cho những chức năng còn lại. Cuối cùng, bạn nhấn tổ hợp Ctrl+Enter để kiểm tra kết quả.

43

4.1.3. Xây dựng kịch bản:

Xây dựng kịch bản:

Xây dựng các hoạt cảnh (scene), sẽ có sự tương tác giữa các hoạt cảnh thông qua các nút, sử dụng các câu lệnh Action Script

Chương trình gồm 18 scene với các biểu tượng, các biểu tượng này được lưu trong thư viện, với các biểu tượng graphic khi thiết kế các cảnh khác nhau mà vẫn muốn dùng các cảnh đó thì chỉ việc sử dụng các biểu tượng có sẵn trong thư viện library.

 Scene 1: Trang mở đầu. Do các mô phỏng sẽ áp dụng trong dạy và học môn CTDL&GT nên giao diện ban đầu sẽ ghi tên môn CTDL&GT.

 Scene 2: Khung menu chính gồm 6 nút: Giới thiệu, Bài học, Mô phỏng, Bài tập, Liên hệ, Trợ giúp. Khi nhấn vào sẽ dẫn đến các cảnh chứa các nội dung tương ứng. Sử dụng các câu lệnh chuyển cảnh gắn với các nút.

 Scene 3: Khung Liên hệ: Khi nhấn vào sẽ cho thông tin liên hệ của nhóm tác giả làm chương trình.Mọi thắc mắc về chương trình người học có thể liên hệ với nhóm tác giả thông qua email và số điện thoại, thắc mắc của người học sẽ được giải đáp.

 Scene 4: Khung Menu mô phỏng: Đưa ra giao diện 4 nút tương ứng với bốn thuật toán, khi kích vào nút nào thì sẽ dẫn đến cảnh mô phỏng thuật toán tương ứng. Thể hiện quá trình mô phỏng 4 thuật toán được xây dựng trên 4 cảnh (scene).

 Scene 5: Khung mô phỏng thuật toán lựa chọn (Selection Sort)

 Scene 6: Khung mô phỏng thuật toán nổi bọt ( Buble Sort)

 Scene 7: Khung mô phỏng thuật toán sắp xếp chèn ( Insertion Sort)

44

Các khung mô phỏng đều có các nút điều chỉnh tốc độ nhanh chậm, nút pause để người học có thể tự điều chỉnh tốc độ chuyển động sao cho phù hợp để tiện cho việc theo dõi bài học.

 Scene 9: Khung menu bài học xây dựng 4 nút ứng với bài học của 4 thuật toán, khi chọn một nút sẽ hiện ra slide bài giảng của thuật toán tương ứng.

 Scene 10: Slide bài giảng thuật toán sắp xếp lựa chọn (Selection Sort)

 Scene 11: Slide bài giảng thuật toán nổi bọt ( Buble Sort)

 Scene 12: Slide bài giảng thuật toán sắp xếp chèn ( Insertion Sort)

 Scene 13: Slide bài giảng thuật toán sắp xếp nhanh ( Quick Sort)

 Scene 14: Khung menu bài tập: Đưa ra giao diện 2 nút tương ứng hai dạng bài tập cơ bản và nâng cao, mục đích để người học có thể tự đánh giá khả năng nhận thức của mình sau bài học thông qua việc làm bài tập. Người học có thể chọn mức độ bài tập từ dễ đến khó.Ở bài tập cơ bản sẽ là mức độ dễ, kiến thức cơ bản, các câu hỏi ở dạng trắc nghiệm, người học sẽ chọn đáp án bằng cách tích vào câu trả lời đúng, nút Submit Answer sẽ hiển thị đán án đó là đúng hay sai. Ở bài tập nâng cao sẽ tính điểm và giới hạn thời gian làm bài tập , sau khi hoàn thành các câu hỏi chương trình sẽ đưa ra các câu người học đã làm đúng và các câu đã làm sai kèm theo số điểm mà người học đạt được. Khi kích vào nút bài tập cơ bản hay nâng cao thì sẽ dẫn đến cảnh bài tập tương ứng. Thể hiện bài tập được xây dựng trên 2 cảnh (scene).

 Scene 16: Bài tập cơ bản

 Scene 17: Bài tập nâng cao

 Scene 18: Phần trợ giúp . Sẽ hướng dẫn người học biết cách sử dụng chương trình. (adsbygoogle = window.adsbygoogle || []).push({});

45

4.1.4. Giới thiệu bốn thuật toán sắp xếp:

Sắp xếp là quá trình xử lý một danh sách các phần tử (hoặc các mẫu tin) để đặt chúng theo một thứ tự thỏa mãn một tiêu chuẩn nào đó dựa trên nội dung thông tin lưu giữ tại mỗi phần tử.

Mức độ hiệu quả của từng giải thuật phụ thuộc vào tính chất của cấu trúc dữ liệu cụ thể mà nó tác động đến, thời gian tính

H nh 7 : Hình ảnh dãy sắp xếp tăng dần

Bài toán sắp xếp dãy số :

 Bài toán: Cho trước một dãy số a1 , a2 ,… , aN được lưu trữ trong cấu trúc dữ liệu mảng

 Sắp xếp dãy số a1 , a2 ,… , aN là thực hiện việc bố trí lại các phần tử sao cho hình thành được dãy mới ak1 , ak2,… ,akN có thứ tự (ví dụ thứ tự tăng) nghĩa là aki > aki-1.

 Để quyết định được những tình huống cần thay đổi vị trí các phần tử trong dãy, cần dựa vào kết quả của một loạt phép so sánh

-> Hai thao tác so sánh và gán là các thao tác cơ bản của hầu hết các thuật toán sắp xếp.

 Chú ý: Khi xây dựng một thuật toán sắp xếp cần tìm cách giảm thiểu những phép so sánh và đổi chỗ không cần thiết để tăng hiệu quả của thuật toán.

46

a) Sắp xếp lựa chọn (Selection Sort) :

* Ý tưởng:

 Chọn phần tử nhỏ nhất trong N phần tử ban đầu, đưa phần tử này về vị trí đầu dãy hiện hành; sau đó loại nó khỏi danh sách sắp xếp tiếp theo.

 Xem dãy hiện hành chỉ còn N-1 phần tử của dãy ban đầu, bắt đầu từ vị trí thứ 2; lặp lại quá trình trên cho dãy hiện hành… đến khi dãy hiện hành chỉ còn 1 phần tử.

* Cá bước sắp xếp tăng dần:

 Bước 1: i = 1 // lần xử lý đầu tiên

 Bước 2: Tìm phần tử nhỏ nhất a[min] trong dãy hiện hành từ a[i]

 đến a[N]

 Bước 3: Hoán vị a[min] và a[i]

 Bước 4: Nếu i < N-1 thì i = i+1; Lặp lại Bước 2

47

H nh 8 : Lưu đồ giải thuật sắp xếp lựa chọn

*Cài đặt giải thuật :

public void selectionsort() {

for (int i = 0; i < spt-1; i++) { int min = i; for (int j = i + 1; j < spt; j++) if (mang[j] < mang[min]) min = j; if (min != i) {

int tam = mang; mang = mang[min]; mang[min] = tam;

48 }

} (adsbygoogle = window.adsbygoogle || []).push({});

*Đánh giá giải thuật trên:

 Ở lượt thứ i, bao giờ cũng cần (n-i) lần so sánh để xác định phần tử nhỏ

Một phần của tài liệu Ứng dụng phần mềm adobe flash professional mô phỏng các thuật toán sắp xếp (Trang 35)