首先讓我告訴你我是「老派」,即代碼位於我的時間軸上,唯一使用的類是那些自動創建的類我向Script1.swf添加了幾個新字體,這是我的嵌入式字體動畫片段。Flash AS3 ReferenceError:錯誤#1056:無法在flash.text.TextField上創建屬性字體
在名爲Round.fla的主要動畫片段的第一幀上,我使用加載器對象加載了包含字體的Script1.swf。我使用的trace語句顯示Script1_lb.swf已加載。
我使用一個列表框(script1_lb)與影片剪輯的圖標(樣品字體的JPG圖片)和數據是字體類的名稱,像這樣:我想申請的字體
script1_lb.dataProvider.addItem({icon:akaDora_mc, data:"akaDora"});
文本字段(design_mc.info_txt)已經存在在舞臺上,所以這是我使用的代碼:
import flash.text.Font;
import flash.text.TextField;
var tff:TextFormat = new TextFormat();
var font:Font=new Font();
script1_lb.addEventListener(Event.CHANGE,getFont);
function getFont(event:Event):void {
tff.font = script1_lb.selectedItem.data;
MovieClip(parent).design_mc.info_txt.embedFonts = true;
MovieClip(parent).design_mc.info_txt.setTextFormat(tff.font);
}
當試圖應用的字體akaDora,這是我的錯誤m得到:
TypeError:錯誤#1034:類型強制失敗:無法將「akaDora」轉換爲flash.text.TextFormat。
我一直在看這個小時,閱讀幫助文件,但似乎無法看到我可能會失蹤。有人可以幫忙嗎?由於
謝謝,我做了更改,現在textfield消失。我可以檢查的任何地方? – Pete 2011-03-01 17:46:54
我搜索了StackOverflow,現在看到我應該將上面的行更改爲:MovieClip(parent).design_mc.info_txt.defaultTextFormat = tff;這是正確的,因爲現在我沒有得到錯誤,但文本字段仍然消失。謝謝 – Pete 2011-03-01 17:53:24
TheDarkIn提供的答案是正確的。我再次改變了代碼,然後意識到我錯過了: Font.registerFont(akaDora);在存儲字體的Script1.swf中。 感謝TheDarkIn花時間做出迴應。 – Pete 2011-03-02 01:28:11