私はAS3で商業目的でのプロジェクトも開発しています。AS3でサイズ変更XMLギャラリー
今回はXMLとAS3の画像ギャラリーを開発していますが、ステージのサイズを変更して画像のx位置を変更することに疑問があります。
このコードでは、画像のサイズを変更できますが、x値は変更できません。
誰も私にこの壊滅的な状況についての光を助けてくれますか?
Thanx a lot!
私が使用しているコード:
import flash.display.StageScaleMode;
import flash.display.StageAlign;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
var container_mc:MovieClip;
var my_images:XMLList;
var my_total:Number;
var my_thumb_width:Number;
var my_thumb_height:Number;
var x_counter:Number = 0;
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("xml/snfashion_xml.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
var myXML:XML = new XML(e.target.data);
my_images = myXML.IMAGE;
my_total = my_images.length();
createContainer();
callThumbs();
myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
myXMLLoader = null;
}
function createContainer():void {
container_mc = new MovieClip();
container_mc.x = 0;
container_mc.y = 0;
addChild(container_mc);
}
function callThumbs():void {
for (var i:Number = 0; i < my_total; i++) {
var thumb_url = my_images[i][email protected];
var thumb_loader = new Loader();
thumb_loader.load(new URLRequest(thumb_url));
thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
thumb_loader.name = i;
thumb_loader.x = ((stage.stageHeight-80)*0.451428)*(x_counter);
thumb_loader.y = 0;
if (x_counter < my_total) {
x_counter++;
}
}
}
function thumbLoaded(e:Event):void {
var my_thumb:Loader = Loader(e.target.loader);
container_mc.addChild(my_thumb);
my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
my_thumb.width = (stage.stageHeight-80)*0.4571428;
my_thumb.height = stage.stageHeight-80;
function thumbLoadedResize (e:Event):void
{
trace("STAGE HAS BEEN RESIZED");
my_thumb.width = (stage.stageHeight-80)*0.4571428;
my_thumb.height = stage.stageHeight-80;
}
stage.addEventListener(Event.RESIZE, thumbLoadedResize);
}
を私はthumb_loader
とmy_thumb
でステージサイズ変更機能を呼び出すことを試みたが、それはエラーメッセージを生成していないのつばには、働いていませんでした。
答えのためのガウス。 私はあなたが私に言った変更を行うためにtriyngですが、これはまだうまく動作していません。 Bu私はより客観的な質問があります。 私の親指のX位置は "for"コマンド内で定義されています。これは関数内にあります。 関数を再度実行せずにthumb_loaderのx位置を更新するにはどうすればよいですか? –
thumb_loaderへの参照があれば、それだけで十分です。おそらく、おそらくループに局所的にスコープされているx_counterへのアクセスを意味するでしょう。それぞれの繰り返しの現在の値をthumb_loaderのような(または代わりに)thumb_loaderの 'i'のようなプロパティに割り当てることができます。 – Guss