問:用Flash制作課件,怎樣才能限制用戶在文本框中輸入的字符類型呢?
答:可以使用TextField類的屬性。TextField類屬于影片類型,可以在Flash“動作”面板中的“ActionScript2.0類”下的“影片”類型中找到。
TextField類的Restrict屬性可以指示用戶可輸入到文本字段中的字符集。如果Restrict屬性值為null,則可以輸入任何字符;如果為空字符串,則不能輸入任何字符;如果為一串字符,則只能在文本字段中輸入該字符串中的字符??梢允褂枚虅澗€(-)指定一個范圍。例如:限制名字為myTxt的輸入文本框中只能輸入大寫字符、空格和數(shù)字,則將Restrict屬性設置為myTxt.restrict="A-Z 0-9"。
如果Restrict屬性值是以^開頭的字符串,則先接受所有字符,再從接受字符集中排除字符串中^之后的字符。例如:限制名字為myTxt的輸入文本框中可以輸入除小寫字母之外的所有字符,則將Restrict屬性設置為myTxt.restrict="^a-z"。
如果制作的Flash課件中包含的輸入文本框比較多,而且需要對這些輸入文本框對象的輸入字符類型統(tǒng)一進行限定,只需將下面的程序代碼輸入到Flash課件的第1幀,即可達到目的。
TextField.prototype.onChanged = function() { //所有的文本輸入框實例,當輸入文本時
if (this.text != "-" && isNaN(this.text)) { //如果用戶輸入的不是數(shù)字(包括負數(shù))
this.text = "";//設定文本輸入框實例均為空,即不能輸入
}
}
其中prototype是對類或函數(shù)對象的超類的引用,這樣定義的onChanged事件函數(shù)可以被所有TextField實例共享。isNaN()函數(shù)可用于檢查一個數(shù)學表達式是否成功地計算為一個數(shù)字,如果值為NaN(非數(shù)字),則返回true,否則返回false。
問:在Flash8中,用loadMovie方法將外部Flash課件加載到影片剪輯元件中時,為什么總是不成功?
答:利用MovieClip類的loadMovie方法可以實現(xiàn)將外部的Flash影片加載到影片剪輯元件中的功能。例如:
//創(chuàng)建一個空影片剪輯實例,實例名為my MovieClip,深度為1
_root.createEmptyMovieClip("myMovieCli