Hiển thị các bài đăng có nhãn Lý thuyết cơ bản về Flash. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Lý thuyết cơ bản về Flash. Hiển thị tất cả bài đăng

Thứ Ba, 26 tháng 5, 2111

Lý thiết cơ bản trong flash

Thứ Tư, 22 tháng 6, 2011

Học Macromedia Flash MX

Làm quen với Web chúng ta không ai là không biết đến Flash ,

hinh%2001 Học Macromedia Flash MX

[left]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 :[/left]

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.

[center]hinh%2002 Học Macromedia Flash MX

hinh%2003 Học Macromedia Flash MX

[/center]

[center]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 7.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.[/center]

[center]Giao diện của Macromedia Flash MX

hinh%2001 Học Macromedia Flash MX

[/center]

[/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ụ)[left]* Công cụ Lasso :

[/left]

[center]hinh%2004 Học Macromedia Flash MX[/center]

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 :

[center]hinh%2005 Học Macromedia Flash MX[/center]

-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

[right]GK ([email]“gelukrait@yahoo.com”[/email])[/right]

==============================================================================

Các công cụ vẽ (thanh công cụ) (tiếp theo)

* Công cụ Lasso (phím L) :[center]hinh%2006 Học Macromedia Flash MX

[/center]

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 .

Công cụ này có 3 mức làm việc :

[center]hinh%2007 Học Macromedia Flash MX[/center]

-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

[left]* Công cụ Pen (phím P) :[/left]

[center]hinh%2008 Học Macromedia Flash MX[/center]

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) :

[center]hinh%2009 Học Macromedia Flash MX[/center]

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 .

[center]hinh10 Học Macromedia Flash MX[/center]

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 :

hinh11 Học Macromedia Flash MXĐ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 : [center]hinh12 Học Macromedia Flash MX

[/center]

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 :

hinh13 Học Macromedia Flash MXNhấ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 :

[center]hinh14 Học Macromedia Flash MX[/center]

Đô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

[center]hinh15 Học Macromedia Flash MX[/center]

-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 :

[center]hinh16 Học Macromedia Flash MX[/center]

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 icon mad Học Macromedia Flash MXem 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 :

[center]hinh17 Học Macromedia Flash MX[/center]

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 icon mad Học Macromedia Flash MXá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 icon mad Học Macromedia Flash MXá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 :hinh18 Học Macromedia Flash MXnơi để bạn đặt các khung hình thật trên một lớp vào.Cách đặt là bạn chọn một vị trí trên khung hình rỗng nhấn chuột phải và chọn Insert Frame.

- Khung hình khóa :

[center]hinh19 Học Macromedia Flash MX[/center]

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  Học Macromedia Flash MX

0px;padding: 0px;margin: 0px" src="http://www.echip.com.vn/echiproot/html/tutor/flashmx/bai4/hinh20.jpg" alt="Hình ảnh" /> 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ả.hinh21 Học Macromedia Flash MXNế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 đề hinh23 Học Macromedia Flash MX 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.[center]hinh22 Học Macromedia Flash MX

[/center]

+ : 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:

[center]hinh25 Học Macromedia Flash MX[/center]

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 (hinh24 Học Macromedia Flash MX –> 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 trước tôi đã đề cập đến việc tạo khung hình nố tiếp, một trong hai dạng chính của khung hình. Quả thật, nếu làm một flash mà chỉ đầu tư “cơ bắp” vậy cũng đã đủ khoảng 60-70%, nhưng giả sử đoạn flash ấy kéo dài 1 phút hay hơn vậy thì làm một bài tính đơn giản cho số đoạn frames mà bạn thiết lập thì đúng là một “big problem”, hiểu được vấn đề đó, hãng macromedia đã sáng tạo ra một loại khung hình thứ 2, đó là khung hình biến đổi (xem chi tiết phần cơ bản ở bài 4).Nay tôi xin hướng dẫn bạn cách tạo khung hình biến đổi dạng đầu tiên:

Khung hình biến đổi chuyển động

Để cho bài học có một cái gì đó cho bạn thực hành và dễ hiểu, tôi sẽ làm một ví dụ nho nhỏ sau, bạn sẽ làm cho chú gà con “Echip” bay từ một điểm này đến điểm khác sau một đoạn khung hình. Và đầu tiên bạn cần chuẩn bị cho tôi một tấm hình “gà con” hay đại loại gì đó cũng được (nói thế không phải không làm việc với text được).

Tôi sẽ tạo một tài liệu mới 800×600 pixels và cho chú gà bay từ góc trái sang góc phải, thời gian bay là 5s, nếu bạn đặt số frame trong 1 giây là 12 vậy tương đương với 60 frames.Vậy tại frame thứ 60, bạn tạo ra một khung hình khóa.

hinh26 Học Macromedia Flash MXĐặt trỏ chuột tại khung hình đầu tiên (hình) và chọn trên thanh menu : File>Import (hoặc nhấn Ctrl+R) để chèn hình ban đầu vào. Hộp thoại Import hiện ra, bạn chọn hình mà mình đã chuẩn bị sẵn.

Khi này, bạn sẽ thấy xuất hiện hình mà mình muốn chèn nằm giữa khung làm việc, bạn nhấn V chọn công cụ Arrow để dời hình về góc trái khung làm việc. Đồng thời bạn sẽ thấy toàn bộ phần khung từ frame 1-59 bị tô xám.

hinh27 Học Macromedia Flash MXLúc này bạn chọn frame đầu tiên và nhấn giữ nút shift, giữ cho đến khi bạn chọn frame thứ 59 thì hẵng buông ra để đánh dấu chọn khung hình 1 đến khung hình 59, sau đó nhấn chuột phải chọn Remove Tween, làm điều này chúng ta sẽ biến cả đoạn khung hình ở giữa thành khung hình biến đổi có vấn đề, buộc phải làm vậy để có thể chuyển sang một trong hai dạng khung hình biến đổi (nói cách khác khung hình biến đổi có vấn đề là khung hình bị thiếu mất khung hình khóa đầu hay khung hình khóa cuối, và là bước trung gian từ khung hình bình thường thành khung hình dạng biến đổi.

Tiếp đến ta click chọn hình chú gà con (hình trên) và nhấn tổ hợp phím Ctrl+C để copy hình chú gà. Và bạn thử đoán xem ta sẽ paste ở đâu? Hẳn là ở frame thứ 60 rồi. Tôi sẽ nói chi tiết hơn một tí, bạn chọn frame 60 sau đó dùng công cụ Arrow click vào khung làm việc một cái sau đó nhấn Ctrl+V, và bạn sẽ kéo hình chú gà này về phía tuốt tận cùng phíc bên phải. Xong xuôi bạn sẽ có khung hình như sau:

hinh28 Học Macromedia Flash MXVậy là đầy đủ điều kiện cho một khung hình dạng biến đổi (có khung hình khóa ở đầu và khung hình khóa kết thúc), đến lúc này trướ khi xuất ra xem bạn có thể kiểm tra trước tương tự như khung hình nối tiếp. Đoạn khung hình ở giữa có hình mũi tên sẽ do flash tính toán đường bay cho chú chim từ góc phải sang góc trái. Đơn giản quá phải không? Nhưng tiếc thay một số thao tác mà tôi vừa hướng dẫn các bạn có pha một chút không chính quy, bạn có nhận ra là gì không? Đó là khung hình đết thúc, nó chưa là khung hình biến đổi (nếu là thì nó đâu có màu xám).

[url="http://www.echip.com.vn/echiproot/html/tutor/flashmx/bai6.html#top"][Đầu trang][/url] Vậy tôi sẽ hướng dẫn cho bạn cách chính quy và theo bạn cách nào nhanh hơn là còn tùy. Cũng như trên nhưng ta dừng lại ở chỗ vừa tạo xong khung hình biến đổi có vấn đề. Lúc này bạn chỉ cần chọn khung hình thứ 59 và nhấn chuột phải chọn Insert Keyframe, sau đó để trỏ chuột ở khung hình thứ 59 (lúc này đã biến thành khung hình khóa), và kéo hình chú gà trong khung làm việc về góc phải:

hinh29 Học Macromedia Flash MXVậy là xong, nhưng bạn thấy đấy, mọi việc kết thúc ở khung hình 59, và khung hình 60 lại bị biến thành khung hình khóa trống, vậy một điều rút ra được là khi áp dụng cách chính quy thì bạn phải tạo dư ra một khung hình lúc đầu và sau đó phải xóa cái khung hình dư đó đi. Thế đấy, cái nào cũng có một chút phiền phức nhất định cả. Nhưng với cách làm đầu tiên tôi cũng muốn nói với các bạn một điều, hãy tận dụng triệt để khả năng cắt dán trong flash, nó cũng tương tự như các chương trình Office và sẽ tiết kiệm cho bạn một khối thời gian lớn khi làm việc.

[center]
[/center]
Bạn thấy đấy, mặc dù chỉ với một số bước ngắn gọn mà ta đã có thể tiết kiệm biết bao nhiêu sức lao động trong khi cứ phải tạo mỗi đoạn frame rồi đặt một hình vào cho ví dụ khung hình nối tiếp, và với ví dụ trên nếu bạn tạo thêm nhiều khóa ở giữa nữa, chẳng hạn 12 frame thì cứ đặt một khóa và tại mỗi khóa bạn dịch chuyển chú gà con một tí thì hẳn chú sẽ bay lượn đẹp lắm ta. Nếu mà làm với khung hình nối tiếp thì quả thực trời hỡi cực ơi là cực và còn không chính xác nữa chứ, và tôi xin đưa ra ngay ví dụ :

Bạn thấy giữa hai hình có sự khác biệt chứ, một chú thì bay thẳng một đường làm cho đoạn flash mất tự nhiên làm sao, còn một chú thì bay lượn một chút xíu trong có vẻ tự nhiên hơn.

Thực ra tôi chỉ có thay đổi chút xíu như đã nói ở trên thôi, nếu vẫn chưa hiểu thì bạn nhìn hình dưới đây sẽ tưởng tượng ra ngay thôi, và nhớ là có 5 đoạn khung hình bến đổi đấy nhé:

hinh30 Học Macromedia Flash MXHình mỗi Chíp ở đây chính là một vị trí của khung hình khóa, với cách làm như vậy góc độ khi bay sẽ bị lệch đi một chút và đánh lừa người xem khiến họ nghĩ rằng thực ra những chú chim kia bay lượn lờ. Từ ví dụ này tôi khuyên các bạn đừng để vị trí các chú Chip lệch nhau quá, mà chỉ nên hơi lệch thôi, và khoảng cách giữa hai điểm nên nhỏ thôi nếu không đoạn flash sẽ cho thấy ch

ú Chip bay theo góc cạnh chứ không lượn lờ nữa, vậy chắc chắn sẽ không thuyết phục được người xem.

Đến đây tôi đã giới thiệu xong khung hình dạng biến đổi chuyển động, nhưng tất cả chỉ mới là căn bản thôi, sau khi giới thiệu xong 4 khâu căn bản tôi sẽ đi vào chuyên sâu hơn cho các bạn sau, và ở bài sau (bài 6b) chúng ta sẽ tiếp tục làm quen với khung hình biến đổi hình dạng với ví dụ mà trước kia tôi đã đề cập với các bạn, biến một chữ G màu xanh thành một chữ K màu đỏ.

==============================================================================

Khung hình biến đổi hình dạng:

Ở bài 6a chúng ta đã được làm quen với dạng khung hình biến đổi chuyển động. Giờ tôi sẽ thực hiện lời hứa của mình, hướng dẫn ngay các bạn các cơ bản để tạo một khung hình biến đổi hình dạng, vậy xin được bỏ qua phần giới thiệu dài dòng vì dù sao qua các bài học trước các bạn cũng đã biết phần nào về loại khung hình này.

[center]
[/center]
* Khái quát:

Chúng ta sẽ làm cho tất cả biến đổi diễn biến trong vòng hai giây nên như các bạn cũng biết chúng ta phải tạo ra số frame gấp đôi so với mặc định mà bạn quy định có trong một giây (thông thường thì là 12fps thì số frame bạn cần tạo 24 frames, và đây là lần cuối tôi nhắc lại việc quy định frames, sau này mọi bài viết sẽ để ở mức frame chuẩn là 12fps, tôi sẽ không nói nhiều vể phép tính tạo frame đơn giản nữa).

* Phần chính:

- Đầu tiên bạn đặt thanh thực hiện tại frame thứ nhất, tại đây bạn chọn công cụ Text và nhập vào chữ G.

- Tiến tới frame thứ 24 bạn nhấn chuột phải chọn Insert Blank Keyframe (nên nhớ là Blank chứ không phải Insert Keyframe, còn tại sao phải như vậy thì xin bạn xem lại bài 5).

- Giờ frame thứ 14 của bạn sẽ là khung hình trống, tại đây bạn lại chọn công cụ Text và nhập chữ K tại ngay vị trí mà bạn đã nhập chữ G (bạn chọn font chữ lớn hơn cũng không sao bởi vì biến đổi hình dạng bao gồm ý biến đổi kích thước).

- Nhập hai chữ G và K xong công việc của bạn vẫn chưa kết thúc, việc mà bạn phải làm là biến các chữ dạng text (thuần văn bản) này sang dạng hình (bởi flash chỉ chấp nhận biến đổi các hình dạng chứ không thể biến đổi các file mà mỗi kí tự của nó mang tên đuôi khác trong Wins).

- Để làm việc này bạn chọn khung hình đầu tiên và chọn trên menu: Modify>Break Apart (hoặc nhấn Ctrl+B), bạn thực hiện điều tương tự cho chữ K.

- Tiếp theo bạn di chuyển thanh thực hiện đến vị trí frame đầu tiên. Ở đây bạn nhấn chuột phải chọn Properties, bảng Properties ở cuối màn hình hiện ra và bạn chọn thông số như hình sau:

[center]hinh31 Học Macromedia Flash MX
[/center]
Như bạn thấy đấy trước đây khi tạo khung hình chuyển động thì chúng ta chọn Motion, giờ khi chọn shape thì hiễn nhiên là dạng còn lại của khung hình (vậy là khung tween đã không còn bí ẩn gì với chúng ta và tôi đã thực hiện lời hứa sẽ giải thích toàn bộ cho bạn). Sau khi chọn Shape khung hình của chúng ta sẽ biến thành như thế này:

hinh32 Học Macromedia Flash MX(đúng với màu xanh lá cây sáng mà tôi nhắc đến trong bài 4)

Nhưng còn thông số Ease và Blend là gì? Bạn chớ băn khoăn, tôi giải thích ngay đây:

+ Ease: có hai giá trị từ -100 đến 0 là giá trị In, từ 0 đến 100 là giá trị Out. Là tùy chọn giúp bạn tăng giảm tốc độ chuyển động biến đổi. Ease giúp cho khoảng thời gian từ khi bắt đầu cho đến khi kết thúc chuyển động biến đổi tốc độ sẽ tăng dần hay giảm dần. Nếu giá trị 0 đương nhiên tốc độ sẽ không thay đổi từ khi bắt đầu cho đến khi kết thúc chuyển động.

+ Blend: có hai thông số chính là Distributive và Angular.Là tùy chọn giúp cho đường nét và góc hòa trộn nhau. Distributive phù hợp cho hình dạng cong và trơn. Angular ngược lại là lựa chọn số 1 cho góc cạnh. Nói vậy chứ dù là góc hay dạng cong đều có thể một trong hai thứ này, chỉ là cái nào phù hợp và tối ưu hơn thôi. Trong ví dụ bạn thấy rõ chữ G thì cong còn chữ K thì góc cạnh nên bạn chọn tùy chọn nào cũng tốt cả.

Đến lúc này sau khi thiết lập xong bạn đã có một flash biến đổi hình dạng hoàn chỉnh mà không cần phải phân chính quy hay không như chuyển động rồi đấy, bạn có thể xem thẳng ngay trong FlashMX cũng được, nếu không thì xuất ra xem cũng không sao.

[center]
[/center]
Trên là ví dụ về việc vừa biến đổi hình vừa biến đổi độ lớn

==============================================================================

Tất cả các công phu về biến đổi hình dạng do Macromedia cung cấp cho chúng ta vẫn chưa dừng tại đó, hãng còn cung cấp cho chúng ta một tính năng tuyệt vời có tên Shape Hints.

Shape Hint: là chứ năng chọn và quy định một hay nhiều vị trí trên hình ban đầu theo bảng chữ cái và quy định các điểm tương ứng tại hình dạng kết thúc. Một điều thuận lợi từ Shape Hint là khi đặt, các điểm sẽ tự động dò tìm theo phần tử của hình, dễ dàng cho ta thiết lập và việc biến đổi vị trí các phần tử diễn ra theo ý ta chứ không phải do flash quyết định.

Để sử này ta chọn Modify>Shape>Add Shape Hint (Ctrl+Shift+H).

- Chọn khung hình đầu tiên, sau đó chọn chức năng Shape Hint, sau đó kéo điểm Shape Hint đến góc nào đó trong hình, thực hiện như vậy cho đến khi các điểm Shape Hint bao quanh hình:

[center]hinh33 Học Macromedia Flash MX
[/center]
Như các bạn cũng thấy, trong hình các vị trí mà tôi đặt là theo thứ tự từ a đến i, từ đó bạn cũng buộc phải đặt ở frame cuối cùng bao quanh chữ K là các điểm Shape Hint từ a đến i, nếu không thực hiện đúng quy trình thì hậu quả dẫn đến là đoạn flash biến đổi của bạn không hợp logic từ đó khiến cho đoạn flash có kết quả khó đoán, hỏng đi sự biến đổi mềm mại mà thay vì flash giúp ta tự tính toán nếu không sử dụng tính năng này.

- Tiếp đến ta chọn khung hình cuối cùng và đặt các điểm Shape Hint tương ứng như tôi đã nói ở trên. Cần lưu ý khi bạn tiến đến frame cuối chứa chữ K thì các điểm SH (Shape Hint) không cần phải tạo lại mà chúng nằm đè lên nhau, việc của bạn là phải tách chúng ra và đặt chúng tại các điểm hợp lý:

hinh34 Học Macromedia Flash MXNguyên trạng khi vừa chuyển đến frame cuối, các SH đè lên nhau và trên cùng là SH i.

hinh35 Học Macromedia Flash MXĐây là các vị trí SH sau khi chỉnh sửa vị trí, nhưng rất tiếc là không hợp logic nên Flash không thể tính toán chu trình biến đổi.

SH là một tính chất kèm thêm của Flash cực mạnh và cho phép bạn thay đổi cơ cấu biến đổi, nhưng bù lại nó lại rất khó sử dụng trong khâu đặt các phần tử sao cho hợp logic. Do đó nếu bạn mới bắt đầu học flash thì chỉ nên áp dụng cho các cấu trúc hình học đơn giản như hình vuông chữ T hay hình tròn,… Còn nếu bạn là một Designer chuyên nghiệp hay đã sử dụng thuần thục Flash thì đây là một mấu chốt của sự khác nhau giữa trình độ của bạn và người khác.

Nếu việc thiết lập SH không thành công, bạn không nên lo lắng mà bỏ tất cả đoạn flash, bạn có thể bỏ tất cả SH bằng cách nhấn chuột phải vào một SH nào đó trong hình của Frame đầu tiên chọn Remove All Hints để xóa bỏ tất cả và Remove Hint để xóa SH mà bạn đang chọn. Đơn nhiên tạo thêm Hint thì bạn chọn Add Hint.

Đến đây là kết thúc phần cơ bản của khung hình dạng biến đổi hình dạng, tiếp đến tôi sẽ hướng dẫn bạn các nào để chú gà Chip bay vòng tròn khi sử dụng khung hình chuyển động. Tất cả sẽ được thực hiện gói gọn trong bài 6c, nhưng trước hết bạn cũng nên xem lại những bài liên quan đến công cụ vẽ đã đưa lên website Echip để dễ thao tác hơn trong bài 6c

Một số công cụ

+ Ease: có hai giá trị từ -100 đến 0 là giá trị In, từ 0 đến 100 là giá trị Out. Là tùy chọn giúp bạn tăng giảm tốc độ chuyển động biến đổi. Ease giúp cho khoảng thời gian từ khi bắt đầu cho đến khi kết thúc chuyển động biến đổi tốc độ sẽ tăng dần hay giảm dần. Nếu giá trị 0 đương nhiên tốc độ sẽ không thay đổi từ khi bắt đầu cho đến khi kết thúc chuyển động.

+ Blend: có hai thông số chính là Distributive và Angular.Là tùy chọn giúp cho đường nét và góc hòa trộn nhau. Distributive phù hợp cho hình dạng cong và trơn. Angular ngược lại là lựa chọn số 1 cho góc cạnh. Nói vậy chứ dù là góc hay dạng cong đều có thể một trong hai thứ này, chỉ là cái nào phù hợp và tối ưu hơn thôi. Trong ví dụ bạn thấy rõ chữ G thì cong còn chữ K thì góc cạnh nên bạn chọn tùy chọn nào cũng tốt cả.

Shape Hint: là chứ năng chọn và quy định một hay nhiều vị trí trên hình ban đầu theo bảng chữ cái và quy định các điểm tương ứng tại hình dạng kết thúc. Một điều thuận lợi từ Shape Hint là khi đặt, các điểm sẽ tự động dò tìm theo phần tử của hình, dễ dàng cho ta thiết lập và việc biến đổi vị trí các phần tử diễn ra theo ý ta chứ không phải do flash quyết định.

Thứ Bảy, 18 tháng 6, 2011

Random snow

Trong bài này, mình sẽ hướng dẫn các bạn cách làm tuyết rơi.
Bảo đảm sau khi làm xong, bạn sẽ thích mê!

Giờ mình bắt đầu hen!

1. Khởi động Macromedia Flash 2004

2. Tạo một tập tin Flash mới bằng cách click chọn menu File --> New --> Flash Document. Nhấn OK để chấp nhận.

3. Thay đổi màu nền bằng màu đen (mình sẽ cho tuyết trắng rơi vào ..ban đêm ) : Chọn menu Modify --> Document. Chọn màu đen trong Background color. Click OK để chấp nhận.

4. Bạn kiếm hình một bông tuyết, tiến hành insert bông tuyết vào Stage (màn hình làm việc của Flash):
Chọn menu File --> Import --> Import to Stage. Sau đó chọn hình cần insert. Click Open để tiến hành chèn.

5. Tiến hành convert bông tuyết thành 1 MovieClip như sau (để viết lệnh trên đối tượng này): Click chọn bông tuyết, click chuột phải, chọn Convert to Symbol. Xuất hiện hộp thoại Convert to symbol, đặt tên cho MovieClip trong khung Name. Chọn Movie clip trong mục Behavior. Nhấn OK để chấp nhận.

6. Nhấn F9 để mở cửa sổ Action. (Cửa sổ dùng để viết lệnh)

7. Nhấn chuột trên MoviClip bông tuyết. Sau đó viết lệnh trong cửa sổ Action như sau:

// Khởi tạo vị trí x, y, độ xoay Rotation, đồ mờ alpha, kích thước xscale, yscale của hình là một giá trị ngẫu nhiên.
onClipEvent (load)
{
this._x = Stage.width * Math.random()
this._y = Stage.height * Math.random()
this._rotation = 360 * Math.random()
this._alpha = 10 + Math.random() * 100;
this._xscale = this._yscale = 60 + 40 * Math.random()
}

// Tạo độ rung nhẹ, độ xoay rotation và xử lý biến mất chạm biên dưới màn hình


onClipEvent (enterFrame)
{
nTemp = 1-2*random(2)
nSpeedX = nTemp * Math.random()
nSpeedY = -3 * Math.random()
nRotation = Math.random() * 1 + 0.500000
this._x = this._x - nSpeedX;
this._y = this._y - nSpeedY;
this._rotation = this._rotation + nRotation;

if (this._y > 480)
{
this._alpha = 0
this._y = 0 - nSpeedY
this._alpha = 10 + Math.random() * 100;
}
}

8. Cũng tạm ổn. Bạn nhấn Ctrl + Enter chạy thử. Cũng tuyệt phải ko? Nhưng nó chỉ xuất hiện có 1 bông tuyết!!?!!
9. Để tạo nhiều bông tuyết xuất hiện trên màn hình. Bạn cần sử dụng hàm:
duplicateMovieClip(target, newname, depth)

trong đó:
+ target: Tên MovieClip gốc
+ newname: tên MovieClip được sao chép
+ depth: độ sâu của đối tượng, nó là một số và duy nhất cho một đối tượng. Nếu 2 đối tượng có cùng chỉ số depth thì có thể 1 trong 2 đối tượng sẽ không xuất hiện trên màn hình.

10. Cách tạo thật nhiều bông tuyết:
- Click chọn bông tuyết và đặt tên cho đối tượng này như sau: Mở cửa sổ Properties (ctrl + F3). Trong khung Instance Name, đặt tên cho bông tuyết là snow.
- Click chọn keyframe đầu tiên trên thanh timeline

- Trong cửa sổ Action, ta viết lệnh như sau:

for(var i =0; i<200; i++)
{
duplicateMovieClip("snow","snow"+i, i);
}

Đoạn lệnh trên tạo ra 200 bông tuyết

11. Xong rùi, giờ bạn chỉ cần nhấn Ctrl + Enter để thưởng thức ... tuyết

Chúc các bạn thành công khi làm ..bông tuyết!

---------------------

thank bro mot phát nhé. Bài viết hay lắm, cái này mà chèn hình một chàng trai cầm đóa hoa đứng dưới đất ngước nhìn lên phòng cô gái thì ....tuyệt

----------------------

Nhưng nói thật nhé, tuyết này có cái nền đen, lại rơi chưa thật mịn hơi bị...cà giựt sao ấy, chắc phải tăng frame lên quá àh cũng nên tăng tốc độ nữa

----------------------

Có 2 cách để chỉnh theo ý của bạn:

- Nếu bạn thích tuyết rơi đều, ko có ...nhanh chậm ngẫu nhiên.
Bạn chỉ cần thay đổi giá trị của biến nSpeedY thành một số cố định chứ không phải là một số ngẫu nhiên.
VD: nSpeedY = -2 (nhanh chậm tùy bạn)

onClipEvent (enterFrame)
{
nTemp = 1-2*random(2)
nSpeedX = nTemp * Math.random()
nSpeedY = -2
nRotation = Math.random() * 1 + 0.500000
this._x = this._x - nSpeedX;
this._y = this._y - nSpeedY;
this._rotation = this._rotation + nRotation;

if (this._y > 480)
{
this._alpha = 0
this._y = 0 - nSpeedY
this._alpha = 10 + Math.random() * 100;
}
}



- Nếu thích tốc độ tuyết rơi nhanh chậm ngẫu nhiên mà ko giựt, bạn chỉ cần di chuyển dòng lệnh
nSpeedY = -3 + Math.random lên trên sự kiện onClipEvent (load) là được:

onClipEvent (load)
{
this._x = 800 * Math.random()
this._y = 600 * Math.random()
this._rotation = 360 * Math.random()
this._alpha = 10 + Math.random() * 100;
this._xscale = this._yscale = 60 + 40 * Math.random()
nSpeedY = -3 * Math.random()
}

Random color 1

random color 1

Learn this tutorial and see how to create random effect in flash 8 using Action Script.

click để xem file swf

Step 1

Create a new flash document, press Ctrl+J key (Document Properties), and set Width to 330 and Height to 200px. Frame rate set to 16fps (Frames per Second).

Step 2

Take the Rectangle Tool (R), and draw a "cube" 25x25px. See the picture below.



Step 3

While your "cube" is still selected, press F8 key to convert it into a Movie Clip. See the picture below.



Step 4

Then, open the Properties Panel (Ctrl+F3), and under type cube.



Step 5

Select the "cube" again, open the Action Script Panel (F9), and paste this script:

onClipEvent(enterFrame){
r = Math.floor(Math.random()*255)
g = Math.floor(Math.random()*255)
b = Math.floor(Math.random()*255)
colourobj=new Color(this)
colourobj.setRGB(r<<16|g<<8|b)
}

Step 6

Cick on frame 1, open again the Action Script Panel (F9), and paste this sctipt:

for(i=1;i<=50;++i){
duplicateMovieClip("cube","movie"+i,i)
}
numobjects=1
for(i=1;i<=10;++i){
for(z=1;z<=5;++z){
this["movie"+numobjects]._x = i*30;
this["movie"+numobjects]._y = z*30;
numobjects+=1
}
}
cube._visible = false;

Test your Movie (Ctrl+Enter).

We're done!

Download source file (.fla)

Math.random()

Math.random();
// Tạo ra 1 số bất kỳ giữa 0 và 1 như 0.0105901374530933

Với số nguyên

Math.round(); // làm tròn số để thành số nguyên . ví dụ : 1,57→ 2
Math.ceil(); // thêm phần lẻ để thành số nguyên . ví dụ : 1,5 → 2
Math.floor(); // bỏ phần lẻ để thành số nguyên . ví dụ : 1,5 → 1


Tạo số bất kỳ giữa 2 số

Math.round(Math.random()); // kết quả kiểu như boolean là 0 hay là 1

Tạo số bất kỳ giữa nhiều số

Math.round(Math.random()*10); // kết quả xuất ra số nguyên ngẫu nhiên trong khoảng 0 - 10
Math.ceil(Math.random()*10); // kết quả xuất ra số nguyên ngẫu nhiên trong khoảng 1- 10
Math.round(Math.random()*15)+5; // kết quả xuất ra số nguyên ngẫu nhiên trong khoảng 5 - 20
Math.round(Math.random()*(y-x))+x; // kết quả xuất ra 1 số nguyên ngẫu nhiên giữa x và y


Ví dụ 1:

Tạo 1 button và 1 Dynamic text box có tên biến (variable) là "display". Click chọn button và nhập dòng code sau vào bảng lệnh action

on (release) {
display = Math.round (Math.random ()*200)-100;
}

And that's it! Now test your movie and give it a try out. You'll notice that the values in the code follow the pattern set by the general formula ie if x = -100, and y =100, then y-x=200 and +x = -100.

This can have many different applications within flash. For example, to have a movieclip appear in random positions on the screen between the values of 0 and 200 you could have the following. Note: movieclip instance is called "bob".
bob._x = Math.round(Math.random()*200); // movieClip "bob" có vị trí ngẫu nhiên từ 0 - 200 theo trục x
bob._y = Math.round(Math.random()*200); // movieClip "bob" có vị trí ngẫu nhiên từ 0 - 200 theo trục y

Or to set the size of a movieclip randomly (between 0 and 100):
bob._width = Math.round(Math.random()*100); // bề ngang movieClip "bob" có giá trị ngẩu nhiên từ 0 - 100
bob._height = Math.round(Math.random()*100); // chiều cao movieClip "bob" có giá trị ngẩu nhiên từ 0 - 100

Or to choose a random movieclip to load, say if our movieclips have a linkage name of "bob1", "bob2" and we have 5 of them:
i = Math.ceil(Math.random()*5);
attachmovie("bob"+i, "fred"+i, 1);

So that would attach a random movie, say "bob3", into level 1 and then give it an instance name of "fred3".

Well, that's the basics of using the random function in Flash 5. Hopefully now you will be able to incorporate this into your movies to produce some even more amazing flash work. =)

Random with movieClip:

- place:

- size:

- Alpha:

- Color:

- time:

- duplicate
reset.onRelease = dupMovie;
color = ["0x94B469", "0xD39E90", "0x8FB4A3"];
math = Math.floor(Math.random()*15+15);
trace(math);
MovieClip.prototype.setRGB = function(colorValue) {
new Color(this).setRGB(colorValue);
};
function dupMovie() {
for (i=0; i

http://www.actionscript.org/resources/articles/90/1/Maths-Functions-including-Random/Page1.html
Subpages (2): random color 1 random snow

Cấu trúc cơ bản trong flash

hư đã từng được đề cập trong những bài trước, Flash cung cấp cho người dùng 2 cách sử dụng: dùng các công cụ tiện ích có sẵn của flash hoặc lập trình bằng ngôn ngữ actionscript (mà thường là phải phối hợp cả 2).

Bài học dưới đây chỉ là bài vở lòng đối với giới lập trình nhưng lại khá mới mẻ với các nhà đồ họa, vốn chỉ chuyên về hình ảnh và màu sắc. Thế nhưng nếu bỏ chút công sức tìm hiểu về action script, bạn sẽ có được khả năng gần như vô hạn trong thế giới hiệu ứng tương tác kỳ thú của Flash...Bạn cũng đừng lo lắng quá vì các thí dụ minh họa trong bài là các đoạn code đơn giản, dễ hiểu và chạy được ngay khi nhập vào action panel.

Thực ra có nhiều phần mềm đồ họa hổ trợ thêm ngôn ngữ lập trình để người sử dụng có thể tham gia viết lệnh, tạo thêm cho mình công cụ, tiện ích nhằm đáp ứng riêng cho 1 nhu cầu nào đó như trong AutoCad thì có Autolist, trong 3Dsmax có Maxscript...tương tự như là Macro trong word và excel vậy. Tuy nhiên so với những phần mềm trên thì ngôn ngữ action script trong Flash quan trọng hơn nhiều, nó đóng 1 vai trò thiết yếu tạo nên thế mạnh riêng cho Flash, đó là tính TƯƠNG TÁC. Thử đơn cử 1 vài ví dụ có actionScript tham gia như sau:

- Các trình ứng dụng web như: form login, giao tiếp với các cơ sở dữ liệu...
- Tạo các ứng dụng tương tác cao như các ứng dụng về game, thiệp..
- Tạo các họat cảnh 3D: Trong các đoạn quảng cáo, banner..
- Tải file động: load và unload các file nằm ngoài (external data) vào flash
- Biên dịch hồ sơ XML: Tương tác máy chủ và máy khách
Tuy nhiên trong khuôn khổ học phần này chúng ta chỉ nên xem qua các cấu trúc cơ bản để kết hợp và xử lý các công cụ trực quan của flash và các dòng lệnh đơn giản actionscript. việc nghiên cứu sâu hơn nên dành cho các khóa học nâng cao sau này khi chúng ta đã có sự chuẩn bị và nhiều thời gian hơn.

A. Đặc điểm:

- Case Sensitivity: Flash có phân biệt chữ Hoa, chữ thường. Vì thế tên biến "Name" và "name" sẽ là 2 tên biến riêng biệt.
- OOP: Theo hướng lập trình hướng đối tượng kiểu như Java
- Version mới nhất hiện nay là ActionScript 2.0
Tiêu chuẩn viết lệnh là: ngắn gọn, dễ hiểu và ít tốn tài nguyên máy (về thời gian..).

B.

C. Từ khóa (Key word):

break (ngắt lệnh)case (trong cấu trúc switch)class (lớp)continue
default (lệnh mặc định)deletedynamic (kiểu dữ liệu dynamic)else (trong câu điều kiện if..else)
extends (kiểu lớp kế thừa)for (vòng lặp for)function (hàm)get
if (câu điều kiện if)implementsimport (import thư viên)in (Trong hàm for)
instanceofinterfaceintrinsicnew (khai báo 1 intance của class)
private (kiểu dữ liệu private)public (kiểu dữ liệu public)return (kiểu hàm trả về 1 giá trị)set
static (kiểu dữ liệu static)switch (cấu trúc chia từng trường hợp)this (chỉ đối tượng hiện hành)typeof
var (khai báo biến)void (kiểu hàm không trả về giá trị)while (vòng lặp while)with (cấu trúc gom thuộc tính )

Như vậy để tránh cho actionscript "hiểu nhầm", chúng ta không được khai báo tên biến trùng với từ khoá.

D. Cú pháp (Syntax)

1. Dấu chấm_Dot (.): - Gán phương thức: my_mc.onRelease=function(){}

- Đường dẫn: _root.clip1_mc.clip2_mc. gotoAndStop(2)
- Sở hữu, thuộc tính: my_mc._width; chiều ngang movieClip "my_mc"

2. Dấu chấm phẩy_Semicolons (;): là dấu kết thúc 1 câu lệnh (như dấu chấm câu).

3. Dấu ngoặc móc_Curly braces ({}): Mở đầu và kết thúc 1 hàm hay 1 cấu trúc có nhiều dòng lệnh.

4. Dấu ngoặc đơn_Parentheses (()): Thường là phần khai báo tham số cho 1 hàm, function myFunction (x,y,z){your code}

5. Dấu 2 gạch xiên (//, /*...*/): Cho phép người dùng thêm dòng chú thích, minh họa chương trình. Flash sẽ bỏ qua khi chạy chương trình. Lợi dụng tính chất này, ta có thể tạm thời vô hiệu hóa 1 đoạn lệnh nào đó khi kiểm tra từng cụm lệnh:
Tạo 1 dòng chú thích: đặt ký hiệu // ở đầu câu
Tạo 1 cụm nhiều dòng chú thích: khóa đầu và đuôi cụm bằng /* và */

E. Toán tử (Operators)

1. Toán tử số (Numeric Operators):

Toán tử ý nghĩaVí dụKết quả
+- Cộng / TrừNumber(2) + Number (4) 6
*/ Nhân / Chia2*3 6
% Modulo (số dư của phép chia)7%4 3
++-- Tăng / Giảm5++ / ++5 5 / 6
total = (Number(4) + Number(2*5))%3lấy số dư của (4 + 2*5) chia 3 2

2. Toán tử so sánh (Comparison Operators): toán tử này thường sử dụng cho kiểu dữ liệu Boolean

Toán tử ý nghĩaVí dụKết quả
>< Lớn hơn / Nhỏ hơn true/ false
>=<= Lớn hơn/ nhỏ hơn hoặc bằng true/ false

note Trong các toán tử +, -, <, >, <=, >=, =, <> các giá trị (x) kiểu Number luôn viết ở dạng Number(x)
3. Toán tử luận lý (Logical Operators): toán tử này thường sử dụng cho kiểu dữ liệu Boolean
Toán tử ý nghĩaVí dụKết quả
&& và

var x:Number=5;
if(x>0&&x<10) st=true;
trace(st);

true
|| hoặc

var x:Number = 9;
var start:Boolean = false;
if ((x>25) || (start)) trace("OR test passed");

OR test passed
! phủ định

var happy:Boolean = false;
if (!happy) trace("don’t worry, be happy");

don't worry, be happy

4. Toán tử tăng giảm (Bitwise Operators): toán tử này thường sử dụng cho kiểu dữ liệu Boolean

Toán tử ý nghĩaVí dụKết quả
& AND true
| OR false
^ XOR
~ NOT
<< Shift left
>> Shift right
>>> Shift right zero fill

5. Toán tử tương đương (Equality Operators): toán tử này thường sử dụng cho kiểu dữ liệu Boolean

Toán tử ý nghĩaVí dụKết quả
==!= Equality / Inequality

var a:String = "5", b:Number = 5;
if (a == b) trace("right");

else trace("wrong");

right
===!== Strict equality/ Strict inequality

var a:String = "5", b:Number = 5;
if (a === b) trace("right");

else trace("wrong");

wrong

Kiểu toán tử này thuờng thấy trong các form log in kiểm tra username và password
6. Toán tử gán (Assignment Operators):

Toán tử ý nghĩaVí dụKết quả
= gánx= 5 + 3 8
+=-= Strict equalityx +=2
*=/= Inequalityx *=2
%= Strict inequality7 %=2
<<=>>=
>>>=
^=
|=
&=

var x:Number= 15;
var y:Number = x;
var x:Number = 30;
trace ("x="+x);
trace ("y="+y);
//output: x=30, y=15

F. CẤU TRÚC CƠ BẢN

With: là hàm gom nhiều dòng thuộc tính hoặc của 1 movieClip vào 1 cấu trúc như hàm tellTarget
Các cụm lệnh sau là tương đương

ball_mc._x = 50;
ball_mc._y = 100;
ball_mc.gotoAndStop(3);

with (ball_mc) {
_x = 50;
_y = 100;
gotoAndStop(3);
}

tellTarget ("ball_mc") {
_x = 50;
_y = 100;
gotoAndStop(3);
}

function polar(r) {
var a, x, y: Number;
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI/2);
}
trace("area = "+a+"; x = "+x+"; y = "+y);
}
trace(polar(3));

2. Câu điều kiện (conditions): Nếu...thì....
Các cấu trúc sau là tương đương

? if if...else

var x:Number = 5;

var y:Number = 10;
var z:Number = (x < 6) ? x: y;
trace (z);
//5

var x:Number = 5;

var y:Number = 10;

var z:Number;
if (x<6) z=x;
if (x>=6) z=y;
trace (z);
//5

var x:Number = 5;

var y:Number = 10;

var z:Number;
if (x<6) z=x
else z=y;
trace (z);
//5

Giải thích: Nếu x < 6 thì z = x, kết quả là 5, nếu không thì z = y, kết quả là 10. Kết quả thí vụ là 5
Ví dụ 1: Button 2 trạng thái on/off
Trong keyframe 1 của main timeline ta nhập dòng code như sau

switch_mc.onRelease = function(){
if (this._currentframe==1) this.gotoAndStop(2)
else this.gotoAndStop(1);
}

//Nếu button đang ở trạng thái "off" thì chuyển sang "on" và ngược lại

Trong keyframe 1 của movieClip "switch_mc" nhập code: stop(); và tạo 2 hình button khác nhau trong keyframe 1 và 2 của switch_mc

2. Vòng lặp (loop)

for do...while

for(init; condition; next) {
statement(s);
}

do {
statement(s)
} while (
condition)

for (liệt kê) for (Cộng dồn) while do..while

for (var i:Number=0; i<5; i++){
trace(i);
}
//1,2,3,4

var sum:Number = 0;
for (var:Number i=1; i<=5; i++){
sum = sum + i;
trace(sum);
}
//1,3,6,0,15

var x:Number = 0;
while (x<5){
trace(x);
x++;
};
//1,2,3,4

var x:Number = 0;
do {
trace(x);
x++;
} while (x<5);
//1,2,3,4

switch

switch (number) {
case 1:
trace ("case 1 tested true");
break;
case 2:
trace ("case 2 tested true");
break;
case 3:
trace ("case 3 tested true");
break;
default:
trace ("no case tested true")
}

Lệnh kiểm tra số ngày trong tháng lệnh di chuyển movie clip bằng bàn phím

var month:Number=3;
switch (month) {
case 1,3,5,7,8,10,12: trace ("có 31 ngay");
break;
case 2: trace ("co 29 ngay");
break;
case 4,6,9,11: trace ("co 30 ngay");
break;
default: trace ("chua chon thang")
}

move_mc.onClipEvent (keyDown) {
switch (Key.getCode()) {
case (Key.RIGHT) : this._x += 3;
break;
case (Key.LEFT) : this._x -= 3;
break;
case (Key.UP) : this._y -= 3;
break;
case (Key.DOWN) : this._y += 3;
break;
default : trace("nhan phim mui ten");
}
}

G. Hàm (function):

Hàm là khối lệnh có vai trò như 1 công thức lập sẵn được sử dụng nhiều lần trong chương trình. Hàm xử lý trên các tham số (Arguments) và trả về 1 giá trị (Hàm return) hay thực hiện 1 chức năng (Hàm void)
Tạo hàm: từ khoá function
Hàm return: Hàm tạo công thức tính toán
Hàm voil: Hàm tạo lệnh
Ví dụ 1:

Hàm return
(hàm tính toán, trả về một giá trị kết quả)
Hàm Void
(hàm chức năng, thực hiện 1 lệnh)

function sum(a, b, c){
return a + b + c;
//trả về giá trị tổng 3 tham số

}

newValue = sum(4, 32, 78); //gọi hàm với 3 tham số cụ thể

trace(newValue); // xuất kết quả ra output panel (114)

function greet(name:String, age:Number):Void {
trace("Ban " + name+ ", "+age+" tuoi");
}
greet("Steve", 23);
//call function


Ví dụ 2: hàm cộng thêm

additionator = function(add_me) {
var total:Number = 10 + add_me;
trace(total);
}
additionator(4);

Ví dụ 3: Kiểm tra giới tính để tiện xưng hô, chào hỏi...

function showSalutation(lastName:String, gender:String):Void {
if (gender == "F") {
trace("Ms. "+lastName);
} else {
trace("Mr. "+lastName);
}
}
//call function

showSalutation("Smith", "F");

Một số hàm thông dụng dựng sẵn trong Flash:
stop();
gotoAndPlay();
gotoAndStop();
nextFrame();
trace();//xuất kết quả lệnh trong output panel
round (); //làm tròn số
getURL()

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | 100 Web Hosting