SIHOのプログラミングわーくワク

興味の赴くままに勉強してたら、読み書きできる言語は9個になりました。他にもいくつか気になる言語があったりなかったり?  まだまだ続く、楽しいお仕事わーくワク♪

  • « 
  • 10 
  • 11 
  • 12 
  • 13 
  • 14 
  • 15 
  • 16 
  • 17 
  • 18 
  • 19 
  • 20 
  • 21 
  • 22 
  • 23 
  • 24 
  • 25 
  • 26 
  • 27 
  • 28 
  • 29 
  • 30 
  • »

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SimpleButtonのオブジェクトにXML参照の画像をLoadして使う

2009.11.07 (Sat)

外部のXMLファイルの情報から画像ファイルをLoadしてSimpleButtonに適用してみたサンプル。
一番悩んだのは、Up、Over、Down用にそれぞれ1つずつLoadしないと正しく表示されないってこと。

ひとつのLoaderオブジェクトをObjectオブジェクトのプロパティに代入して、それをSimpleButtonのupStateやoverStateやdownStateに代入して、それぞれにFilterを適用したんだけども、最後の設定したフィルターのStateのものだけが有効になって、他は無効になってしまった。
SimpleButtonは各Stateが正しくなければキチンと動作しないので当然うまく動かなかった。

対処法としてXMLからの画像のLoad時に同じ画像を3回読みこむようにしました。
そして、その3枚をそれぞれSimpleButtonのupStateやoverStateやdownStateに使用しています。
これだと、それぞれにFilterを適用してもきちんと動作しました。

simplebutton_xml

コードとサンプルは…… flaとxmlのサンプルはこちら。
○コード

var xmlURL:String="img/data.xml";
var loader:URLLoader;
var xmlText:XMLList;
var imgArray:Array;

var filter:GlowFilter = new GlowFilter();
filter.color=0xffffcd;
filter.blurX=10;
filter.blurY=10;

var bFilter:BlurFilter = new BlurFilter();
bFilter.blurX=4;
bFilter.blurY=1;

xInit();

//XMLの読み込み
function xInit():void {
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
var urlReq:URLRequest=new URLRequest(xmlURL);
loader.load(urlReq);
}

//imgデータのセット
function onLoaded(event:Event):void {
var posY:uint=0;
var defX:uint=100;
var cnt:uint=0;

var xmlObj:XML=new XML(loader.data);
xmlText=xmlObj.xmldata;
imgArray = new Array();
for (var i:uint = 0; i < xmlText.length(); i++) {
imgArray[i] = new Object();
imgArray[i].picdata = new Array();

for (var ii:uint = 0; ii < 3; ii++) {
var imgURL:String="img/"+xmlText[i].img1.toString();
imgArray[i].picdata[ii] = new Loader();
imgArray[i].picdata[ii].load(new URLRequest(imgURL));
}
imgArray[i].btn = new SimpleButton();

imgArray[i].picdata[0].filters=[bFilter];
imgArray[i].picdata[1].filters=[filter];
imgArray[i].picdata[2].alpha=0.5;

imgArray[i].btn.upState=imgArray[i].picdata[0];
imgArray[i].btn.overState=imgArray[i].picdata[1];
imgArray[i].btn.downState=imgArray[i].btn.hitTestState=imgArray[i].picdata[2];

imgArray[i].btn.x=defX;
imgArray[i].btn.y=10+posY;
cnt+=1;
if (cnt==6) {
posY=0;
defX=270;
} else {
posY=posY+60;
}
addChildAt(imgArray[i].btn ,1);
}
}

コメント

コメントの投稿

トラックバック

この記事のトラックバックURL

 | HOME | 

プロフィール

siho_prof

SIHO
しほ

Twitter:
SIHO_o

viva mambo, inc.
iPhone&iPad / Flash / Kinect
使用言語:Objective-C, ActionScript 3.0, Javascript, Lua, PHP, C#, C, C++, WSH。
F-site staff

Solar System Simulator 広報

Web,スマートフォン、Desktopを問わず、アプリ制作が好物。執筆は必要に応じて。お仕事くださいまし。

サイネージ:ガンダムフロント東京・キャラクターフォトスポット設計(2012/4~常設)

アトラクション:富士急ハイランド 戦国BASARA ゲーム設計&プログラミング(2010/7-2012/4にて常設展示)

イントラシステム:「某メーカー研究所KJ法システム」DB,Flash,PHPを含むソリューション設計&DB構築、「美術系専門学校の生徒管理システム」iPadクライアントを含むソリューション設計&DB構築

iPhone/iPadアプリ:某球団試合速報アプリ、『魂を熱くさせる 宇宙飛行士100の言葉』『Mitaka Gallery -てのひら宇宙-』

書籍同梱ソフト:『4次元デジタル宇宙紀行Mitaka』『DVD-ROM&図解 動く! 深海生物図鑑』『DVD-ROM&図解 ハッブル望遠鏡で見る宇宙の驚異』

著書:『世界一わかりやすい Windows 7』『世界一わかりやすい Flash CS3』

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。