واضح آرشیو وب فارسی:سایت ریسک: مشکل در ساخت گالری namin72 28 دي 1388, 14:28سلام. من یک گالری فلش ساختم که دکمه بعد و قبل داره و با اون عکس ها عوض می شن.(گالری داینامیکه) حالا می خوام پایین اون یک قسمت بزارم که عکس ها به صورت کوچیک و پشت سرهم لود بشن. می دونم که باید از حلقه های تکرار استفاده کنم ولی درست نمی دونم چی کار باید بکنم. اگه می شه یک راهنمایی بکنین. در ضمن من گالریم رو بخ روشی که biodread معرفی کرده بود درست کردم. یعنی هیچ فیل xml ای نداره و لود عکس ها بر اساس نام ترتیبی اون هاست. با تشکر. mohsensemsarpour 28 دي 1388, 18:25ببینید دوست من این کار روش های زیادی داره ولی یکی از روش های اون اینه که شما یه موی کلیپ بسازی و بعد با استفاده از یک حلقه اون رو داپلیکیت کنی امیدوارم متوجه شده باشید اگر مشکلی بود بگید بیشتر توضیح بدم موفق باشید namin72 28 دي 1388, 18:30تا اینجاشو که گفتم می دونم. ولی تو کد نویسی مشکل دارم. منظورم اینه که فهمیدم باید چی کار کنم ولی نمی تونم اونرو بنویسم. namin72 28 دي 1388, 19:30این هم سورسش. می خوام تو اون نوار پایین باشه. در ضمن یک مشکله دیگه هم داره. اینکه دکمه next رو نمی تونم کاری بکنم که وقتی برای لود عکس ها error داد، دیگه کار نکنه. ++Hadi++ 28 دي 1388, 23:26سلام البته من نمونه شما رو درست نکردم ولی یکی دو ساعته یه چیزی واستون دست و پا کردم و با document class این کارو انجام دادم . شاید در ی سری مسائل اشکالاتی رو داشته باشه چون زیاد زمان سر تنظیماتش نزاشتم ولی حساب کار دستتون می یاد . این کدش : package { import flash.display.*; import flash.xml.*; import flash.events.*; import flash.net.*; public class Main extends Sprite { public var PicsCount:Number=0; public var MainXML:XML=new XML(); public var MainLoader:URLLoader=new URLLoader(); private var NextGoPos:Boolean=false; private var PrevGoPos:Boolean=false; private var NextDegree:Number=0; private var PreveDegree:Number=0; public function Main():void { Prev.buttonMode=true; Next.buttonMode=true; BigTabloo.mask=Mask; MainLoader.load(new URLRequest("ExternalXML.xml")); MainLoader.addEventListener(Event.COMPLETE,Complet eHandle); MainLoader.addEventListener(IOErrorEvent.IO_ERROR, ErrorHandle); } public function ErrorHandle(evt:IOErrorEvent):void { trace("Error In Loading XML"); } public function CompleteHandle(evt:Event):void { trace("XML File Loaded Successfully"); MainLoader.removeEventListener(Event.COMPLETE,Comp leteHandle); MainLoader.removeEventListener(IOErrorEvent.IO_ERR OR,ErrorHandle); MainXML=XML(evt.target.data); PicsCount=MainXML.Pictures.Picture.length(); for(var Counter01:int=0;Counter01<PicsCount;Counter01++) { var NewLoader:Loader=new Loader(); addChild(NewLoader); var NewTabloo:Tabloo=new Tabloo(); NewTabloo.Core.addChild(NewLoader); addChild(NewTabloo); NewTabloo.TXT.text=MainXML.Pictures.Picture[Counter01][email protected](); NewLoader.load(new URLRequest(MainXML.Pictures.Picture[Counter01][email protected]())); NewLoader.contentLoaderInfo.addEventListener(Event .COMPLETE,LoaderComplete); NewLoader.contentLoaderInfo.addEventListener(IOErr orEvent.IO_ERROR,LoaderError); BigTabloo.addChild(NewTabloo); NewTabloo.x+=Counter01*125; } Prev.addEventListener(MouseEvent.MOUSE_DOWN,PrevGo ); Next.addEventListener(MouseEvent.MOUSE_DOWN,NextGo ); stage.addEventListener(MouseEvent.MOUSE_UP,Release ); } private function PrevGo(evt:MouseEvent):void { addEventListener(Event.ENTER_FRAME,GoForward); } private function NextGo(evt:MouseEvent):void { addEventListener(Event.ENTER_FRAME,GoBackward); } private function Release(evt:MouseEvent):void { removeEventListener(Event.ENTER_FRAME,GoForward); removeEventListener(Event.ENTER_FRAME,GoBackward); if(NextGoPos==true) { NextGoPos=false; addEventListener(Event.ENTER_FRAME,NextfadeOut); } if(PrevGoPos==true) { PrevGoPos=false; addEventListener(Event.ENTER_FRAME,PrevefadeOut); } } private function NextfadeOut(evt:Event):void { if(NextDegree>0) { NextDegree-=0.5; BigTabloo.x+=NextDegree; } else { removeEventListener(Event.ENTER_FRAME,NextfadeOut) ; NextGoPos=false; } } private function PrevefadeOut(evt:Event):void { if(PreveDegree>0) { PreveDegree-=0.5; BigTabloo.x-=PreveDegree; } else { removeEventListener(Event.ENTER_FRAME,PrevefadeOut ); PrevGoPos=false; } } private function GoForward(evt:Event):void { NextGoPos=true; if(BigTabloo.x<95) { if(NextDegree<8) { BigTabloo.x+=NextDegree; NextDegree+=0.5; } else { BigTabloo.x+=NextDegree; } } else { NextDegree=0; NextGoPos=false; removeEventListener(Event.ENTER_FRAME,GoForward); } } private function GoBackward(evt:Event):void { PrevGoPos=true; if(BigTabloo.x>-(BigTabloo.width-230)) { if(PreveDegree<8) { BigTabloo.x-=PreveDegree; PreveDegree+=0.5; } else { BigTabloo.x-=PreveDegree; } } else { PrevGoPos=false; PreveDegree=0; removeEventListener(Event.ENTER_FRAME,GoBackward); } } private function LoaderComplete(evt:Event):void { var INFO:LoaderInfo=LoaderInfo(evt.currentTarget); INFO.removeEventListener(Event.COMPLETE,LoaderComp lete); INFO.removeEventListener(IOErrorEvent.IO_ERROR,Loa derError); var myNewLoader:Loader=INFO.loader; if(myNewLoader.width!=112) { myNewLoader.width=112; } if(myNewLoader.height!=169) { myNewLoader.height=169; } BigTabloo.BackG.width+=myNewLoader.width+3; } private function LoaderError(evt:IOErrorEvent):void { trace("Error In Loading The Picture"); } } } و سورس رو هم دان کنین ... فقط باز می گم کمی حول حولکی شد ...این سمپل اندازه تصاویر رو هم تنظیم می کنه . شاید در تعداد عکس های بالاتر یا پایین تر محل قرار گیری ابتدا یا انتهای ریل تصاویر دقیق نباشه می تونین روش زمان بزارین و تنظیم کنین . بای... namin72 28 دي 1388, 23:57واقعا دستت درد نکنه. می شینم یکم باهاش کار می کنم ، ببینم به کجا می رسه. mohsensemsarpour 28 دي 1388, 23:59به به چه کردی هادی جان دستت درد نکنه ولی این بنده خدا منظورش یه چیزه دیگه بود فکر می کنم البته چون تخصص اکشن 3 ندارم جسارت نمی کنم ولی چیزی که من از سمپلشون دیدم چیزی غیر از این رو می خواستن موفق باشید namin72 29 دي 1388, 00:04اتفاقا خیلی خوب بود. البته این با xml هست ولی می تونم یه کارایی بکنم. ++Hadi++ 29 دي 1388, 09:05والا شرمنده وقت نداشتم .... دیگه ببخشین ... موفق باشین ... همتون... namin72 29 دي 1388, 13:24بسیار عالی. فعلا که 50 در صد حل شد. بقیش هم حل میشه. ++Hadi++ 29 دي 1388, 13:26یه نگاهی هم ب هاین بندازین . جالبه ... بای... ++Hadi++ 29 دي 1388, 14:01راستی انشاءال... سعی می کنم امشب اون سورستو درستش کنم الان کار دارم نمی تونم ... منتظر باش ... namin72 29 دي 1388, 14:02ایووووول. بابا تو دیگه کی هستی...:) ممنون namin72 29 دي 1388, 15:20آقا... درست شد. یک مشکل مونده ، اینکه چه طوری حلقه for رو break کنم. فکر نمی کنم کار مشکلی باشه... می شه بگی چه طوریه؟ ++Hadi++ 29 دي 1388, 19:49for(var Counter01:Number=0;Counter01<10;Counter01++) { if(Counter01==7) { break; } else { trace("My Name is Hadi"); } } البته break کلا جریانو از حلقه خارج می کنه ولی continue فقط اون مورد رو رد می کنه و کار حلقه ادامه پیدا می کنه . بهتر بگم دیگه اتمام حجت کنم ، با continue شما می تونین فقط در یک یا چند مورد ، کاری رو به صورت استثنایی رد کنین تا اون تگ انجام نشه . موفق باشید ... namin72 29 دي 1388, 20:34البته من کار با حلقه های تکرار رو بلدم. من چون تعداد عکس ها رو می خوام نامشخص باشه.(نمی خوام مثلا 7 باشه). منظورم اینه که چی بنویسم که وقتی درحلقه در outPut ، این error رو داد که دیگه نمی تونه عکس رو پیدا کنه، حلقه break بشه. بهتره سورس رو بزارم تا بفهمی. فایل فلش به خاطر اینکه دارای حلقه طولانیه، یکم طول می کشه تا باز بشه. ++Hadi++ 30 دي 1388, 08:22IOErrorEvent.IOError تو این لینک مثال دومم دقیقا مربوط به این می شه ... () بای... namin72 30 دي 1388, 23:13راستش، هر کاری کردم نتونستم. حالا اگه تونستی یک نگاهی به فایل سورس جدید که تو پست قبلی گذاشتم بنداز. اگه وقت کردی یک دستی بهش بکش. مِقسی بوکو
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 522]