Open Flash Book

Dự án viết sách điện tử mở

Thông báo thay đổi domain

leave a comment »

Sau khi phát triển một thời gian dựa trên free domain của wordpress, nhận thấy được nhiều hạn chế về việc upload files, backup dữ liệu và cài plugins, ban quản trị quyết định chuyển địa chỉ làm việc sang domain mới http://vnfx.com/openflashbook

Toàn bộ các bài viết và lời bình đã được dời qua địa chỉ mới. Mời các bạn tiếp tục đóng góp cho dự án trên, tất cả các username cũ đã đăng ký với đều được move qua. Nếu bạn nào gặp phải bất kì khó khăn nào khi login vui lòng trực tiếp liên hệ Thiên Hạ (thienhaflash@gmail.com) để được hỗ trợ reset password.

Năm mới, nhà mới, hứa hẹn sẽ có nhiều thay đổi tích cực cho dự án. Mọi người hãy cùng cố gắng nhé, để sớm có được những ấn bản sách chất lượng cao cho cộng đồng.

Các bạn có thể xem thêm tin tức cập nhật tại đây : http://vnfx.com/openflashbook/?page_id=55

Cám ơn tất cả các bạn.

Written by Thiên Hạ

Tháng Hai 24, 2011 at 9:24 Sáng

Observer

leave a comment »

Observer là một design pattern phổ biến và được dùng nhiều nhất (so với tất cả các design pattern khác) trong Actionscript 3. Nếu bạn đã từng dùng Event, đã từng addEventListener hay sử dụng [bindable] nghĩa là bạn đã dùng Observer design pattern vì cả Event hay DataBinding đều dựa trên Observer cả.

Observer phân các đối tượng có liên quan làm 2 loại : đối tượng phát sự kiện (dispatcher/broadcaster) và đối tượng lắng nghe sự kiện (listener). Trong khi ứng dụng chạy dữ liệu trong dispatcher thay đổi, dispatcher sẽ tra danh sách các đối tượng lắng nghe và gửi yêu cầu cập nhật. Cách thức hoạt động này giúp cho các đối tượng có thể hoạt động hoàn toàn độc lập với nhau, sự thay đổi của một class không bị ảnh hưởng hay chi phối cách hoạt động của class khác.
Đọc tiếp »

Written by Thiên Hạ

Tháng Một 15, 2011 at 3:54 Chiều

Posted in Ideas

Object Caching

leave a comment »

ObjectCaching là kỹ thuật dùng tham chiếu yếu (weak references) để theo dõi các đối tượng không dùng đến để làm việc một cách hiệu quả hơn với cấu trúc gom rác tự động của flash player. Sẽ khá là thường xuyên khi ứng dụng đang chạy bạn cần phải tháo gỡ / xoá bỏ đối tượng bạn không cần hoặc tạm thời không cần, để tiết kiệm bộ nhớ, bạn thường hủy tất cả tham chiếu với đối tượng này sao cho bộ gom rác có thể thu thập chúng một khi có nhu cầu về bộ nhớ. Hãy nhớ rằng cho đến cái thời điểm không xác định được này – đối tượng vẫn còn trong bộ nhớ, chúng ta chỉ là không thể chạm đến được, và thậm chí khi mà chúng vẫn còn ở đó, giờ chúng ta cần, chúng ta vẫn phải tạo mới bằng cách gọi hàm khởi tạo, hoặc tải lại. Cách làm việc này, dù rằng dễ, không phải là một quy trình làm việc hiệu quả, đó là lý do tại sao ta phải dùng ObjectCaching.
Đọc tiếp »

Written by Thiên Hạ

Tháng Mười Hai 20, 2010 at 8:53 Sáng

Posted in Ideas

Threading

with 3 comments

Như mọi người đã biết, trong flash không có khái niệm multi-thread, nghĩa là không thể làm 2 việc một lúc mà chỉ có thể xếp hàng để chạy tuần tự. Khái niệm threading thường được nhắc đến trong flash mang ý nghĩa chia một công việc lớn làm nhiều phần nhỏ và chỉ thực thi một phần nhỏ trong mỗi frame. Việc chia nhỏ thế này có tác dụng tránh được timeout cũng như giúp ứng dụng phản hồi tốt hơn trước mỗi tác vụ của người dùng.

Threading dựa trên việc kiểm tra thời gian thi hành của một đoạn code và dừng nếu thời gian chạy vượt quá mức cho phép, sau đó sẽ chạy tiếp khi đến frame kế tiếp, bằng cách này một đoạn code tốn 10 giây thời gian để thi hành sẽ chạy từ từ trên nhiều frame, mỗi frame làm một ít, bằng cách đó, trong mỗi frame flash vẫn còn có thể tiến hành xử lý, tương tác với người dùng, nghĩa là ứng dụng sẽ không bị treo (không tương tác, không cập nhật được…).
Đọc tiếp »

Written by Thiên Hạ

Tháng Mười Một 20, 2010 at 1:50 Sáng

Posted in Ideas

Object Pooling

with 3 comments

Hôm nay giới thiệu với mọi người về Object Pooling, một kĩ thuật tối ưu hóa phổ biến với dân lập trình, nói cho rõ, đây không phải khái niệm mới chỉ có trong Actionscript 3, nhiều ngôn ngữ khác cũng có nhắc đến và về nguyên tắc cũng hoàn toàn giống nhau.

Trong các ứng dụng thường ngày, mình ít khi gặp và cũng ít khi dùng đến, tuy nhiên trong nhiều trường hợp Object Pooling giúp ích khá nhiều. Một khi đã hiểu được nó, bạn có thể tự mình quyết định trong từng trường hợp xem có nên dùng hay không.

Khi ứng dụng đang chạy, có 2 thao tác phổ biến với đối tượng là tạo mới (instantiate) khi cần dùng và hủy (destroy) khi đã hết sử dụng. Hai thao tác này đều tốn kém một phần xử lý nhất định (* constructor interpreter ? ) và có thể là nguyên nhân tiềm tàng dẫn đến việc giảm đáng kể performance của ứng dụng. Object Pooling ra đời nhằm giảm thiểu các thao tác này và vì thế tăng performance cho ứng dụng.

Đọc tiếp »

Written by Thiên Hạ

Tháng Mười Một 14, 2010 at 1:00 Sáng

Posted in Ideas

Xây dựng ứng dụng Flash bằng FlashDevelop và Flex SDK (Phần 2)

with 20 comments

Xem lại phần 1

V. Nhúng tài nguyên bên ngoài vào ứng dụng biên dịch bằng Flex SDK

Khi làm Flash với chương trình Adobe Flash CS*, bạn có thể chèn hình ảnh, âm thanh hoặc nhúng font vào cho TextField tùy mục đích trình diễn. Tất cả những hình ảnh, âm thanh đó ban đầu đều nằm bên ngoài được bạn chèn vào trong file fla và cuối cùng khi xuất ra swf, tất cả các tài nguyên đó được nhúng vào file swf.

Với Flex SDK, bạn cũng có thể làm được việc tương tự bằng cách sử dụng thẻ metadata . Sau đây sẽ hướng dẫn nhúng font và hình ảnh vào ứng dụng Flash:

Đọc tiếp »

Written by ttt_conan

Tháng Mười 22, 2010 at 5:10 Chiều

Xây dựng ứng dụng Flash bằng FlashDevelop và Flex SDK (Phần 1)

with 5 comments

I. Giới thiệu

Cho đến bây giờ nhiều người (thậm chí là một số lập trình viên web) vẫn nghĩ rằng để làm ra Flash phải sử dụng các công cụ thương mại như Flash CS5 hay Flash Builder. Thực tế là lập trình viên hoàn toàn có thể làm Flash bằng các công cụ hoàn toàn miễn phí. Giống như Java hay .NET, Flash cũng có bộ biên dịch miễn phí tên là Flex SDK và bạn có thể viết code ActionScript 3 bằng bất kỳ trình biên soạn text nào.

Bài viết này sẽ hướng dẫn các bạn từng bước viết một hoạt cảnh Flash đơn giản bằng 2 công cụ miễn phí đó là FlashDevelop (FD) và Flex SDK. Đối tượng hướng tới của bài viết này là các bạn đã có kiến thức căn bản về OOP và mới làm quen với ActionScript hoặc những ai chỉ quen sử dụng Adobe Flash CS 3/4/5 (sau đây sẽ gọi là Flash Pro).

Ghi chú: Không như cái tên của nó, Flex SDK không phải chỉ để biên dịch ứng dụng viết bằng Flex (AS + MXML). Flex SDK còn được dùng để biên dịch ứng dụng viết hoàn toàn bằng ActionScript (AS); biên dịch và đóng gói ứng dụng desktop AIR; xuất tài liệu tham khảo từ các comment trong mã nguồn (tương tự javadoc)…

Với những ai mới làm quen với ActionScript 3, bạn không cần hiểu ngay những khái niệm mới nêu ra trong bài viết này. Hãy làm theo hướng dẫn và tự trải nghiệm, bạn sẽ dần dần hiểu và nắm được chúng.

Bài viết này sẽ hướng dẫn phát triển ứng dụng Flash với ActionScript 3 thuần túy (pure ActionScript 3).

Yêu cầu phần mềm trước khi bắt đầu:

  1. Windows XP / Vista / 7

  2. .NET Framework 2.0. (download): để chạy FlashDevelop 3

  3. Java Runtime Environment 1.6+ (download): để chạy Flex SDK

Đọc tiếp »

Written by ttt_conan

Tháng Mười 20, 2010 at 12:39 Sáng