2013-04-20 16 views
5

Tôi đang cố gắng sử dụng trình biên dịch ASC2.0 mới trong SDK AIR 3.7, nhưng dường như tôi đang gặp sự cố trong đó nó không thể phát hiện lớp trình tải trước của tôi.ASC 2.0 có nhận ra các thẻ siêu dữ liệu [Frame] (ví dụ: đối với Preloader factoryClass) không?

Nếu tôi sử dụng trình biên dịch không ASC2.0, nó nhận ra và biên dịch các lớp Preloader khai báo trong thẻ siêu dữ liệu Frame trong lớp học chính của tôi, như vậy:

[Frame(factoryClass = "Preloader")] 

Nhưng ngay sau khi tôi biên dịch nó với ASC2.0, nó bỏ qua siêu dữ liệu Frame và chỉ cố gắng biên dịch lớp Main và giả sử rằng nó là một lớp con của Sprite/MovieClip (mà nó không nhất thiết phải là khi nó được tải sẵn với một thẻ siêu dữ liệu Frame) , do đó, nó không biên dịch được.

Nếu ai đó có thể xác nhận điều này thật tuyệt vời, hãy quay bánh xe của tôi về điều này một lúc. Cảm ơn!

+1

FYI cho những người khác lang thang ở đây, để có hướng dẫn về cách sử dụng một trình nạp trước trong một dự án AS3 thuần túy, xem [hướng dẫn tuyệt vời] này (http://www.bit-101.com/blog/?p=946) –

+0

Cần lưu ý rằng hướng dẫn được viết "trước" ASC 2.0, vì vậy nó có thể chỉ áp dụng cho SDK chuẩn. – bigp

Trả lời

10

Dường như nó không còn được hỗ trợ. Có một câu hỏi tương tự hỏi ở đây:

ASC2.0 and Frame metatag

Giải pháp mới có vẻ là điều này:

Bạn phải tự thêm các đối số trình biên dịch cho các dữ liệu -frame.

Tuy nhiên, để làm việc này, bạn phải thiết lập dự án của mình hơi khác với kỹ thuật siêu dữ liệu [Frame].

Trước (khi sử dụng kỹ thuật [Frame] siêu dữ liệu cũ), bạn phải xác định lớp Main của bạn như là lớp Document (mà sau đó sẽ biên dịch và chuyển hướng điểm vào chính để định Preloader lớp học của bạn).

Bây giờ với ASC2.0, thay vào đó, bạn sẽ đặt lớp Trình tải trước làm lớp Tài liệu.

Dưới đây là một vài điều bạn phải thiết lập:

  • lớp Preloader của bạn nên mở rộngMovieClip lớp con.
    (Điều này giúp nội dung chính của bạn được nhúng trên Khung # 2)
  • Chỉ định lớp "Preloader.as" (hoặc bạn gọi nó là lớp Tài liệu).
  • Đặt này bổ sung biên dịch Đối số:
    -frame=AnyFrameLabelYouWant,YourMainClass
  • Ngoài ra, thêm phiên bản SWF với điều này bổ sung biên dịch Đối số:
    -swf-version=18 (mặc dù tôi nghĩ rằng 17 sẽ làm việc với ASC2.0 cũng ...)
  • Đảm bảo bạn đang sử dụng trình biên dịch ASC2.0 SDK trong IDE của mình!

LƯU Ý: Bây giờ tôi nghĩ về nó, có lẽ nó có thể tiêm /** @mxmlc */ bình luận javadoc để cung cấp cho các hướng dẫn để trình biên dịch, nhưng tôi đã không cố gắng này được nêu ra. Đó có thể là một giải pháp cho việc thiếu hỗ trợ siêu dữ liệu trong trình biên dịch ASC2.0. (chỉnh sửa: Tôi đã thử tính năng này một lần và tính năng này dường như chỉ hoạt động với nút thanh công cụ "Xây dựng" trong FlashDevelop, chỉ biên dịch tập tin hiện đang được tập trung)

+0

Cảm ơn bạn rất nhiều vì điều này! – NoobsArePeople2

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