Thứ Năm, 7 tháng 1, 2010

BÀI HỌC CƠ BẢN VỀ FLASH

Bài học cơ bản về Flash ( khá đầy đủ ) !
Làm quen với Web chúng ta không ai là không biết đến Flash , nhưng ít người trong chúng ta quan tâm vì ngại tiếp xúc với giao diện làm việc quá phức tạp của Flash . Flash là một chuẩn đồ họa hoạt hình trên Web , giúp cho trang Web có tính tương tác và hấp dẫn hơn đối với người ghé thăm trang Web . Chỉ cần cài đặt Flash Player (hiện nay mới nhất là version 9.0) thì việc đọc các file *.swf không còn là một vấn đề nan giải , vì lý do đó mà Flash trở nên thông dụng và khiến cho rất nhiều người chú ý đến . Mặc dù hiện nay có rất nhiều chương trình thiết kế Flash nhưng đại chúng nhất vẫn là chương trình Flash của hãng Macromedia , và từ sau phiên bản 4.0 , Macromedia đã tự khẳng định mình là hãng hàng đầu trong lãnh vực thiết kế Web . Do hiện nay Flash MX được sử dụng khá phổ biến tại VN nên tôi chỉ xin đề cập đến phiên bản này.


Thay đổi màu nền khung làm việc và những điều cần biết về hộp thoại Document Properties
* Thay đổi màu nền :

Từ thanh Menu bạn chọn Modify/Document... (ấn Ctrl + J hoặc ấn chuột phải chọn Document Properties) để mở hộp thoại Document Properties . Để xuất hiện bảng màu bạn nhấp chọn Background Color.




Bạn có thể chọn màu sắc theo bảng màu hoặc nhập mã số , chẳng hạn như trên bảng mã không có màu nào sáng hơn màu đen mà tối hơn màu #333333 ngay dưới màu đen trong bảng màu ta buộc phải nhập mã nếu muốn thể hiện một màu phù hợp với yêu cầu (chẳng hạn phù hợp với yêu cầu trên ta có thể chọn màu #0A0A0A).
* Hộp thoại Document Properties :
Dimensions : Kích cỡ của "Khung làm việc" (width : chiều rộng ; height : chiều cao)

Match : Khổ (Printer : kích cỡ chính xác khi in ; Default : kích cỡ mà bạn để mặc định)

Background color : màu nền

Frame Rate : tốc độ khung hình ( số khung hình trong 1 giây , mặc định thường là 12)

Ruler Units : chuyển qua các đơn vị khác của "thước"

Help : liên kết với trang giúp đỡ trong máy (trang này có sẵn sau khi cài đặt Flash MX)

Make Default : làm cho các thông số trở về mặc định

OK : đồng ý việc chỉnh sửa thông số trong hộp thoại

Cancel : không đồng ý và giữ nguyên thông số trước khi mở hộp thoại

Các công cụ vẽ (thanh công cụ)

Công cụ dùng để vẽ các đường thẳng , các đối tượng ở khung làm việc
Công cụ này có tất cả 3 tính chất :


-Stroke color : màu của đường thẳng mà bạn vẽ (bên trái)

-Stroke height : độ dày (độ đậm) của đường thẳng bạn vẽ (giữa)

-Stroke style : các loại đường thẳng (nét chấm gạch hay nét đứt chẳng hạn) (bên phải)

Để chỉnh sửa thông số này nếu trong trình làm việc của bạn chưa sẵn có trình Properties thì buộc bạn phải khởi động nó bằng cách chọn ở thanh Menu : Window/Properties .

Để tô màu đường nét kiểu gradient , bạn dùng công cụ Arrow (hoặc ấn V) chọn vùng mà bạn muốn trượt màu sau đó chọn ở thanh Menu : Modify/Shape/Convert Lines to Fills
Dùng để chọn các đối tượng trên khung làm việc, đặc biệt hơn công cụ Arrow (chọn các đối tượng trên khung làm việc dựa vào hình chữ nhật) ở chỗ có khả năng xác định vùng có hình dạng bất kỳ của các đối tượng trong khung làm việc .

-Magic Wand (bên trái) : chọn đối tượng dựa trên màu sắc trong vùng có hình dạng bất kỳ

-Magic Wand Properties (bên phải) : điều chỉnh thông số cho Magic Wand .

-Polygon (dưới) : chọn các vùng có hình dạng đa giác

* Công cụ Pen (phím P) :



Công cụ vẽ các đường thẳng gấp khúc hoặc các đường cong bằng các chấm các điểm tại các vị trí khác nhau rồi nối chúng lại dưới dạng các đường thẳng , đường cong . Công cụ này tương tự như công cụ Line nhưng tiện hơn công cụ Line rất nhiều , dựa vào chức năng nối các điểm nếu ta nối điểm đầu vào điểm cuối (3 điểm trở lên) sẽ tạo thành các hình đa giác .

Công cụ này có 4 tính chất :

-3 tính chất đầu tương tự công cụ Line

-Tính chất Fill color : tô màu cho các hình đa giác mà bạn đã vẽ

* Công cụ Text (phím T) :



Nghe tên chắc chắn ai cũng biết đây là công cụ nhập văn bản . Đây cũng đồng thời là công cụ có nhiều tính chất nhất .



Chúng ta sẽ xét từng hàng . Bắt đầu từ hàng thứ nhất .

* Static Text : làm việc với văn bản tĩnh , thiết lập cho văn bản mà bạn đang nhập là tĩnh - Dynamic Text : thiết lập cho văn bản của bạn sẽ làm việc với các hiệu ứng động

* Font : định dạng font mà bạn dùng để nhập văn bản .

* Font Size : cỡ chữ mà bạn dùng để nhập văn bản .
* Text (fill) Color : chọn màu cho văn bản mà bạn sẽ nhập .

* Toggle the bold (italic) style (chữ B và I) : chọn in đậm chữ văn bản và nằm nghiêng .

* Change direction of text : chọn cho chữ trình bày theo chiều ngang (horizontal) chiều dọc từ trái sang phải (từ phải sang trái) (vertical to left (right)) .

* Bốn biểu tượng cuối dòng 1 : gióng hàng (tùy theo chiều mà bạn cho chữ trình bày mà có các loại gióng hàng khác nhau)

Hàng 2 : * Character Spacing : độ xa gần của các ký tự .

* Character Position : chế độ chữ bình thường (normal) , chế độ chữ thu nhỏ lên trên (SuperScript) , chữ thu nhỏ xuống dưới (SubScript) .

* Auto Kern : tự động đưa các font chữ lại cùng một khoảng cách (cách đều các kí tự) .

* Edit format options : đưa ra bốn thông số cho chữ - Indent (khoảng các thụt vào) - Line Spacing (khoảng các giữa các hàng) - Left (Right) Margin (rời lề trái hoặ phải một khoảng) .

Hàng cuối - * W : chiều rộng của nhóm chữ - H : chiều cao nhóm chữ - X ; Y : hoành độ và tung độ của nhóm chữ trong khung làm việc .

* Selectable :

* URL Link : đưa đường dẫn cho đoạn văn bản mà bạn chọn đến 1 file nào đó .

* Target : kiểu xuất hiện của file khi liên kết thực hiện .
* Công cụ Oval (phím O) : Công cụ dùng để vẽ những hình tròn , hình bầu dục , có 4 tính năng tương tự công cụ Pen .

* Công cụ Rectangle (phím R) : Công cụ vẽ các hình chữ nhật ngoài 4 tính năng như Oval , ta còn có thêm tính năng bo tròn các góc (Round Rectangle Radius) ở bảng options .

* Công cụ Pencil (phím Y) : chức năng tương tự công cụ Pen nhưng độ chi tiết không như công cụ Pen (các nét xa sẽ thành đường thẳng , các nét gần sẽ tạo thành đường cong , tất cả là do chương trình tự tính toán và bạn hoàn toàn vẽ bằng tay) , ngoài ra công cụ này không có chức năng Fill color như công cụ Pen , mặc dù có nối điểm đầu với điểm cuối tạo thành một hình .

* Công cụ Brush (phím B) : công cụ quét màu với 4 tính năng :

-Brush mode : kiểu quét (normal : quét màu bình thường ; behind : quét sau các màu khác trên khung ...)

-Brush size : độ lớn của công cụ quét .

-Brush shape : hình dạng của công cụ quét ( hình que xéo , hình tròn , hình bầu dục ...)

-Lock fill : không cho tô màu lên .

* Công cụ Free Transform (phím Q) : công cụ này giúp chọn các đối tượng trên khung làm việc , công cụ còn giúp ta chọn một vùng màu chỉ sau một cái click chuột , công cụ còn giúp ta xoay vùng chọn một góc bất kỳ và có khả năng tăng giảm kích cỡ các chiều trong vùng chọn , công cụ này mạnh hơn hẳn Arrow .

Công cụ này có 5 tính năng chính , 4 tính năng trong mục options (Rotate and Skew ; Scale ; Distort ; Enverlope) và được thể hiện qua các thao tác trỏ chuột . Chức năng còn lại là Fill color trong bảng Properties .

* Công cụ Ink bottle (phím S) : thay đổi màu , kích thước kiểu của một đường nét bao quanh một hình dạng trong khung làm việc . Công cụ này có 3 tính năng tương tự như Line .

* Công cụ Paint Bucket (phím K) : tô màu cho các hình dạng tạo ra từ các đường viền (tô màu cho các hình dạng được tạo ra từ công cụ pencil chẳng hạn) , thay đổi màu đã có trong khung làm việc . Có hai tính năng Gape Size và Lock Fill trong mục options .

* Công cụ Eyedropper (phím I) : cho phép lấy mẫu , sao chép màu tô , đường nét của đối tượng đang xét rồi áp dụng cho một đối tượng khác , công cụ này không có tính chất khác , giúp chúng ta tiết kiệm thời gian .

* Công cụ Eraser (phím E) : như cái tên của nó , công cụ này làm nhiệm vụ xóa màu , đường nét của một đối tượng trong khung làm việc . Công cụ gồm có 3 tính năng trong mục options :

-Eraser mode : tương tự với Brush mode .

-Faucet : xóa nhanh đường nét nối liền , màu tô , một vùng tô màu của đối tượng .

-Eraser shape : tương tự với Brush shape .
Trong nhiều trường hợp , lý thuyết mà không có thực hành thì khó có thể thành công , do đó mà tôi sẽ hướng dẫn bạn nốt cách sử dụng tốt nhất và các tính năng đặc biệt ở mỗi công cụ .

Sao chép thuộc tính đường nét và áp dụng cho đường nét khác :

Nhấn phím I chọn công cụ Eyedropper , đặt con trỏ biểu tượng ống nhỏ giọt lên đường nét mà bạn muốn sao chép ,khi đó sẽ xuất hiện hình cây bút chì nhỏ bên cạnh ống nhỏ giọt . Nhấp chuột vào đường nét mà bạn muốn sao chép , từ công cụ Eyedropper sẽ kích hoạt công cụ Ink bottle (tính năng đã giới thiệu trong bài trước). Sau đó bạn chỉ cần nhấp chuột vào bất kỳ đường nét nào muốn thay đổi thuộc tính như đường viền lấy từ công cụ Eyedropper thì đường nét đó sẽ có thuộc tính như đường nét gốc .

Tính năng Lock Fill của Brush và Paint Bucket :



Điều khiển cách thức tô màu với các vùng màu kiểu gradient , khi chọn thì sử dụng cùng một kiểu màu gradient , còn khi không chọn mỗi vùng tô sẽ hiển thị khác biệt các kiểu tô mà bạn áp dụng gradient .

Tính năng Gap Size của Paint Bucker :



Xử lý đường viền không bao kín vùng tô màu với 4 thông số chính :

-Don't Close Gaps : Không tô vùng mà đường viền chưa bao kín .

-Close Small Gaps : Tô vùng có đường viền hở rất nhỏ .

-Close Medium Gaps : Tô vùng có đường viền hở trung bình .

-Close Large Gaps : Tô vùng có đường viền hở lớn

Làm mềm đường biên :


Chọn một lúc nhiều hình dạng trên khung làm việc (không phải phần tử của một nhóm) , sau đó chọn Modify>Shape>Soften Fill Edges .Hộp thoại hiện ra bạn chỉnh sử thông số theo ý mình .Với :

-Distance :Khoảng cách giữa đường biên mềm và đường biên ngoài tính trên Pixel .

-Number of Step : Số bước từ đường biên đầu đến kết thúc đường biên mềm . Không nên sử dụng nhiều bởi làm thế sẽ khiến cho máy phải tính toán nhiều hơn trước rất nhiều mỗi khi thực hiện một cử động flash,nên chọn 10 là tối đa).

-Derection : Chọn hướng để đường biên mềm tạo ra bên ngoài (Expand) hoặc trong (Insert) hình dạng

Gióng hàng các đối tượng :



Nhấn Ctrl + K để sử dụng chức năng này .Với các tham số :

Align left edge : canh trái đều các đối tượng

Align horizontal center : canh giữa theo hàng dọc các đối tượng

Align right edge : canh phải đều các đối tượng

Align top edge : canh trên đều các đối tượng

Align vertical center : canh giữa theo hàng ngang các đối tượng

Align bottom edge : canh dưới đều các đối tượng

Distribute top edge : canh trên đều cho các hàng đối tượng

Distribute vertical center : canh giữa theo hàng ngang cho các dòng đối tượng

Distribute bottom edge : canh dưới đều cho các hàng đối tượng

Distribute left edge : canh trái đều cho các hàng đối tượng

Distribute horizontal center : canh giữa theo hàng dọc cho các dòng đối tượng

Distribute right edge : canh phải đều cho các hàng đối tượng

Match width : canh đều trái và phải tất cả đối tượng

Match height : canh đều trên và dưới tất cả đối tượng

Match width and height : kết hợp hai thứ trên

Space evenly vertically : khoảng cách đều giữa các đối tượng theo hàng ngang

Space evenly horizontally : khoảng cách đều giữa các đối tượng theo hàng dọc.

Lật các đối tượng :



Đôi khi làm việc với flash ta cần lật (quay) đối tượng một góc nào đó hoặc lật ngược đối tượng. Do đó mà sử dụng các tính năng Flip là rất cần thiết .Tất cả được gộp chung khi bạn chọn đối tượng rồi đưa tới Modify>Transform> ? và ? sẽ là :

-Free Transform : tại đây bạn có thể quay một góc bất kỳ , tăng giảm kích thước , thay đổi góc độ cho một phần đối tượng

-Distort : thay đổi góc độ cho một phần đối tượng từ một điểm

-Envelope : tương tự như distort nhưng giữa các điểm vuông sẽ thêm vào các điểm tròn , các điểm tròn này có nhiệm vụ bo tròn các góc nhọn

-Scale : Chỉ có tác dụng thay đổi kích thước , nếu xài chức năng này thì tốt hơn là xài Free Transform

-Rotate and Skew : quay đối tượng bằng chuột và dời đối tượng

-Scale and Rotate : thay đổi kích thước đối tượng và góc xoay tự nhập



-Rotate 90' CC : quay đối tượng một góc 90' từ bên trái lên trên

-Rotate 90' CCW : quay đối tượng một góc 90' từ bên phải lên trên

-Flip Vertical : lật ngược đối tượng theo chiều ngang

-Flip Horizontal : lật ngược đối tượng theo chiều dọc

-Remove Transform : bỏ chọn Transform
Làm việc với Flash thì quan trọng bốn khâu quan trọng nhất đó chính là khung hình. Nói cho dễ hiểu thì ta cứ tưởng tượng trong một đoạn phim sẽ có 24hình/giây thì bằng cách thiết lập thông số frame (đã học trong bài đầu) thì ta có thể hình dung rằng một frame (khung hình) sẽ tương đương một hình trong Flash, và nếu bạn đặt thông số 12 fps thì sẽ có 12 hình hiển thị trong một giây cho bạn. Nói cho cùng thì flash cũng không khác video cho lắm nhưng bạn phải lưu ý rằng nếu cài đặt số khung hình càng cao trong một giây thì cái giá phải trả cho dung lượng đoạn flash sẽ lớn lên theo tỉ lệ nghịch (đây là điều tối kị với thiết kế Web) hoặc khung hình càng thấp thì chuyển động trong flash càng tệ. Bây giờ chúng ta sẽ bắt đầu bài học.


Hai phương pháp hoạt động chính

- Sử dụng khung nối tiếp : có nghĩa là bạn sẽ đặt từng phần tử khác nhau ở mỗi frame hay một một đoạn frame , sau đó ráp nối chúng lại như một đoạn phim, cách này dễ thực hiện nhất và có nhiều điều khiển hơn nhưng đồng thời cái giá phải trả là bạn sẽ mất nhiều thời gian hơn.

- Sử dụng khung biến đổi : không đòi hỏi thủ công như cách trên, chúng ta sẽ sử dụng khả năng biến đổi tự động của flash, ta chỉ cần quy định điểm đầu và điểm cuối, flash sẽ tính toán và biến đổi đối tượng cho ta (giả sử chọn điểm đầu là hình vuông và điểm cuối là hình tròn trong 24 frames thì trong 2 giây hình vuông sẽ biến đổi qua các hình dạng bo tròn các cạnh ngày một lớn hơn và cuối cùng là chuyển thành hình tròn).
Chúng ta sẽ bắt đầu với việc tìm hiểu chức năng của các thành phần trên khung. Sau đây sẽ là những phần mà các bạn cần quan tâm :


Tính từ trái qua thì lần lượt là :

- Nút canh giữa khung hình :canh giữa khung hình mà bạn đang chọn(nếu bạn cuộn đến vị trí 1500 trong số 2000 khung hình của toàn đoạn flash mà trỏ của bạn đang ở vị trí 300 thì khi nhấp canh giữa sẽ giúp cho bạn trở lại vị trí 300 một cách nhanh chóng).

- Nút Onion Skin : Xem và chỉnh sửa nhiều khung hình cùng một lúc , khi đang ở một vị trí trên thanh tiến trình thì việc chọn nút Onion Skin sẽ giúp bạn gom toàn bộ nội dung của khung hình vào giữa hai điểm được đánh dấu , lúc này bạn có thể chỉnh sửa nội dung của đoạn khung hình đang được chọn.

- Nút Onion Skin Outlines :giống với Onion Skin, và điểm khác là toàn bộ nội dung trên các khung hình khác với khung hình đang được chọn sẽ xuất hiện dưới dạng đường viền.

- Nút Edit Multiple Frames :chỉnh sửa nhiều khung hình và phần thể hiện tương tự Onion Skin.

- Nút Modify Onion Markers :khi nhấp vào nút này thì một bành sẽ hiện ra :


Bảng này có nhiệm vụ thay đổi các điểm đánh dấu của Onion Skin với các thông số sau :

+ Always Show Markers :làm cho các điểm đánh dấu Onion Skin hiển thị hay không hiển thị cho dù bạn có hay không có chọn tính năng Onion Skin.

+ Anchor Onion :giữ lại hay khóa các điểm được đánh dấu chọn Onion Skin tại vị trí mà chúng đang hiện diện.

+ Onion 2 :Thiết lập các điểm đánh dấu bằng Onion Skin ở vị trí hai khung hình nằm trước và sau vị trí thanh thực hiện.

+ Onion 5 :giống như Onion 2 nhưng thay vào 2 là 5 khung hình trước và sau.

+ Onion All :thực hiện chức năng Onion skin với tất cả các khung hình trong cảnh hiện tại.

- Khung hình hiện tại: Xác định bởi số chỉ và nội dung hiện tại khung hình làm việc, nơi xác định vị trí thanh thực hiện.

- Tốc độ khung hình :thông số tốc độ hiện tại, khi đoạn phim đang cập nhật , tốc độ này sẽ thay đổi liên tục(tốc độ này có thể khác với thông số Frame Rate mà bạn chọn trong hộp Document Properties(bài 1)bởi nó cho biết tốc độ thực sự khi bạn phát lại).
- Thời gian trôi qua Xác định thời gian giữa khung hình đầu tiên và khung hình ở vị trí thanh tiến trình(giả sử thanh tiến trình ở vị trí 12 thì có thể là 1 giây),nó cũng được cập nhật liên tục khi chạy thử.

Các dạng của khung hình

- Khung hình rỗng :
- Khung hình khóa :

Trên cùng là khung hình khóa trống , tiếp đến là khung hình khóa có kèm theo hành động và dưới cùng là một khung hình khóa bình thường.Vậy khung hình khóa là một khung hình đặc biệt ,là nơi để bạn thay đổi hành động trong Flash.Bất kì bạn muốn chuyển động trong flash trải qua bạn buộc phải dùng kiểu khung hình khóa.Nếu sử dụng kiểu khung nối tiếp bạn sẽ tiêu tốn một lượng lớn khung hình khóa nhưng với dạng khung biến đổi chỉ yêu cầu hai khung hình khóa ,một bắt đầu và một kết thúc(việc tính toán sự biến đổi là do flash ,bạnsẽ không cần chèn thêm các khung hình khóa).
- Khung hình bình thường :là các khung hình tĩnh hiển thị một nội dung bất kỳ trong khung hình khóa sau cùng ở cùng một lớp ,các khung này luôn đòi hỏi phải có một khung hình khóa đứng trước và nội dung của khung hình khóa đứng trước sẽ hiển thị tại các khung hình bình thường sau nó cho đến lúc lại gặp khung hình khóa khác ,ví dụ là phần màu nâu trên khung hình khóa bình thường ở phần khung hình khóa.

- Khung hình dạng biến đổi :là khung hình tối thiểu phải có hai khung hình khóa, một xác định sự xuất hiện của đối tượng và một xác định thời điểm kết thúc

các khung hình nằm giữa sẽ là những hình ảnh biến đổi trung gian giữa khung hình đầu và cuối.Có hai dạng biến đổi :

+ BIến đổi chuyển động :tạo ra sự thay đổi kích thước ,vị trí...các biểu tượng ,khối ,văn bản trong flash mà bạn đang làm việc.Được xác định ít nhất bởi hai khung hình khóa cách nhau bởi các khung hình bình thường với mũi tên màu đen và nền màu xanh dương sáng.

+ Biến đổi hình dạng :biến từ một hình dạng đơn giản ra một hình dạng khác(ví dụ hình vuông màu đỏ ra hình tròn màu xanh,chữ G mà xanh thành chữ K màu đỏ).Biến đổi hình dạng chỉ áp dụng cho khung làm việc chứ không áp dụng cho nhóm hoặc biểu tượng.Được xác định ít nhất bởi hai khung hình khóa cách nhau bởi các khung hình bình thường với mũi tên màu đen và nền màu xanh lá cây sáng.

+ Dạng cuối cùng là biến đổi có vấn đề :cũng được xác định bởi hai khung hình khóa và có chèn khung hình bình thường ở giữa ,có các nét đứt đoạn ở giữa các khung hình.
Ở bài trước chúng ta đã được cung cấp toàn bộ khái niệm về hai loại khung hình của Flash (nếu chưa xem yêu cầu bạn quay lại bài 4 để có kiến thức cơ bản) và bây giờ chúng ta sẽ đi thẳng vào vấn đề là làm cách nào để tạo chúng. Đầu tiên ta sẽ bắt đầu từ loại khung hình đầu tiên :

Khung hình nối tiếp


Để dễ hiểu chúng ta sẽ lấy một ví dụ điển hình của loại khung hình này làm bài học. Chúng ta sẽ làm cho dòng chữ "TIN HOC NHU COM BINH DAN" xuất hiện từng chữ, từng chữ một.
Đầu tiên việc mà bạn phải làm là tạo một tài liệu mới và chắc chắn rằng chưa có một khung hình nào cả ngoài một khung hình khóa trống trên một lớp duy nhất. Ở đây trong hộp thoại "Document properties" tôi để số frame xuất hiện trong một giây là 12 fps và tôi dự định trong một giây sẽ có 3 chữ xuất hiện, thực hiện một bài toán chia nho nhỏ bạn sẽ có một chữ tương đương với 4 frames. Như vậy dòng chữ của tôi có cả thảy 19 chữ vậy tôi phải sử dụng 76 frame. Vậy công việc của bạn bây giờ là đặt trỏ chuột ở vị trí ở chỗ khung hình tương đương với vị trí số 4 của thanh thực hiện, tại chỗ đó tôi click chuột phải chọn "Insert Frame"(bước 1) và tiếp đến ở vị trí tương đương với số 5 của thanh thực hiện tôi lại nhấn chuột phải và lần này tôi chọn "Insert KeyFrame"(bước 2), cứ như thế bạn thực hiện cho đến frame76 và dừng lại ở bước 1. Xin lưu ý là đến bây giờ bạn vẫn chưa nhập nội dung gì cả



Nếu bạn chưa hiểu rõ tôi xin giải thích thêm, việc bạn chèn frame(bước 1) là để nhập nội dung lên frame, còn bạn chèn khung hình khóa là để ngăn cách hai đoạn frame,một đoạn chứa nội dung chữ "T" và một đoạn nội dung chữ "TI", ráp nối các đoạn lại với nhau chúng ta sẽ có đoạn chữ xuất hiện liên tục.
Quay trở lại bài học sau khi đã chèn xong 76 frame thì ta để chuột tại một frame bất kỳ sau đó nhấn chuột phải chọn "Select All Frames". Bạn sẽ thấy lúc này toàn bộ frame sẽ được tô đen và tiếp theo bạn chọn công cụ Text(bài 2) và đánh dòng chữ "TIN HOC NHU COM BINH DAN" vào khung làm việc. Tiếp đến bạn lại trở lại bảng frame và chọn toàn đoạn frame kế cuối (chọn khung hình khóa kế cuối và giữ shift sau đó nhấn vào frame kế bên tay trái khung hình khóa cuối cùng) và sau khi chọn bạn trở lại khung làm việc chọn dòng chữ khi nãy bỏ đi chữ "N" cuối cùng. Cứ tiếp tục như thế đến khi gặp lại đoạn frame đầu tiên và đoạn này chỉ còn chứa chữ "T".
Kết thúc quá trình tạo xong bạn có thể xem qua trước khi xuất ra dưới dạng *.swf bằng cách chọn trên thanh menu Control>Play.
Nếu cảm thấy đã hài lòng thì bạn có thể xuất thẳng ra bằng cách chọn File>Export Movie hoặc nhấn tổ hợp phím Ctrl+Alt+Shift+S.
Bây giờ chúng ta đã có thể tạo một file flash tự chạy đơn giản dựa vào khung. Nhưng phía trên tôi chỉ mới đưa ra cách để bạn tạo còn việc chọn các tham số như "Insert Frame" chẳng hạn thì lại chưa đề cập tới. Vậy để có một khái niệm rõ ràng hơn về menu bổ trợ của khung(hình trên) này ta hãy cùng xem chi tiết từng tham số của chúng.
+Create Motion Tween : khi đánh dấu một đoạn frame và kích hoạt chức năng này thì các frame sẽ tự biến đổi khung hình hiện tại (khung hình nối tiếp) thành khung hình biến đổi ở dạng biến đổi có vấn đề mà chúng ta đề cập cuối bài 4. Từ dạng khung hình này chúng ta sẽ chuyển qua một trong hai dạng khung hình biến đổi. Xin lưu ý là khi chuyển sẽ chỉ mới có khung hình khóa bắt đầu sự kiện mà chưa có khung hình khóa kết thúc sự kiện (hình). Để có một khung hình biến đổi bạn phải chèn thêm một khung hình khóa ở cuối.
+Insert Frame : như bạn đã biết, đây là chức năng chèn frame, nếu bạn chèn ở một khung hình rỗng thì khoảng cách từ khung hình trống(hoặc khung hình bình thường) đến khung hình rỗng là một đoạn khung hình rỗng sẽ được thay thế bằng khung hình trống. Nếu bạn chèn ngay trong khung hình trống (hoặc khbt) thì một khung hình mới sẽ xuất hiện ngay bên tay phải vị trí khung hình bạn đang trỏ chuột.
+Remove Frames : đánh dấu một hay một đoạn khung hình và kích hoạt chức năng này thì (các) khung hình chọn sẽ bị xóa đi.
+Insert Keyframe : chèn một khung hình khóa và tương tự như "Insert Frame".
+Insert Blank Keyframe : chức năng tương tự "Insert Keyframe" nhưng thay vào một khóa có kèm theo hành động hoặc không (khung hình khóa trống) là một khung hình khóa trống.
+Clear Keyframe : khi đánh dấu một đoạn khung hình mà trong đó có khung hình khóa thì tất cả khung hình khóa trong đoạn sẽ bị thay thế bằng khung hình bình thường (trừ khung hình đầu tiên của một lớp).
+Convert to Keyframes : khi đánh dấu một hay nhiều khung hình bình thường và chọn chức năng này thì (các) khung hình bình thường sẽ biến thành (các) khung hình khóa trống (nếu không có nội dung) hoặc khung hình khóa có kèm theo hành động.
+Convert to Blank Keyframe : tương tự như "Convert to Keyframes" nhưng thay vào đó chỉ có khung hình khóa trống mặc cho có nội dung hay không (giống "Insert Blank Keyframe").
+Cut Frames : cắt một hoặc một đoạn khung hình để dán vào chỗ khác.
+Copy Frames : chép một hoặc một đoạn khung hình để dán vào chỗ khác.
+Paste Frames : dán một hoặc một đoạn khung hình vào một chỗ khi đã chép hoặc cắt (chỉ có tác dụng khi dùng một trong hai tính năng cắt hoặc chép).
+Clear Frames : xóa một hoặc một đoạn khung hình mà bạn chọn (xóa ở đây không phải là làm mất mà biến các khung hình chứa nội dung thành khung hình trống có khung hình khóa trống đứng đầu).
+Select All Frames : chọn toàn bộ frame trên một lớp.
+Reverse Frames : lật hoặc đảo vị trí các khung hình đang chọn. Kết quả phát với thứ tự ngược lại.
+Synchronize Symbol : đồng bộ khung hình bắt đầu của nhiều phiên bản của cùng biểu tượng đồ họa ngang qua nhiều khung hình khóa trên cùng một lớp.
+Properties : hiện hộp thoại điều khiển các tính năng của khung hình.


+<Frame Label> : nhãn của toàn bộ khung hình trong một lớp, chức năng này không ảnh hưởng gì đến khung hình cả, nhưng nó thật có ích nếu bạn muốn ghi chú gì đó về chức năng của toàn đoạn khung hình trên một lớp chẳng hạn.

+Tween : các dạng của khung hình biến đổi, chỉ có tác dụng với các khung hình dạng biến đổi có vấn đề (khi để ở chế độ motion), về việc này chúng ta sẽ nghiên cứu kĩ hơn ở bài sau.

+Sound : chèn âm thanh vào khung hình, trước tiên bạn phải chọn File>Import (hoặc Ctrl+R) để đưa file nhạc của bạn vào, sau đó chọn một đoạn khung hình và chèn đoạn nhạc của bạn vào. Đoạn nhạc sẽ phát khi đoạn khung hình đó hiển thị.

+Effect : hiệu ứng âm thanh, chức băng bày chỉ được bật một khi bạn đã chèn nhạc vào một đoạn frame. Bạn muốn âm biến đổi như thế nào thì chọn ở đây.

+Sync : bật nhạc khi bắt đầu hay kết thúc hoặc lúc xảy ra sự kiện.

+Loop : số lần lập lại của đoạn nhạc mà bạn chèn.

+Edit... : bật bảng biên soạn lại âm thanh nếu bạn cảm thấy các kiểu âm thanh ở Effect là chưa đủ và không thích hợp. Khi chọn hộp thoại sau sẽ xuất hiện



Bây giờ bạn chỉ cần kéo thả chuột sao cho âm thanh vừa ý và nhấn OK (hình) (phần này đơn giản và tùy theo sở thích của bạn nên tôi nhường cho các bạn tìm hiểu).
Ngoài ra bạn cũng cần để ý đến lời khuyên sau đây nếu bạn làm flash cho web :
+Nên chèn (import) đoạn nhạc có tần số thấp để giảm thiểu tối đa việc làm phát phì file.
+Không nên chèn các đoạn nhạc quá dài, và nên dùng loop cho các đoạn nhạc ngắn, dung lượng file nhạc đừng nên quá 100Kb ( --> như vậy là quá cao và chỉ nên làm với file lớn như vậy khi lưu vào CD hay bật trên HDD).
+Khi xuất nên để ở Mono và tầng số thấp.

Bài 10b

Trước khi bắt đầu bài này tôi xin khái quát sơ lượt toàn bài trước.
Trong bài trước chúng tuần tự làm 3 ví dụ nhằm thực hành toàn bộ nội dung phần lý thuyết trong bài 9.

  • Ở Vd 1 chúng ta thực hành cách tạo button và tìm hiểu các thuộc tính của nó.

  • Sau đó, chúng ta tiếp tục sử dụng Vd1 để làm ví dụ 2 bằng cách đưa nội dung vào button. Cụ thể chúng ta cho hành động nhảy đến một URL nào đó khi nhấn button.

  • Tiếp đến, ở Vd 3, chúng ta đưa hành động nhảy đến một khung hình nào đó đồng thời bắt đầu thực hiện chạy tiếp hay nhảy đến một khung hình nào đó và dừng hẳn tại đó.

Vậy trong bài này, tôi xin được tiếp tục phát triển từ Vd3. Cụ thể, tại Vd này tôi sẽ cho hành động nhảy đến một scene (phân cảnh) khác khi ta nhấn vào một button tại một button tại scene hiện thời. Đây chính là ví dụ thực hiện điều mà tôi nói về công dụng của scene, với kĩ thuật này bạn hoàn toàn có thể áp dụng chúng để nhảy đến các màn chơi trong game do mình tạo bằng Flash với mỗi màn chơi tương ứng một scene.

Đề làm điều này ta cần chuẩn bị một số kiến thức từ các bài trước như sau:

  • Cách tạo khung hình chuyển động (bài 6a).

  • Cách tạo khung hình chuyển động theo lớp Guide (bài 8).

  • Cách tạo mộf Scene và chỉnh sửa thuộc tính (tên scene chẳng hạn) của scene đó (bài 9).

  • Cách tạo button và tinh chỉnh nội dung button đó (bài 9 + 10a).

  • Chèn action script vào button (bài 10a).

Ví dụ 4: Nhảy đến một khung hình trong một scene khác
Cũng giống như ví dụ 3, ở scene hiện tại chúng ta tạo một khung hình chuyển động cho bé Chip bay từ trái sang phải.

Đồng thời ở ví dụ trước, bạn cũng đã tạo một button cho phép nhảy về khung hình đầu tiên thực hiện lại chuyển động. Bây giờ tôi cần bạn tạo thêm hai button nữa với nội dung tùy thích, hai button này lát nữa sẽ phục vụ cho động tác nhảy đến một khung hình nào đó trong một scene khác.

Như bạn thấy trong hình, tôi tạo 3 button tổng cộng trong thư viện, một là rePlay phục vụ cho thao tác nhảy về khung hình đầu tiên trong scene hiện tại, một là gotoScene1 để nhảy đến khung hình đầu tiên trong scene thứ nhất và còn lại là gotoScene2 để nhảy đến khung hình đầu tiên trong scene thứ hai mà tôi sắp tạo đây.

Nếu bạn không muốn xem lại từng bước trong bài trước, bạn có thể xem khái quát nội dung của scene mang tên Scene 1 trong hình dưới đây.

Tiếp đến bạn tạo một Scene mới bằng cách chọn trên thanh menui: Insert/Scene. Tôi giữ nguyên tên Scene 2 trong ví dụ, nếu bạn muốn đặt lại tên khác cũng không sao nhưng tốt nhất là không nên đặt quá dài.

Sau đó tôi chuyển qua Scene 2, lúc này là một khu vực làm việc hoàn toàn mới tinh, chưa có nội dung. Tại scene này tôi tạo 4 lớp:

  1. Lớp Background: Lớp này chỉ chứa nội dung màu nền của Scene 2 (trong ví dụ là màu xám), sở dĩ tôi tạo lớp này là để cho bạn dễ dàng phân biệt hai scene với nhau.

  2. Lớp Guide: Layer: chứ nội dung đường cong làm nhiệm vụ định đường đi cho bé Chip. Nếu bạn nào quên cách tạo lớp này có thể xem lại các bài trước mà tôi nhắc ở trên.

  3. Lớp motion: chứa chuyển động của bé Chip. Lưu ý rằng để bé Chip có thể chuyển động đúng đường đi, bạn cần kéo bé Chip đặt vào mỗi đầu đường đi ứng với khung hình đầu và cuối trong scene, và đồng khi kéo, bạn sẽ thất có một tâm tròn nhỏ ở giữa hình bé Chip, bạn phải đặt tâm này dính vào mỗi đầu đường đi, nếu bạn không làm vậy thì chắc chắn bạn sẽ không thể làm bé Chip bay theo đường cong được, và đây cũng là lý do mà có khá nhiều bạn gửi thư hỏi tôi tại sao không thực hiện được chuyển động theo Lớp Guide. Bạn nên lưu ý điều này.

  4. Lớp Button Layer: lớp này đơn giả chỉ để chứa các button mà tôi đã tạo.

Sau khi đã tạo xong nội dung cho hai scene ta bắt đầu chuyển qua thao tác với các button đã được chèn trong hai scene.

Như ví dụ trước, ở scene có tên Scene 1 tôi chèn đoạn mã tương tự như Vd3 nhảy về khung hình đầu tiên.

Sau đó tôi tiếp tục chèn đoạn action script sau cho button gotoScene2 đặt trong Scene 1

on (release) {
gotoAndPlay("Scene 2", 1);
}

Đoạn mã trên tương tự như đoạn mã trước nhưng giờ chỉ thếm duy nhất một chuỗi tên scene đặt trong ngoặc đơn dòng hai: "Scene 2", như vậy đoạn code này sẽ thực hiện động tác nhãy đến khung hình đầu tiên của scene có tên Scene 2 và thực hiện động tác chạy tiếp những khung hình còn lại một khi có động tác nhấn chuột lên button.

Tương tự ta chèn đoạn mã có nội dung gần giống vậy cho button gotoScene1 trong Scene 2.

Hoàn tất bạn sẽ có nội dung đoạn Flash như sau:

Download tập tin nguồn của ví dụ tại đây.

Đến đây, nếu bạn có thể thực hiện toàn bộ các ví dụ từ 1 đến 4 hoàn hảo, bạn sẽ có thể sáng tạo được rất nhiều thứ từ các ví dụ đó. Cũng chính vì lý do này, nên tôi không thể hướng dẫn bạn toàn bộ các ví dụ vì tất cả phụ thuộc vào sự sáng tạo của bạn, thay vào đó tôi sẽ đưa ra một bài tập kèm theo hình ảnh minh họa từng bước và tập tin nguồn nhằm tiết kiệm thời gian đọc của bạn.

Bài tập: Tạo trình chơi ảnh đơn giản với tất cả ảnh nằm trong tập tin Flash, yêu cầu trình chơi ảnh có hai nút nhấn để di chuyển giữa các bức ảnh với nhau.

Download tập tin nguồn của bài tập tại đây.
Download tập hình ảnh các bước tại đây.

Lưu ý trong các bước trình bày bài tập bằng hình ảnh có một số mẹo để tiết kiệm thời gian của bạn trong việc chèn ảnh và button cho từng frame, cũng như tạo mới một button. Do đó bạn nên lưu ý và tận dụng chúng cho công việc của mình.

Đồng thời tôi cũng mong rằng bạn nào đã hiểu và có khả năng trình bày qua văn bản bài tập trên, có thể gửi thư kèm phần văn bản trả lời bài tập cho tôi; tôi sẽ giúp bạn xem xét và đưa vào các bài sau nhằm giúp các bạn khác chưa thực hiện được có thể nhờ vào kinh nghiệm của bạn để hoàn tất bài tập này.

BÀI_10a

Như đã hứa tại bài trước, trong bài này chúng ta sẽ thực hành phần lý thuyết khá dài dòng tại bài trước để các bạn nắm rõ hơn.

Vì vậy tôi xin thực hiện một loạt ví dụ về button trước:

Ví dụ 1: Tạo một button bình thường

Việc tạo một button bình thường cũng khá đơn giản, bởi nó bản thân nó chỉ đem lại kết quả đồ họa đơn giản tương ứng với các tác động của con trỏ gây nên (nếu bạn là một nhà thiết kế web thì điều này tương đương bạn đang viết một class cho từng hyperlink), nhưng bạn đừng vội bỏ qua phần này, bởi nó chính là tiền đề cho các ví dụ sau.

Để tạo một button bình thường, hãy làm theo các bước sau:

1. Chọn Insert->New Symbol... từ thanh menu (hoặc nhấn Ctrl+F8) để tạo một symbol, hãy nhớ, bản thân button cũng là một dạng của symbol.

2. Tiếp theo bảng Create new symbol sẽ hiện lên, bạn có thể đặt tên nào tùy thích, và đừng quên chọn thuộc tính button cho Behavior. Hoàn tất thì bạn nhấn OK. (trong ví dụ này tôi đặt tên cho button là buttonechip)

3. Bây giờ thì chính xác điều mà bạn thấy là một cửa sổ làm việc mới và phía trên bộ phận quản lý khung hình chỉ có một layer duy nhất và bốn khung hình như sau:

Tại đây bạn hãy dùng các công cụ vẽ để tạo hình button như bạn mong muốn nếu không nữa thì hãy import hình mà bạn muốn vào (nhưng nếu làm vậy nhớ chuyển tấm hình đó sang dạng đối tượng và import vào một symbol graphic để tránh tiện quản lý trong thư viện).

Còn đây là hình mà tôi vẽ cho ví dụ này:

4. Việc tiếp theo là bạn phải tạo một keyframe ngay vị trí ô trắng có nhãn Over, để làm nhanh bạn có thể nhấn chọn ô trắng đó và thay vì nhấn chuột phải chọn thao tác thì bạn chỉ cần nhấn F6 là được. Sau đó bạn chỉnh sửa lại một chút hình dạng button tại frame này là được. Riêng tôi thì tôi đổi phông nền từ màu xanh lá thành màu đỏ.

5. Tương tự bạn làm như vậy với hai frame có nhãn Down.

6. Cuối cùng là frame mang nhãn Hit, bước này bạn làm tương tự như nhãn Down, và như vậy thì sẽ có kết quả 008a, nếu làm tiếp như đoạn dưới thì có kết quả 008b.

Tại nhãn Hit bạn cũng làm tương tự như nhãn Down, vẫn chọn ô frame trắng mang nhãn Hit, nhấn F6, và đổi màu của button(trong ví dụ này tôi lần lượt có các màu như sau:nhãn Up màu xanh lá; nhãn Over màu đỏ; nhãn Down màu vàng và nhãn Hit màu xanh dương). Tiếp đến bạn kéo toàn bộ đối tượng ra khỏi vị trí button, trong ví dụ tôi kéo chệch sang phải như hình dưới:

7. Hoàn tất mà không tạo frame ở nhãn Hit thì bạn trở lại Scene 1 và kéo thả symbol có tên buttonechip vào trong giao diện làm việc, đến lúc này bạn đã có thể export ra file swf để xem thành quả rồi đấy.

Còn nếu có thực hiện bước 6 thì bạn phải làm thêm một việc là vẽ một đối tượng tương tự đối tượng tại frame Hit tại vùng tương ứng với nơi mà bạn đặt button.(để cho dễ thực hiện bạn copy toàn bộ đối tượng trong frame Hit và paste tại scene1, bạn cũng có thể vẽ một đối tượng hoàn toàn khác tại scene1 miễn sao nó bao trùm phần đối tượng trong frame Hit).

8. Kết quả 008a:

Download tập tin nguồn của ví dụ tại đây.

Kết quả 008b:

Download tập tin nguồn của ví dụ tại đây.

Giải thích:

Frame mang nhãn Up chứa hình dạng button lúc bình thường, đồng nghĩa chưa tương tác với trỏ chuột.
Frame mang nhãn Over chứa hình dạng button lúc bạn rê chuột lên nó nhưng chưa có hành động nhấn chuột.
Frame mang nhãn Down chứa hình dạng button lúc bạn rê chuột lên button và đã có hành động nhấn chuột.
Frame mang nhãn Hit chứa hình dạng button tại một nơi khác, nó làm công việc thay đồi vùng chuột tác động lên button, đồng nghĩa với hiệu ứng chuyển hình dạng sẽ không xảy ra khi bạn rê chuột trực tiếp lên vùng này, mà chỉ xảy ra khi bạn tác động gián tiếp lên vùng đối tượng trong frame Hit.

Sau khi xem xét qua ví dụ một đơn giản, bây giờ chúng ta sẽ học cách chèn mã Action Script vào button, mặc dù chưa nói qua Action Script lần nào, nhưng cá bạn cứ yên tâm vì đây chỉ là ví dụ đơn giản và bạn có thể hoàn toàn hiểu được một cách dễ dàng.

Ví dụ 2: Mở một trang nào đó khi nhấn vào button, chúng ta sẽ tiếp tục làm trên cơ sở ví dụ 008a.

1. Sau khi đã chèn button vào vùng làm việc tại scene1, bạn nhấn chọn 1 lần rồi mở bảng Action Script ra (nhấn F9).

2. Sau đó hãy chèn vào nội dung đoạn action script như sau:

on (release) {
getURL ("http://www.echip.com.vn/echiproot/html/tutor/flashmx/index.html");
}

3. Hoàn tất bạn export ra file swf và xem kết quả.

4. Kết quả:

Download tập tin nguồn của ví dụ tại đây.

Giải thích:

Dòng đầu: mở đầu là dòng on (release), dòng này làm nhiệm vụ xác định thuộc tính tương tác với chuột, release đồng nghĩa với tương tác nhả ra (tức phải hội đủ ba yếu tố: yếu tố thứ nhất người dùng phải di chuyển trỏ chuột lên button trước, yếu tố thứ hai là người dùng phải nhấn lên button và cuối cùng phải nhả nút chuột).

Chắc bạn thắc mắc tại sao phải nhấn lên button mới thực hiện hiệu ứng chuyển trang mà tại sao khi nhấ lên các vùng khác.

Câu giải đáp nằm ở bước một, xin hãy luôn nhớ rằng, đoạn action script mà bạn chèn vào chỉ trong phạm vi một khung hình chứa button chứ không phải toàn bộ vùng làm việc. Vậy ta có thể rút ra kết luận, action script chèn vào từng đối tượng riêng biệt.

Dòng thứ hai: getURL ("http://www.echip.com.vn/echiproot/html/tutor/flashmx/index.html") dòng này được kẹp giữa dòng ba và dòng đầu tiên. Vậy nó sẽ mang nội dung kết nối đến một URL nào đó, vậy dòng 1 mang nội dung khai báo đồng nghĩa dòng ba mang nội dung kết thúc sự kiện.

Thêm: thực chất bạn có thể bỏ dấu "{" khi mở đầu sự kiện và thay thế "}" bằng dòng cuối kết thúc là End on, hai kiểu viết code này tương tự như sử dụng C# và VB, bạn có thể viết theo sở thích của riêng mình.(lưu ý cách viết code này chỉ có hiệu lực từ Flash 6 trở xuống).

Chúng ta vừa xem xét cách chèn mã action script thực hiện hành động nhảy đến một trang nào đó, giờ chúng ta sẽ tiếp tục phát triển ví dụ 9, nhưng thay vì nhảy đến một trang nào đó, ta sẽ nhảy đến một khung hình nào đó ngay trong file flash.

Ví dụ 3: Nhảy đến một khung hình quy định.

1. Đầu tiên chúng ta sẽ tạo một chuyển động của chú gà con như những ví dụ của bài khung hình chuyển động (thông số tôi dùng trong ví dụ này như sau: tốc độ frame/giây:5; số khung hình chuyển động là 24, khung hình thứ 25 là khung hình khóa, tức echip sẽ chuyển động trong 5 giây). Chuyển động này chúng ta sẽ tạo trên một layer khác, và khóa cuối cùng (frame 25) bạn cần phải thêm đoạn action script sau:

gotoAndStop(25)

Lý do mà tôi thêm đoạn script này là để chuyển động sẽ tự động dừng, không lặp lại khi Flash player chạy qua 25 frame. Ở các phiên bản trước Flash MX thì điều này là không cần thiết vì khi export, Flash sẽ hỏi bạn có muốn đoạn hoạt cảnh của mình âập lại không; bạn chỉ cần chọn không là được, còn trong phiên bản này, điều này đã được bỏ hẳn, vì vậy bạn buộc phải chèn đoạn script này để dừng hẳn đoạn phim.

2. Bước tiếp theo ta insert frame tại khung hình 25 của layer chứa button (trong ví dụ này layer chứa button là Layer1 nằm trên layer chứ hoạt cảnh tức Layer2), và thay đoạn code trước bằng đoạn code sau:

on (release) {
gotoAndPlay(1);
}

Sau đây là hình khái quát cho hai bước đầu:

3. Hoàn tất bạn export và xem kết quả.

4. Kết quả:

Download tập tin nguồn của ví dụ tại đây.

Sau khi chuyển động thực hiện xong hoặc đang dang dở, bạn nhấn button echip để thực hiện chuyển động lại từ đầu.

Giải thích:

Tại bước một như bạn đã thấy, chúng ta phải thêm đoạn script gotoAndStop(25) tại frame cuối cùng của Layer2, như tôi đã giải thích nó có tác dụng làm dừng hẳn đoạn phim mà bạn xem, nhưng như thế là chưa hoàn toàn chính xác mà thực chất của vấn đề hơi khác một chút. Tôi giải thích như sau, khi Flash Player đọc đến khung 25, nó vẩn chưa dừng hẳn, mà Flash Player sẽ làm thêm một công đoạn nữa là nhảy đến (goto) khung hình thứ 25 trong dự án của bạn, và dừng (Stop) lại tại đó. Do dự án của bạn chỉ có 25 khung hình nên vì vậy xem như kết thúc đoạn phim. Do quá trình tính toán xảy ra quá nhanh và khung hình thứ 25 chỉ có một ảnh duy nhất nên ta không thể nhận ra ôột loạt tiến trình mà đúng ra nó phải xảy ra theo diễn dịch trên.

Như vậy, tôi không cần nói ra, đoạn script trong bước hai sẽ làm nhiệm vụ gì chắc bạn cũng biết.

Bài học xin được tạm dừng tại đây, tại bài sau (bài 10b) chúng ta sẽ tiếp tục làm ví dụ.

BÀI 9

Như đă giới thiệu ở cuối bài trước, tôi xin đề cập đến Scene, Library và Symbol trong bài này.

Scene (phân cảnh)

Thử tưởng tượng nhé, với những ǵ mà bạn đă được cung cấp cho bạn trong các bài trước, bạn biết rằng một đoạn phim Flash được tập hợp từ các khung h́nh, các khung h́nh tĩnh được chuyển liên tục đánh lừa con mắt người xem rằng ảnh đang chuyển động. Đó là lư thuyết tương tự như các loại phim nhựa. Và cũng tương tự như vậy, Flash đề ra một khái niệm tương tự phim, đó là các phân cảnh. Một bộ phim sẽ không thể xoay quanh mă một cảnh, mà đó là chắp nối của nhiều lần quay với nhiều cảnh quay trong các không gian khác nhau, đó là lănh vực phim, scene trong Flash sẽ có nghĩa hơn thế nữa nếu bạn là một nhà phát triển game hay phần mềm bằng Flash. Với game th́ đó chính là các màn chơi khác nhau tương ứng với mỗi scene, với nhà lập trình thì đó chính là những phần ẩn ngay trong cùng một form. Thật ấn tượng phải không các bạn.

+ Để tạo một scene, sau khi đă bật tŕnh Flash và tạo một dự án (hoặc với dự án mà bạn đang thực hiện) bạn chọn trên thanh menu Insert/Scene.

+ Để chuyển đổi qua lại với các scene bạn nhấn chọn biểu tượng Edit Scene và chọn scene mà bạn muốn làm việc.

* Trình quản lý Scene:

Để hiển thị hộp quản lư Scene bạn chọn từ menu Window/Design Panels/Scene (hoặc nhấn Shift + F2), hộp thoại sau sẽ hiển thị:

Như bạn thấy, khung h́nh trên sẽ liệt kê toàn bộ các scene trong dự án của bạn. Hộp thoại liệt kê cho phép bạn thao tác các hành động sau đây:

+ Sử đổi tên phân cảnh: việc làm này rất có ích, lợi ích rơ ràng nhất mà ta có thể thấy được đó chính gợi nhớ, với cách đặt tên thay cho các kí hiệu scene 1, scene2... không cần bạn phải chuyển sang phân cảnh, hoặc lục lọi trong các phân cảnh để t́m phân cảnh cần sử chữa mà vẫn biết được chính xác phân cảnh chứa ǵ theo gợ nhớ của bạn. Để đổi tên bạn đơn giản chỉ cần double click lên phân cảnh mà ḿnh muốn đổi tên, sau đó nhập tên mà bạn muốn.

+ Xếp lại thứ tự phân cảnh: chọn phân cảnh muốn đổi chỗ, sau đó nhấn và giữ chuột phải, di chuyển phân cảnh đến vị trí mà bạn muốn.

+ Nhân đôi phân cảnh: đôi khi trong công việc, bạn cần thiết kế hai phân cảnh hoàn toàn giống nhau, thiết kế lại đó với một khung cảnh chứa đầy layer và khung h́nh lồng ghép phức tạp sẽ ngốn của bạn không ít thời gian, chính v́ vậy mà Macromedia cung cấp cho bạn chức năng nhân đôi (duplicate scene), để nhân đôi bạn chọn phân cảnh cần phân đôi trong danh sách liệt kê, sau đó nhấn biểu tượng đầu tiên (duplicate scene) trong hành cuối. (chức năng này tương tự duplicate layer trong photoshop).

+ Thêm một phân cảnh: chức năng này tương tự việc bạn tạo phân cảnh mà tôi nói trên, để thực hiện bạn nhấn vào biểu tượng thứ hai mang h́nh dấu cộng.

+ Xóa một phân cảnh: không nói ǵ hơn đó là biểu tượng h́nh thùng rác.

Symbol

Liệu có bao giờ bạn quan tâm đến việc chương tŕnh của ḿnh có một dung lượng khá lớn trong khi bản thân bạn đă thực hiện các phương pháp tối ưu như giảm độ phân giải h́nh và âm thanh... mà chương tŕnh vẫn c̣n nặng, symbol chính là một giải pháp hay trong việc giảm thao tác cũng như dung lượng chương tŕnh. Lấy ví dụ, trong mỗi phân cảnh bạn cần dùng h́nh gà con echip một lần, nhưng tiếc thay chương tŕnh bạn tồn tại quá nhiều phân cảnh, nếu cứ import và từng phân cảnh măi th́ thật là một giải pháp tồi, thứ nhất là rất mất thời gian cho các hành động lập đi lập lại, thứ hai là chỉ với một h́nh mà bạn phải import vào nhiều lần như vậy sẽ khiến cho dung lượng tăng đáng kể, thứ mà bạn cần chính là khả năng trích xuất nhanh chóng và dùng chung (tương tự như thiết kế web, với một tấm h́nh bạn hoàn toàn có thể liên kết hiển thị với nhiều file HTML, giảm thiểu tối đa việc sử dụng dung lượng đĩa cứng), và đó chính là sự cần thiết của symbol.

Bạn đừng vội hiểu nhầm Symbol và các đối tượng mà bạn vẽ hay import vào file flash là hai phạm trù khác nhau, thực chất chúng là hệ quả của nhau, tức phải có đối tượng bạn mới có thể có symbol.

Có hai cách để tạo symbol:

- Dùng các đối tượng có sẵn: dùng công cụ Selection Tool (V) để chọn đối tượng mà bạn muốn chọn làm symbol, sau đó chọn chuột phải và chọn Convert To Symbol... từ menu hiện ra.

- Các thứ hai là tạo một symbol trống và bắt đầu vẽ hoặc import các đối tượng vào khung làm việc của frame chứa symbol. Để tạo một symbol rỗng ta chọn từ thanh menu Insert/New Symbol... (hoặc nhấn Ctrl + F8).

Dù cho chọn cách tạo nào cũng vậy, bạn đều gặp phải một hộp thoại miêu tả chi tiết các thuộc tính symbol mà bạn muốn tạo, hộp thoại đó có nội dung như sau:

+ Name: tên symbol, thiết lập này khá quan trọng, nếu bạn phải làm việc với một dự án lớn, th́ việc gặp phải hàng trăm thậm chí hàng ngàn symbol là chuyện thường, việc đặt tên sẽ rất có ích khi bạn muốn t́m một symbol nào đó bằng các từ gợi nhớ là tên symbol.

+ Behavior: Đây là thiết lập thuộc tính của symbol, bạn buộc phải chọn 1 trong ba thuộc tính cho đối tượng chuyển thành symbol.

- Graphic: đây là symbol đồ họa với mục đích phục vụ cho việc nhân bản, như ví dụ nêu trên, chỉ cần một symbol, bạn có thể dùng lại nhiều lần trong cùng một scene hay với các scene khác nhau, đây là một symbol thường dùng nhất.

- Button: là symbol thực hiện tạo các nút nhấn, các nút nhấn tạo ra sẽ chịu sự tương tác với trỏ chuột (sẽ nói rơ hơn tại bài tương tác) để điều khiển mọi thứ trong file flash của bạn.

- Movie Clip: là symbol toàn vẹn nhất, nó mang nhiều tính năng nhất, ta lấy một ví dụ cho dễ hiểu, trong một đoạn phim sẽ có nhiều đoạn quảng cáo nhỏ được chèn vào giữa phim, chúng hoạt động độc lập với bộ phim đang chiếu, tương tự như vậy ta có định nghĩa của symbol này, symbol này chứa các đoạn phim (tức chứa cả các đối tượng khung h́nh... trong đoạn phim đó), nó sẽ được lồng ghép và đoạn phim chính, hay cho chạy bất cứ lúc nào bạn muốn khi tương tác bằng button... Nó hoạt động độc lập và không nằm trong phần đang làm việc của bạn.

Cả ba thuộc tính đều có một công dụng nhất định và không có thuộc tính nào giống thuộc tính nào, vì vậy khi thiết lập thuộc tính, bạn phải biết rõ mình tạo symbol vì mục đích gì.

Để nhân đôi một symbol ta nhấn chuột phải lên symbol chọn Duplicate Symbol... (hoặc chọn trên menu Modify/Symbol/Duplicate Symbol...)

Để quản lý symbol, ta cần biết khái niệm về thư viện. Do đó tôi sẽ đề cập ngay bây giờ.

Library

Thật khó khi quản lư mọi phần tử có khả năng tái sử dụng (symbol) trong một dự án Flash nếu không gộp chúng về một đầu mối, chính v́ vậy mà khái niệm thư viện được macromedia đề xướng và sử dụng ngay từ phiên bản 4. Đến nay, đă có thêm nhiều chức năng nổi bật cho thư viện được macromedia tích hợp trong phần mềm của ḿnh như: quản lư, thêm bớt, edit lại thuộc tính symbol..., trong thư viện bạn có thể chứa mọi thứ miễn là quy chúng vè symbol, bạn cũng có thể chứa các đoạn nhạc mà ḿnh đă import, ...

Để bật cửa sổ quản lư của thư viện bạn chọn: Window/Library (hoặc chọn Ctrl + L):

Đây là giao diện của cửa sổ quản lý với các thành phần:

+ Dòng đầu tiên thống kê số phần tử tồn tại trong thư viện (trong hình là 15 items)

+ Dòng thứ hai là cửa sổ hiển thị hình dạng của đối tượng symbol.

+ Dòng ba là hộp liệt kê các phần tử với các thông số chi tiết:

- Name: cung cấp thông tin của dạng symbol, tên symbol, và biểu tượng nhận biết nhanh.

- Kind: thông tin loại phần tử, phần này có vẻ dư thừa bởi bản thân name đă cung cấp cho ta thuộc tính symbol.

- Use count: số lần sử dụng symbol, không hiểu tại sao macromedia tạo thành phần này trong khi quy cho mọi symbol số lần sử dụng lại vô hạn.

- Linkage: đây là một loạt chức năng thêm mà chỉ có phiên bản MX 2004 cung cấp, nó hỗ trợ cho việc lập tŕnh bằng Action Script, vì vậy tôi không đề cập trong bài này. Bạn sẽ sớm biết thôi mà.

- Date Modified: dịch ra là ngày cập nhật.

+ Hàng cuối:

- Biểu tượng thứ nhất: tạo symbol mới.

- Biểu tượng thứ hai: tạo folder, tại sao phải tạo folder, chắc chắn bạn sẽ hỏi như vậy, vậy tôi hỏi lại bạn, bạn có tạo folder trong các ổ đĩa ở trong máy bạn không. Tạo folder ở đây cũng vậy, với một khối lượng symbol lên tới hàng trăm và vối từ miêu tả gần cạn th́ symbol giúp ta thống kê tốt hơn với mô h́nh cây của explorer. Sau khi tạo folder, nếu bạn muốn đặt các phần tử trước vào folder th́ bạn chỉ cần kéo thả vào folder mà ḿnh muốn, c̣n nếu không th́ bạn làm ngược lại.

- Biểu tượng thứ ba: cung cấp toàn bộ thông tin về symbol (không cần thiết v́ hộp liệt kê đă làm rất tốt điều đó).

- Biểu tượng cuối: xóa đi các symbol mà bạn không thích.

Ngoài ra khi nhấn chuột phải bạn c̣n bắt gặp menu sau:

Khi nhấn folder:

- Rename: đổi tên cho folder mà bạn đang chọn.

- Duplicate: nhân đôi folder mà bạn đang chọn.

- Move to New Folder: chuyển đến một folder mới tạo, việc làm này đồng nghĩa bạn tạo một folder mới và chuyển folder ḿnh đang chọn vào trong folder mới tạo đó.

- Delete: dịch là xóa folder.

- Expand Folder: mở mọi phần tử con trong folder bạn đang chọn, giống như bạn xem mọi phần tử trong cây explorer.

- Collapse Folder: đóng lại mọi phần tử trong folder đang chọn, lại giống explorer.

- Expand All Folder: giống Expand Folder nhưng tác động lên tất cả folder trong library.

- Collapse All Folder: giống Collapse Folder nhưng tác động lên tất cả folder trong library.

Khi nhấn symbol:

- Rename: đổi tên symbol.

- Duplicate: nhân đôi symbol.

- Move to New Folder: hành động xảy ra đồng thời, tạo một folder mới và chuyển symbol đang chọn vào trong đó.

- Delete: xóa symbol mà bạn chọn.

- Edit: hiển thị khung làm việc với riêng symbol bạn chọn.

- Properties...: Hiển thị cửa sổ tạo symbol nhưng với tiêu đề Symbol Properties và chức năng là đặt lại thuộc tính chứ không phải tạo mới.

- Linkage...: không nói trong bài này.

- Play: nếu symbol thuộc dạng movie clip th́ chức năng này bật.

- Type: chuyển đổi nhanh thuộc tính của symbol về một trong hai thuộc tính c̣n lại hoặc giữ nguyên.

- Export Flash Movie...: xuất symbol về file thi hành *.swf (chỉ dùng cho dạng movie clip bởi nó hội đủ mọi yêu cầu như một dự án).

- Export SWC File..: xuất ra file swc, đây là file định dạng thành phần, là một file chứa compiled clips được export.

- Covert to Compiled Clip: ở trên tôi đă đề cập đến cụm từ này, Compiled Clip là các symbol movie clip được xuất thành swf, vậy tính năng của nó tương tự symbol movie clip, tại sao macromedia lại thêm vào, v́ nó có khả năng kết nối cao, phân tán thành các file SWC nói trên và không những thế khả năng hiển thị của nó nhanh hơn so với symbol movie clip, nhưng hăy nhớ, với Compiled Clip bạn sẽ không thể chỉnh sửa lại như với symbol movie clip.

- Component Definition...: sẽ đề cập trong bài về các Components.

Để sử dụng một symbol vào khung làm việc, đơn giản bạn chỉ cần chọn symbol trong library và kéo thả chúng ra vùng làm việc với bất ḱ chỗ nào bạn muốn.

Đến đây tôi đă cung cấp cho bạn xong các khái niệm về symbol, scene và library, trong bài tiếp theo chúng ta sẽ làm ví dụ về chúng để các bạn nắm rơ hơn.