کمک در ساخت فتوگالری با اکشن 3

hadis-84

New Member
لطفا سریع پاسخ بدید من توی کارم باید توی هر فریم یک فتوگالری مجزا داشته باشم که سورس متفاوته ولی توی اکشن اسکپریت سه جواب نمیده اگر نمونه ای دارید لطفا کمک کنید
import fl.data.DataProvider;
import fl.events.ListEvent;
import fl.transitions.*;
import fl.controls.*;

// USER CONFIG SETTINGS =====
var secondsDelay:Number = 2;
var autoStart:Boolean = true;
var transitionOn:Boolean = true; // true, false
var transitionType:String = "Fade"; // Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom, Random
var hardcodedXML:String="<photos><image title=''>photo/l5/images/image (1).jpg</image><image title=''>photo/l4/images/image (2).jpg</image><image title=''>photo/l4/images/image (3).jpg</image><image title=''>photo/l4/images/image (4).jpg</image><image title=''>photo/l4/images/image (5).jpg</image><image title=''>photo/l4/images/image (6).jpg</image><image title=''>photo/l4/images/image (7).jpg</image><image title=''>photo/l4/images/image (8).jpg</image><image title=''>photo/l4/images/image (9).jpg</image><image title=''>photo/l4/images/image (10).jpg</image></photos>";
// END USER CONFIG SETTINGS

// DECLARE VARIABLES AND OBJECTS =====
var imageList:XML = new XML();
var currentImageID:Number = 0;
var imageDP:DataProvider = new DataProvider();
var slideshowTimer:Timer = new Timer((secondsDelay*1000), 0);
// END DECLARATIONS

// CODE FOR HARDCODED XML =====
imageList = XML(hardcodedXML);
fl_parseImageXML(imageList);
// END CODE FOR HARDCODED XML

// EVENTS =====
imageTiles.addEventListener(ListEvent.ITEM_CLICK, fl_tileClickHandler);
function fl_tileClickHandler(evt:ListEvent):void
{
imageHolder.imageLoader.source = evt.item.source;
currentImageID = evt.item.imgID;
}
playPauseToggle_mc.addEventListener(MouseEvent.CLICK, fl_togglePlayPause);
function fl_togglePlayPause(evt:MouseEvent):void
{
if(playPauseToggle_mc.currentLabel == "play")
{
fl_startSlideShow();
playPauseToggle_mc.gotoAndStop("pause");
}
else if(playPauseToggle_mc.currentLabel == "pause")
{
fl_pauseSlideShow();
playPauseToggle_mc.gotoAndStop("play");
}
}
next_btn.addEventListener(MouseEvent.CLICK, fl_nextButtonClick);
prev_btn.addEventListener(MouseEvent.CLICK, fl_prevButtonClick);
function fl_nextButtonClick(evt:MouseEvent):void
{
fl_nextSlide();
}
function fl_prevButtonClick(evt:MouseEvent):void
{
fl_prevSlide();
}
slideshowTimer.addEventListener(TimerEvent.TIMER, fl_slideShowNext);
function fl_slideShowNext(evt:TimerEvent):void
{
fl_nextSlide();
}
// END EVENTS

// FUNCTIONS AND LOGIC =====
function fl_parseImageXML(imageXML:XML):void
{
var imagesNodes:XMLList = imageXML.children();
for(var i in imagesNodes)
{
var imgURL:String = imagesNodes;
var imgTitle:String = imagesNodes.attribute("title");
imageDP.addItem({label:imgTitle, source:imgURL, imgID:i});
}
imageTiles.dataProvider = imageDP;
imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
title_txt.text = imageDP.getItemAt(currentImageID).label;
}
function fl_startSlideShow():void
{
slideshowTimer.start();
}
function fl_pauseSlideShow():void
{
slideshowTimer.stop();
}
function fl_nextSlide():void
{
currentImageID++;
if(currentImageID >= imageDP.length)
{
currentImageID = 0;
}
if(transitionOn == true)
{
fl_doTransition();
}
imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
title_txt.text = imageDP.getItemAt(currentImageID).label;
}
function fl_prevSlide():void
{
currentImageID--;
if(currentImageID < 0)
{
currentImageID = imageDP.length-1;
}
if(transitionOn == true)
{
fl_doTransition();
}
imageHolder.imageLoader.source = imageDP.getItemAt(currentImageID).source;
title_txt.text = imageDP.getItemAt(currentImageID).label;
}
function fl_doTransition():void
{
if(transitionType == "Blinds")
{
TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Fade")
{
TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Fly")
{
TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Iris")
{
TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Photo")
{
TransitionManager.start(imageHolder, {type:photo, direction:Transition.IN, duration:0.25});
} else if (transitionType == "PixelDissolve")
{
TransitionManager.start(imageHolder, {type:pixelDissolve, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Rotate")
{
TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Squeeze")
{
TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Wipe")
{
TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Zoom")
{
TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
} else if (transitionType == "Random")
{
var randomNumber:Number = Math.round(Math.random()*9) + 1;
switch (randomNumber) {
case 1:
TransitionManager.start(imageHolder, {type:Blinds, direction:Transition.IN, duration:0.25});
break;
case 2:
TransitionManager.start(imageHolder, {type:Fade, direction:Transition.IN, duration:0.25});
break;
case 3:
TransitionManager.start(imageHolder, {type:Fly, direction:Transition.IN, duration:0.25});
break;
case 4:
TransitionManager.start(imageHolder, {type:Iris, direction:Transition.IN, duration:0.25});
break;
case 5:
TransitionManager.start(imageHolder, {type:photo, direction:Transition.IN, duration:0.25});
break;
case 6:
TransitionManager.start(imageHolder, {type:pixelDissolve, direction:Transition.IN, duration:0.25});
break;
case 7:
TransitionManager.start(imageHolder, {type:Rotate, direction:Transition.IN, duration:0.25});
break;
case 8:
TransitionManager.start(imageHolder, {type:Squeeze, direction:Transition.IN, duration:0.25});
break;
case 9:
TransitionManager.start(imageHolder, {type:Wipe, direction:Transition.IN, duration:0.25});
break;
case 10:
TransitionManager.start(imageHolder, {type:Zoom, direction:Transition.IN, duration:0.25});
break;
}
} else
{
trace("error - transitionType not recognized");
}
}
if(autoStart == true)
{
fl_startSlideShow();
playPauseToggle_mc.gotoAndStop("pause");
}
// END FUNCTIONS AND LOGIC



این رو از خود نمونه برنامه فلش برداشتم هرچی نام های رو هم عوض میکنیم که تکراری نباشه باز ارور میده.

نمونه ساده و قبلی که توی اکشن 1 جواب میداد این بود ولی اینجا جواب نمیده


this.pathToPics = "l4/images/";
this.pArray = ["image.jpg", "image (1).jpg", "image (2).jpg", "image (3).jpg", "image (4).jpg", "image (5).jpg", "image (6).jpg", "image (7).jpg", "image (8).jpg", "image (9).jpg"];
photo._xscale = 100;
photo._yscale = 100;
this.fadeSpeed = 20;
this.pIndex = 0;
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
MovieClip.prototype.changePhoto = function(d) {
this.pIndex = (this.pIndex+d)%this.pArray.length;
if (this.pIndex<0) {
this.pIndex += this.pArray.length;
}
this.onEnterFrame = fadeOut;
};
MovieClip.prototype.fadeOut = function() {
if (this.photo._alpha>this.fadeSpeed) {
this.photo._alpha -= this.fadeSpeed;
} else {
this.loadPhoto();
}
};
MovieClip.prototype.loadPhoto = function() {

var p = _root.photo;
//------------------------------------------
p._alpha = 0;
p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
this.onEnterFrame = loadMeter;
};
MovieClip.prototype.loadMeter = function() {
var i, l, t;
l = this.photo.getBytesLoaded();
t = this.photo.getBytesTotal();
if (t>0 && t == l) {
this.onEnterFrame = fadeIn;
} else {
trace(l/t);
}
};
MovieClip.prototype.fadeIn = function() {
if (this.photo._alpha<100-this.fadeSpeed) {
this.photo._alpha += this.fadeSpeed;
} else {
this.photo._alpha = 100;
this.onEnterFrame = null;
}
};
// Actions -----------------------------------------
// these aren't necessary, just an example implementation
this.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
this.changePhoto(-1);
} else if (Key.getCode() == Key.RIGHT) {
this.changePhoto(1);
}
};
Key.addListener(this);
 

mohammad.sub7

کاربر فعال
لطفا سریع پاسخ بدید

جواب: !!!!!!!!!!!!!!!!!!!

-----------------------------------

شما چندتا کد گذاشتید با اینها که نمیشه مشکل رو فهمید سورس رو بذارید بشه فهمید مشکل اصلی چیه.

من 1 نمونه گالری میزارم که قبلاً خودم تو کارم بدون مشگل استفاده کردم شاید به درد بخوره. اگه مشکل فایل خودتون رو هم میخواید

سورس فلش بذارید نه کد.

مشاهده پیوست galery.rar
 

hadis-84

New Member
مرسی از فایلی که گذاشتید دقیقا منظور من گذاشتن فتو گالری توی هر فریم است
من یک پروژه دارم فایلش رو باید exe است
فرض کنید من چند تا منو دارم منو اول مثلا میگه غذاهای ایتالیایی وقتی وارد صفحه اون با دکمه تصاویر میشه باید گالری عکسهاش رو نشون بده
توی منو غذاهای یونانی و غیره دارم و برای هر کدوم باید تصاویر رو نشون بده.
تصاویر تعدادشون زیاده هر کدوم 15 تا من هر کدوم روی توی یک پوشه گذاشتم
توی فلش 8 میتونستی توی هر فریم یک گالری بزاری و فقط کد اکشن سورست رو عوض کنی اما مشکل من با ادوب فلش cs5 و اکشن 3 اینه که نمیتونم توی هر فریم اکشن فریم قبل رو کپی کنم همش ارور میده فانکشن دوپلیکت . باید اسم تمام فانکشن ها رو عوض کنم چون تعداد گالریهام زیاده اینکار خیلی وقتگیره میدونم راه داره ولی من بلد نیستم
خلاصه یک راه بهم نشون بدید
 

mohammad.sub7

کاربر فعال
بهترین راه این هست که فقط 1 گالری استفاده کنید بعد به صورت اکسترنال تعریف کنید که اون گالری شما اگه مثلاً دکمه 1 رو زدید

عکسهای فولدر 1 رو لود کنه و دوباره همون 1 دونه گالری که دارید اگه دکمه 2 رو زدید عکسهای فولدر 2 رو باز کنه اینجوری خیلی سریعتر

کار شما انجام میشه فقط با 1 گالری تو 1 فریم
 

جدیدترین ارسال ها

بالا