[AS]TextFieldで幅固定、高さ可変とする設定
手順としては、
1.TextField.autoSizeをnone以外
2.TextField.wordWrapをtrue
3.TextField.widthを設定
(設定の順番は変えてもいいみたい)
autoSizeをnone以外にして、wordWrapをtrueにするのがポイントらしい。
参考:trick7:TextField が思いのほか細長くなったら
Tweet手順としては、
1.TextField.autoSizeをnone以外
2.TextField.wordWrapをtrue
3.TextField.widthを設定
(設定の順番は変えてもいいみたい)
autoSizeをnone以外にして、wordWrapをtrueにするのがポイントらしい。
参考:trick7:TextField が思いのほか細長くなったら
Tweetpreloader.fla(プリローダー)に表示オブジェクトを追加する際は、foregroundもしくはbackgroundにaddChild()する。
CastPreloader.foreground
CastPreloader.background
foregroundは、メインコンテンツ(index.swf)よりも上の階層。
backgroundは、メインコンテンツ(index.swf)よりも下の階層
つまりコンテンツの背景として表示したいものはbackgroundに、
常に表示させたいものは、foregroundに、addChild()
メモ(偉人のTweetより)
i = i % 4; の代わりに i = i & 0x03;
n = Math.max(n, 255); の代わりに n = (n | (((n & 0xffffff00) + 0x7fffffff) >> 31)) & 0xff;
参考:
beinteracticve:twitter
beinteracticve:twitter
かなり悩んだのでメモしておく。
現象:IE8で日本語入力ができない。
いろいろテストして原因をさぐってみると。。。
Filereference.browse()を実行した後が半角英数しか打てなくなるなってる様子。
IE8、日本語入力、FLASHとかでググってもヒットせず、途方にくれていたら、
どうやら、これはIE7からの問題だったようでした。
IE7、filereferenceでググれば一発でした。
解決策が以下に書かれています。
参考:IE7でのFileReference関数について(FLASH-Japan)
桁数の調整について質問され、上手い回答が答えられなかったのでメモ。
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.MouseEvent;
/**
* ...
* @author 393
*/
public class GetPixel extends Sprite{
private var bmd:BitmapData;
private var bm:Bitmap;
public function GetPixel() {
bmd = new BitmapData(stage.stageWidth, stage.stageHeight, false, Math.floor(0x0000FF ));
bm = new Bitmap(bmd);
addChild(bm);
stage.addEventListener(MouseEvent.CLICK , clickHandler);
}
private function clickHandler(e:MouseEvent):void {
var posX:Number = mouseX;
var posY:Number = mouseY;
var rgb:uint = bmd.getPixel(posX, posY);
//↓これだと桁数が必ず6桁にならない
trace( "rgb : " + rgb.toString(16) );//出力:ff
//桁数を7桁にする
rgb = rgb + 0x1000000;
//↓2桁目~7桁目を抽出
trace( "rgb : " + rgb.toString(16).substr(1,6) );//出力:0000ff
}
}
}
Tweet
配列で指定した位置に値を追加する方法。
指定した位置を削除するときと同じArray.splice()を使う。
以下、削除、追加のソース
var array:Array = ["a","b","c"] trace(array); //出力:a,b,c var number = 1; array.splice(number,1); trace(array); //出力:a,c array.splice(number,0,"d"); trace(array);//出力:a,d,cTweet
defaultTextFormatの挙動について、
名前の通り、TextFieldに設定されている、TextFormatを一度デフォルトに戻してから、新しいFormatを設定するものと思ったら、上塗りで追加していくことが可能でした。
(今まで検証せずに使ってた、恐ろしい・・・)
↓以下フレームアクション
var tf:TextField = new TextField(); var str:String = "ほげほげ"; tf.autoSize = "left"; addChild(tf); //テキストフォーマット1個目 var tfm1:TextFormat = new TextFormat(); tfm1.size = 50; //1個目を設定 tf.defaultTextFormat = tfm1 //テキストフォーマット2個目 var tfm2:TextFormat = new TextFormat(); tfm2.color = 0xFF0000; //2個目を設定(1個目の設定を残して上塗り設定) tf.defaultTextFormat = tfm2; tf.text = str
一点だけ注意は、tf.text = strをTextFormat適用後に設定してること。
これは適用後にしないと、それ以後にdefaultTextFormatしても無意味。
こういう書き方もあるのね。
//フレームアクション
(function(){
trace("a");
trace("b");
trace("c");
})();
うまい使い道がうかばないけれども。、
Tweet