測試一種情況:
step 1, FLA 1 建立 TLF 文字欄位,被包進 MC,此 MC 指定類別為 "ui.MC1"
step 2, FLA 1 輸出 SWC
step 3, FLA 2 引用 SWC 1
step 4, FLA 2 時間軸上 AS 程式碼如下,動態建立 ui.MC1 放到場景上
import ui.MC1; var a:MC1 = new MC1(); a.x = a.y = 200; addChild(a)
當 FLA 1 / 2 分別為 Flash CS 5.0 / 6.0 時,對 TLF SWC 的引用方式為 RSL / Merged,有以下差異:
(右)輸出含TLF的SWC
(下)使用SWC的FLA
|
CS 5.0
(TLF 1.0 RSL)
Warn 1 |
CS 5.0
(TLF 1.0 Merged)
|
CS 6.0
(TLF 2.0 RSL)
Warn 1 |
CS 6.0
(TLF 2.0 Merged)
|
CS 5.0
(TLF 1.0 RSL)
|
OK
|
OK
|
OK
|
OK
|
CS 5.0
(TLF 1.0 Merged)
|
OK
|
OK
|
OK
|
OK
|
CS 6.0
(TLF 2.0 RSL)
|
Error 1
|
Error 1
|
Error 2
|
Error 2
|
CS 6.0
(TLF 2.0 Merged)
|
OK
|
OK
|
Error 2
|
Error 2
|
Warn 1:
Warning: No libraries were linked as Runtime Shared Libraries (RSLs) because of your publish settings: Export SWC
Error 1:
VerifyError: Error #1053: 不合法覆寫 flashx.textLayout.property.EnumStringProperty 中的 hash。
ReferenceError: Error #1065: 變數 MC1 未定義。
ReferenceError: Error #1065: 變數 Font_9 未定義。
ReferenceError: Error #1065: 變數 MainTimeline 未定義。
Error 2:
TypeError: Error #1034: 強制轉型失敗: 無法將 flash.display::MovieClip@34529f21 轉換成 fl.text.TLFTextField。
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at ui::MC1()
at Untitled_fla::MainTimeline/frame1()