2011-10-02 15 views
5

Tôi muốn tách tệp SWF khỏi tệp .fla. Tôi có một số kịch bản ở đó, nhưng khi tôi nghiền nát chúng - chúng không hoạt động. Tôi gặp lỗi từ trình biên dịch:Loại không được tìm thấy hoặc không phải là hằng số biên dịch 1046

1046: Type was not found or was not a compile-time constant 

**Warning** The linkage identifier 'scrollableContent' was already assigned to the symbol 'pop_ups/__pop_up_other_elements/scrollableContent', and cannot be assigned to the symbol 'pop_ups/__pop_up_other_elements/scrollable_game_content', since linkage identifiers must be unique. 

Tôi google lỗi đó, nhưng không tìm thấy câu trả lời phù hợp. Tôi thấy một số thông tin ở đây, nhưng nó không giúp tôi. http://curtismorley.com/20​07/06/20/flash-cs3-flex-2-​as3-error-1046/

Vui lòng cho mọi người biết vấn đề nào gây ra lỗi này và cách khắc phục sự cố? Thanx!

+0

Loại * Không tìm thấy hoặc không phải là hằng số biên dịch *? Có vẻ như bạn đang thiếu số nhận dạng. Điều này không giống như toàn bộ thông báo lỗi. – phwd

+0

Url trang được đề cập của bạn có vẻ sai. biểu tượng đã chỉnh sửa là http://curtismorley.com/2007/06/20/flash-cs3-flex-2-as3-error-1046/ – Rajesh

Trả lời

2

Chính thức compiler errors list trên trang web của Adobe. Trong trường hợp này

Lỗi 1046

Lớp sử dụng như một tuyên bố loại là một trong hai không biết hoặc là một biểu hiện mà có thể có giá trị khác nhau tại thời gian chạy. Kiểm tra xem bạn đang nhập đúng lớp và vị trí gói của nó có không thay đổi. Ngoài ra, hãy kiểm tra xem gói có chứa mã (không phải lớp đã nhập) được định nghĩa chính xác hay không (ví dụ: đảm bảo sử dụng cú pháp gói ActionScript 3.0 thích hợp và không phải cú pháp ActionScript 2.0 ). Các lỗi cũng có thể xảy ra nếu các lớp được tham chiếu không là định nghĩa trong một không gian tên mà được sử dụng hoặc không được định nghĩa là công cộng:

public class Foo{}

Kiểm tra tập tin .fla của bạn để chắc chắn rằng bạn có tất cả các liên kết cho tài sản chính xác. Một trường hợp đơn giản là bạn có thứ gì đó trên sân khấu với tên và một trong các tập lệnh của bạn có cùng tên. Bạn không thể xác định nó hai lần. Sửa một trong số chúng.

+0

Ký hiệu 'dlg_startScreen' \t 1046: Loại không được tìm thấy hoặc không được biên dịch- hằng số thời gian: game_con. Sau khi xóa “dlg_startScreen” Ký hiệu 'game_com' \t 1046: Loại không được tìm thấy hoặc không phải là hằng số biên dịch: scrollableContent. Ký hiệu 'game_com' \t 1046: Loại không được tìm thấy hoặc không phải là hằng số biên dịch: cuộn. – yozhik

+0

Tôi có lỗi biên dịch như vậy. Nói, xin vui lòng, nơi tôi phải kiểm tra các liên kết đến tài sản? – yozhik

1

Vì vậy, tôi đã tìm ra lý do, tại sao lỗi đó xảy ra. Dưới đây là giải pháp:

Nếu, ví dụ, bạn có 2 MovieClips: movie1_mc, lớp liên kết: "movie1" movie2_mc, lớp liên kết: "movie2"

Và nếu movie1_mc là con của movie2_mc, và cũng có tên dụ của nó giống như liên kết lớp của nó - lỗi 1046 xảy ra.

Vì vậy, quy tắc là: Nếu một tệp có liên kết lớp là con của một số lớp khác, thì tên cá thể của nó phải khác với liên kết lớp.