アクション スクリプト 3 を使用してフラッシュでクイズを作成しています。以下のコードは、テキストが 2 行を超える場合はテキストを小さくして、質問ボックスに収まるようにします。これはうまくいきます!ただし、キー フレームを変更すると、ボックスの書式が変更されます。たとえば、問題が提示されるとフォントが変化しますが、問題に答えるとキー フレームが変化すると、フォントが変化して端からはみ出します。
キー フレーム全体で書式設定を継続するにはどうすればよいですか。
これはゲームのアクションです。
var smallLimit:int = 1;
var format:TextFormat = new TextFormat();
myTextField11.text = shuffledAnswers1[0]; //puts into the text boxes the random answers
myTextField21.text = shuffledAnswers1[1];
myTextField31.text = shuffledAnswers1[2];
myTextField41.text = shuffledAnswers1[3];
var testSize11:int = 25;
var testSize21:int = 25;
var testSize31:int = 25;
var testSize41:int = 25;
while( testSize11 > smallLimit ){
updateFormat11( testSize11 );
trace( myTextField11.numLines );
if( myTextField11.numLines > 1){
testSize11--;
}else{
testSize11 = smallLimit;
}
}
while( testSize21 > smallLimit ){
updateFormat21( testSize21 );
trace( myTextField21.numLines );
if( myTextField21.numLines > 1){
testSize21--;
}else{
testSize21 = smallLimit;
}
}
while( testSize31 > smallLimit ){
updateFormat31( testSize31 );
trace( myTextField31.numLines );
if( myTextField31.numLines > 1){
testSize31--;
}else{
testSize31 = smallLimit;
}
}
while( testSize41 > smallLimit ){
updateFormat41( testSize41 );
trace( myTextField41.numLines );
if( myTextField41.numLines > 1){
testSize41--;
}else{
testSize41 = smallLimit;
}
}
function updateFormat11(size11:int):void{
format.size = size11;
myTextField11.setTextFormat( format );
}
function updateFormat21(size21:int):void{
format.size = size21;
myTextField21.setTextFormat( format );
}
function updateFormat31(size31:int):void{
format.size = size31;
myTextField31.setTextFormat( format );
}
function updateFormat41(size41:int):void{
format.size = size41;
myTextField41.setTextFormat( format );
}
これは、テキスト ボックスに質問を設定するキー フレーム 2 です。
myTextField11.text = shuffledAnswers1[0];
myTextField21.text = shuffledAnswers1[1];
myTextField31.text = shuffledAnswers1[2];
myTextField41.text = shuffledAnswers1[3];
stop();