2008-11-27 39 views
5

Ngay bây giờ tôi đang phát triển một công cụ đồ họa 2D theo định hướng canvas nhỏ cho một trò chơi và đã xem xét một số nguồn để gợi ý áp dụng cho thiết kế của hệ thống của tôi. Nhưng rõ ràng là giải pháp được chứng minh chiến đấu nhất hiện có là flash, vì vậy tôi đã tự hỏi làm thế nào là Flash kiến ​​trúc. Tôi tìm thấy một số nguồn về hoạt động của Flash, nhưng hầu hết đều rất cơ bản và hướng tới các nhà thiết kế và nghệ sĩ, nhưng tôi muốn tìm hiểu thêm về sự can đảm của hệ thống. Bước tiếp theo của tôi là tải xuống mã nguồn của Flex và lướt qua nó, nhưng trước đó tôi muốn có một "hướng dẫn" để tận dụng tối đa thời gian của tôi trong cơ sở mã. Bất kỳ đề xuất nào về tài nguyên và bài viết trực tuyến tốt?Flash hoạt động như thế nào?

Cảm ơn!

Chỉnh sửa: Để làm rõ hơn, tôi đang tìm các hoạt động bên trong của Flash vì mục tiêu của tôi ở đây là làm một cái gì đó tương tự như Flash, nhưng không mạnh như tất nhiên, hoạt động trong trình duyệt không có plugin . Alas thuần HTML + Javascript.

Lý do tôi không sử dụng Flash như vậy là vì nó không đáp ứng yêu cầu của tôi (miễn phí + không có plugin) và vì tôi không có hỗ trợ Flash trên nền tảng mục tiêu của mình, ngoài việc tôi đang sáng tạo lại bánh xe ở đây để vui chơi và tự học. Oh và tôi đã biết cách sử dụng Flash :)

+0

Không phải là câu trả lời trực tiếp cho câu hỏi của bạn, vì vậy tôi giữ nguyên câu trả lời đó ... Bạn có biết http://ejohn.org/blog/processingjs/? Nó là một cổng xử lý JavaScript, gần mục tiêu cuối cùng của bạn ... Bộ công cụ Dojo JS cũng cho phép JS vẽ trên trình duyệt hỗ trợ IE và canvas. FYI. – PhiLho

+0

Không trả lời câu hỏi của tôi chút nào, nhưng đó là một dự án rất hay, và tương tự theo nhiều cách với những gì tôi cần, nhìn vào nó. –

Trả lời

7

Vâng, tại gốc của nội dung Flash của bạn là đối tượng sân khấu (ví dụ của lớp Stage). Giai đoạn đó là nút gốc của cây đối tượng hiển thị, bất kỳ phần tử nào trong số đó có thể chứa nội dung đồ họa (đường, trường văn bản, v.v.) hoặc các đối tượng hiển thị khác. Flash hoạt động như thế nào, X lần mỗi giây, trình phát Flash vẽ toàn bộ cây hiển thị đó lên màn hình. Người chơi cũng thu thập đầu vào của người dùng (KeyboardEvents, v.v.) từ hệ điều hành và phân phối chúng cho bất kỳ đối tượng nào đã đăng ký cho họ.

Công việc của bạn với tư cách là người sáng tạo nội dung, là điền vào Giai đoạn này với trẻ em (loại DisplayObject hoặc bất kỳ lớp con nào) mà công cụ Flash sẽ vẽ lên màn hình cho bạn. Bạn có thể cư trú với những đứa trẻ cấp thấp như Sprite và MovieClip và TextField, là những khối xây dựng cơ bản của nội dung Flash, hoặc bạn có thể tạo ra những thứ như ScrollBar hoặc DataGrid, những thành phần cấp cao hơn với các hoạt động bên trong phức tạp thông thường. Và tất nhiên bạn có thể mở rộng bất kỳ lớp nào trong số các lớp này để bao gồm hình ảnh tùy chỉnh của riêng bạn hoặc logic lớp học hoặc tạo các lớp không trực quan không phải là một phần của cây hiển thị. Và bạn có thể tải trong nội dung flash khác hoặc tạo kết nối HTTP, v.v.

Đó là tất cả giả sử bạn ngụ ý AS3. cái đó có giúp ích không? Nếu không, bạn sẽ phải làm cho câu hỏi của bạn cụ thể hơn. ;)

+0

Có, nhưng nếu bạn có một vài liên kết tài nguyên tốt, nó sẽ còn tốt hơn nữa. –

+0

Um, tôi nên cụ thể hơn, liên kết của bạn với tài liệu là một trợ giúp tuyệt vời, nhưng tôi đã tự hỏi nếu có một số giấy trắng hoặc tài liệu dọc theo những dòng –

+0

Tôi thấy bạn đang đi đâu. Mọi thứ thường rất giống với biểu đồ FL mà bạn đã liên kết (nhưng với ít hộp "Device XXX" hơn, và tôi nghĩ "Device OS" và "Frame buffer" sẽ được thay thế một phần bởi plugin plugin của trình duyệt). Nhưng tôi không biết bất kỳ giấy tờ trắng cụ thể hoặc thông số kỹ thuật nào. – fenomas

0

Các liên kết tốt nhất mà tôi đã tìm thấy (khá thảm hại mặc dù) là một trong những điều này:

Architecture of Flash Lite

1

Nếu bạn đang đi để làm cho một trò chơi, tránh xa Flex. Và thành thật mà nói, nhìn vào mã nguồn cho điều đó có khả năng gây nhầm lẫn cho bạn nhiều hơn giúp bạn. Flex là rất tốt cho các ứng dụng chuyên sâu GUI, và giúp tăng tốc độ phát triển các sản phẩm như vậy. Đó là, tuy nhiên, không phải là rất nhanh cũng không đặc biệt thích hợp cho các trò chơi.

Một trong những ưu điểm chính của Flash là bạn không thực sự phải quan tâm đến "hoạt động bên trong" rất nhiều, mặc dù hiểu biết cơ bản về chúng sẽ giúp ích một cách tự nhiên.

Flash Lite khá khác so với người anh em lớn hơn đã trưởng thành, vì vậy đừng quá quan tâm đến điều đó.

Ngoài ra, vì tình yêu của thần, hãy học Actionscript 3.0 và tránh xa Actionscript 2. 3.0 là cách tốt hơn theo mọi cách có thể hiểu được (ít nhất là đối với các lập trình viên của chúng tôi).

EDIT: Để làm rõ: Có một số nhầm lẫn về cụm từ Flash. Có ba phần cho tất cả, plugin chạy trong trình duyệt của bạn, "công nghệ" và công cụ Authoring. Tất cả những điều này chỉ đơn giản được gọi là Flash. Flex thậm chí còn khó hiểu hơn. Nó là một khuôn khổ chạy trên đầu trang của Flash. Giống như nói, Swing cho Java (Tôi chưa bao giờ sử dụng để so sánh có thể hoàn toàn sai). Tất cả những gì bạn có thể làm trong Flex cũng có thể thực hiện được trong Flash. Flex là mã nguồn mở miễn phí, nhưng IDE, Flex Builder thì không. Flex Builder rất hữu ích ngay cả khi bạn đang thực hiện các dự án ActionScript "thuần túy". Nhưng cũng có nhiều lựa chọn thay thế rẻ hơn. Cá nhân tôi thích FlashDevelop.

+0

Môi trường flex có thể khá tốt để xây dựng trò chơi as3 nhưng thư viện flex không phải là thứ bạn cần – jcoder

+0

Có Tôi đồng ý, tôi chỉ đọc qua một số mã Flex, nhưng không phải tất cả những gì tôi đang tìm kiếm cho. Tôi nhầm tưởng tượng mã của công cụ Flash đã được bao gồm trong SDK OpenSource của Flex, nhưng nó không phải là ' –

+0

Lưu ý rằng trong khi Flash Player tổng thể không phải là mã nguồn mở, Adobe gần đây OS-ed bản thân động cơ AS3, mà nên vạch trần kiến ​​trúc thiết yếu. Google "mozilla tamarin" để biết thông tin. – fenomas

Các vấn đề liên quan