flash form کمک در اکشن به یک دکمه

مندی

New Member
سلام دوستان گرامی وعزیزم

من یک فلش فرم ساختم از این طریق
در موقع شروع ماکرومدیا فلش از گزینه ها گزینه سومی یعنی flash form application را انتخاب کردم

حالا من در اکشن دادن به دکمه ها مشکل پیدا کردم البته من در اکشن دادن به دکمه های کامپوننتی مشکلی ندارم مشکل من در دکمه هائی هستش که خودم می سازم
در عکس زیر مشخصه چیکار کنم؟ یک بار دیگه میگم مشکل با دو تا دکمه مثالی چهارمی و پنجمی هستش نه دکمه های اولی تا سومی

c3eyaibuoa3oadv91ygn.png


دکمه چهارمی یعنی my1 دارای مشکله یعنی با کلیک روی اون محتویات دیگر صفحات هم نمایش داده میشه
دکمه آخری یعنی my2 رو خالی گذاشتم برای شما میشه به اون اکشن بدین؟

این هم آدرس فایلی که آپلود کردم
حجم فقط 88 کیلوبایت هستش یک ثانیه وقت بزارد داونلود شده
http://www.zshare.net/download/16222703d2b13e08/
 
آخرین ویرایش:

Avang2005

مدیر انجمن
سلام دوست من

ببين دوست عزيز اكشن دادن كه فرقي نداره چه براي كامپو... چه براي دكمه اي كه خودت ميسازي الان دقيق بگو مشكلت چيه ؟

موفق باشيد
 

FSystem

New Member
ميتوني مثلا به دكمه my1 اسم myButton بدي بعد توي فريم 1 اين كد اكشن رو بذاري:

myButton.onRelease = function() {
//:فرمان خود را بنويسيد مثلا
stopAllSounds();
};
 

Avang2005

مدیر انجمن
سلام دوست من

دكمه my1 كار ميكنه !!!!

الان دكمه my2 كار نمي كنه چون اكشني توش نيست

موفق باشيد
 

مندی

New Member
آونگ جان دوست خوبم سلام
عزیزم اون دکمه my2 رو من گذاشتم شما بهش اکشن بدی عزیزم مگه متوجه نشدی؟!!!
نکته دوم چرا وقتی روی my1 کلیک می کنیم محتویات صفحه قبلی هم نمایش داده میشه؟
توجه= 3 دکمه بالائی که دکمه های کامپوننتی هستند می بینید به خوبی کار می کنند وبین صفحات حرکت می کنند ولی من فقط آنها را گذاشتم برای کمک به شما من نمی خوام از این سبک دکمه ها استفاده کنم!!
فرض کنید یک کلمه به اسم آونگ تایپ می کنیم وآنرا تبدیل می کنیم به دکمه( منظورم این نیست که یک دکمه مثلا کامپوننتی بسازیم و اسمش رو بزاریم آونگ!!!) منظورم اینه که خود کلمه را دکمه کنید حالا بهش اکشن بدید!
همین وبس سئوال من همینه کاری بکنید که مثل دکمه های کامپوننتی بشه بین صفحات حرکت کرد

توجه= من برای اکشن دادن به my1 از منوی behavior وقسمت screen استفاده کردم
سئوال اگه دکمه ها زیاد باشه چکار کنم محتویات همه صفحات میاند توی هم!!! با اینکه روی هر form کلیک سمت راست کردم و hide screen رو زدم
 
آخرین ویرایش:

مندی

New Member
ميتوني مثلا به دكمه my1 اسم myButton بدي بعد توي فريم 1 اين كد اكشن رو بذاري:

myButton.onRelease = function() {
//:فرمان خود را بنويسيد مثلا
stopAllSounds();
};


دوست خوبم FSystem جان سلام
ببخشین همه چی قاطی شده میشه نمونه کوچولو بسازین؟ من نتونستم از اکشنها استفاده کنم

مثلا یک کلمه به اسم FSystem بسازین وتبدیلش کنید به دکمه حالا بهش اکشن بدین
همین ممنونم
منتظرم
 

mshgames

Well-Known Member
سلام

محمد جان با اکشن معمولی نمیشه اون صفحات اسلایدو راه اندازی کردید یکی از مزخرفترین روش ها جهت ایجاد فرم همین روشه که من خیلی هم خوشم نمیاد

دوسته من مندی
یه سوال ازت دارم اون اکشنارو واقعا خودت نوشتی یا این سورس آماده چو کسی بتونه اون اکشنارو بنویسه هیچ وقت سر این مسائله پیشو پا افتاده گیر نمیکنه من اون همه کدو دیدم وحشت کردم اصلا نیاز به این همه کد بندی نیست که

این کدو تو فریم اول بده
PHP:
peshfarz.visible=true;
myForm.visible = false;
myForm2.visible = false;
my1.onPress=function(){
myForm.visible=true;
myForm2.visible = false;
peshfarz.visible=false;
};
my2.onPress=function(){
myForm2.visible=true;
myForm.visible = false;
peshfarz.visible=false;
};



اینم فایله Fla به صورت پیش فرض صفحه Defult میاد و اگه دکمه ها رو بزنی صفحات بعدی لود میشن

در ضمن اینم یادم رفت بگم: مشکل سر دکمه ها نبود بلکه سر کد نویسی بود که حل شد فایله Fla زیرو دانلودش کن

توضیح کد:

کد بالا در حالت عادی دو صفحه از 3 صفحه رو مخفی میکنه و قتی دکمه 1 فشرده میشه صفحه مورد نظر لود و اون دو صفحه ای که نیاز نیست ناپدید میشه و دکمه دوم هم این کارو میکنه بلعکس تعداد دکمه ها هم هر قدر دلت بخواد میتونه زیاد باشه


موفق باشی

محمد
 

پیوست ها

  • Slider.rar
    5.7 کیلوبایت · بازدیدها: 7
آخرین ویرایش:

مندی

New Member
سلام mshgames جان اگه اشتباه نکنم اسم شما محمد هستش درسته؟

آفرین بازهم آفرین کیف کردم به خدا راست راستی که حرفه ای هستی

یه سوال ازت دارم اون اکشنارو واقعا خودت نوشتی یا این سورس آماده چو کسی بتونه اون اکشنارو بنویسه هیچ وقت سر این مسائله پیشو پا افتاده گیر نمیکنه

باید بگم نه ! من توی یک فیلم آموزشی از شرکت آمرکائی و معروف linda دیدم ولی از بدبختی استاده فقط از این دکمه کامپوننتی ها استفاده می کرد!!


حالا یه قضیه=
من اول می خواستم برنامه ام رو به صورت معمولی که همه می سازند یعنی frame base بسازم ولی چون 250 صفحه بود ومن وسط فریم ها گم می شدم ومرتب باید می رفتم لابلای فریم ها تا ببینم چی کجاست!! برای همین اومدم سراغ این روش چون همه چیز شسته رفته است ودر دسترس یک فریم هم در هر فرم بیشتر وجود نداره


اما سئوال بعدی=
من 250 صفحه یا طبقه از form ها رو باید در همون فریم اول دونه به دونه اسمشون رو بزنم که نامرئی شوند؟!!
من در کل صفحات شاید 50 تا هم دکمه دارم برای هر دکمه باید همین راه رو برم؟!!!
راه آسونتری نیست؟ نمیشه all رو زد؟ یا یه چیزی که همه رو غیر از اون فرم که درش هستیم مخفی کنه؟

یه توضیح=
دکمه های اول تا سوم کامپوننتی که بالا هستند که اکشنشون راحته وتوی فیلم دیدم ولی اکشن my1 رو از توی help برنامه فلش پیدا کردم

یه خواهش=
دوست من شما که لطف کردید میشه یه نگاهی هم به منوی behaviors ===> screen=====> show screen بندازی؟
من دکمه my1 رو با اون اکشن دادم ولی مشکلش اون بود که محتویات می اومدند روی هم ولی حداقل اجرا می شدند
شاید اون راه آسونتره ونیاز نباشه برای هر صفحه جدا تایپ کنیم ولی من وارد نیستم!


باز هم بی نهایت ممنون
 
آخرین ویرایش:

Avang2005

مدیر انجمن
سلام دوست من

با تشكر از محمد عزيز !

من تازه متوجه شدم كه اين دوست عزيزمون چي مي خواد ( بخاطر همون مشكلس محمد مي دونه !!)

ببين دوست عزيز بنظر من از همون فريم ها استفاده كني ديگه مشكلي نداري كه بخواي فلان اسلايد رو مخفي كني !!!

در كل . كلي از وقتت براي نوشتن اكشن صرفه جويي ميشه همين براي اينكه هم توي فريم ها گم نشي ميتوني براشون اسم بزاري

مشكلي بود در خدمتيم

موفق باشيد
 

مندی

New Member
سلام آونگ جان راستش من اول با فریم شروع کردم
بعدش بعد از دو ماه متوجه شدم کلی راه رو اشتباه رفته بودم!!
ببین من یه برنامه درام در باره زندگی بزرگان شعر وادب وعلوم مثلا زندگی شعرا با شعر های برگزیده وعکس های جالب در باره اونها

خوب شما چی توصیه می کنی؟ مثلا من دویست تا شاعر رو فرض کنید دارم بررسی می کنم حالا کدوم راه خدائیش راحت تره؟
اینکه برای هر کدوم یک form اختصاص بدم واگه نیاز شد ده صفحه توی اون form فریم بدم؟
یا اینکه بیام شاعر ها را دنبال هم بچینم وکلی گم بشم که کدوم یکی کجا بود؟
تازه مرتب مجبورم فریم ها رو کم وزیاد کنم وبرای بعضی یک فریم جدید اضافه کنم اینه که روز از نو وروزی از نو کل اکشن ها دوباره با هم قاطی میشه
ولی از وقتی با روش flash form application آشنا شدم انگار خدا یه نیروی جدید بهم داده هر شاعری برای خودش یک طبقه از فرم ها( form ) داره با یک تایم لاین مخصوص خودش تازه هرچی هم دلم بخواد می تونم بهش فریم بدم خوب چی از این بهتر دست وبالم کلی بازتره

حالا فقط مونده دکمه های من که محمد جان کلی کمک کرد اما اگه یه راهی پیدا بشه که نخوام لقمه رو دور سرم بچرخونم محشر میشه
تصورش رو بکنید مثلا اگر برای ده تا دکمه بخوام 250 تا صفحه رو اونطوری که محمد جان گفت میشه 2500 تا تازه دکمه های من 50 تا بیشتره اینطوری میره روی بالای 5000 تا !!!!
خدائیش کمک کنید بد جوری گیر کردم
 

Avang2005

مدیر انجمن
سلام دوست من

بنظر من همون فريم بهتره !!!!

همش مثل اسلايده هيچ فرقي نداره فقط بايد براي هر فريم اين كار رو انجام بدي !!

تا اونجايي كه من مي دونم راحي نيست بايد براي تك تك دكمه ها اكشن بنويسي

ببين فرقش اينه كه با فريم فقط از كد

PHP:
gotoAndStop(1);

ولي اسلايد همون كد محمد عزيز .....

موفق باشيد
 

مندی

New Member
این یک نمونه خلاصه شده از برنامه من است
به تصویر زیر نگاه کنید تا به قدرت flash form application ایمان بیاورید اینطوری دیگه سراغ فریم نمی روید!!

من همه چی رو توی عکس توضیح دادم یک یک هزارم برنامه من است!! خودتون حساب کنید با fram base میشه این کار رو پیش برد؟ البته که نه
8c6y6qxl0zylyh9kr465.jpg
 

mshgames

Well-Known Member
سلام

درسته اسمه من محمد

در مورد زیاد شدن کد بهت حق میدم آره اگه چندین صفحه داشته باشی فاجعه به وجود میاد برای همین یه روش بهت پیشنهاد می کنم ببین خوبه یا نه

ابتدا این کدو به فریم اول بده:

PHP:
// ابتدا کلا تمام فرم ها را پاک می کند

delet.onPress=function(){
for (var i:Number = 0; i < _root.application.numChildForms; i++) {
    var allForm:mx.screens.Form = _root.application.getChildForm(i);
	allForm.visible=false;
}};

// جستجو گر فرم ابتدا عدد مورد نظر را در جعبه متنی وارد کرده و دکمه سرچ رو بزنید
search.onPress=function(){
	save="form"+(in_txt.text)
	eval(save).visible=true;
};

حال دو تا دکمه و یه دونه جعبه متن درست کن اسم دکمه اولتو در قسمت (Properties / Instance Name) بزار delet و اسمه دکمه دومت بزار search حال نوع جعبه متنیتو Input text بزار تا قابلیت گرفتن داده داشته باشه و در قسمت Instance Name اسمشو بزار in_txt حال تمام شد حالا اگه 5 تا یا 2000 ورق داشته باشه با این چند خط کد کارت حله دکمه delet برات کله صفحاتو پاک میکنه در جعبه متنی اگه عدد 3 رو وارد کنی و دکمه سرچو بزنی برات صفحه 3 رو پیدا میکنی میتونی یه لیست یا همون صفحه برای شعرا تهیه کنی که طرف برای پیدا کردنش عدد مورد نظرو وارد کنه و بعد اگه میخوای صفحه دیگه ای رو وارد کنی ابتدا دکمه delet میزنی سپس ......

دیگه از این راه آسونتر وجود نداره (بهتره یه لیست تهیه کنی که صفحات مربوط به هر شاعر توش باشه طرف با وارد کردن شماره صفحه.....)

Ok!!!!

موفق باشی

اینم فایله Fla

محمد
 

پیوست ها

  • NewForm.rar
    40.7 کیلوبایت · بازدیدها: 3

مندی

New Member
ضریب هوشیت رو تحسین میکنم محمد جان
این رو باید اعتراف کنم ذهن خلاقی داری اصلا به این قضیه فکر نکرده بودم من حتما از روش شما به عنوان یک روش کمکی در برنامه ام استفاده می کنم ولی برای سرفصل ها من حداق 12 دکمه فقط در صفحه اول دارم حتما قبول دارید که دکمه های کامپوننتی اصلا جذاب نیستند من دکمه های شیشه ای ساختم که برق می زنند هر کس می بینه از هیجان تحسن می کنه من حاضر نیستم دست از اون دکمه هایم بردارم که یک ماه روی اونها وقت گذاشتم
تو رو به خدا حداقل یه فکری به حال اونها بکنید شاید بشه برای بقیه دکمه ها یه فکری بکنم
راستی چطور می تونیم دکمه های کامپوننتی رو تغییر رنگ یا حالت بدیم؟ مثلا دایره شان بکنیم؟
آیا دکمه های بیشتری با قابلیت آن دکمه های کامپوننتی وجود دارند؟
این سئوال را برای دکمه های جانبی می پرسم مثل next یا previous نه برای دکمه های عزیز شیشه ای ایم
راستش من خیلی منضبط و سخت گیرم از این نظر من رو باید ببخشین
آونگ جان از کمک شما هم ممنون ولی اگه میشه چند ثانیه هم از فریم بیا توی form ببین چه حالی بهت دست میده!!
 
آخرین ویرایش:

mshgames

Well-Known Member
سلام

نه بابا اونقدرها هم ذهنه خلاقی ندارم بعضی اوقات دیگه گل میکنه :D

در مورد دکمه های شیشه ای یه فکری میکنم

فعلا بای

یادم رفت از محمد عزیز (avang) بابت کمکش تشکر می کنم
 

FSystem

New Member
رنگ و فونت واندازه ي كامپوننت ها رو راحت ميشه تغيير داد ولي شكلشون؟؟؟ به هر حال براي تغيير رنگ و فونت و اينجور چيزا ميشه از كدهاي نمونه زير استفاده كرد:
PHP:
//تنظيم سراسري رنگ كامپوننتها
_global.style.setStyle("themeColor", 0xFFCC00);
//تنظيم سراسري رنگ متن كامپوننتها
_global.style.setStyle("color", 0xFF0000);
//تنظيم سراسري فونت كامپوننتها
_global.style.setStyle("fontFamily", "_typewriter");
//تنظيم سراسري اندازه ي فونت كامپوننتها
_global.style.setStyle("fontSize", 16);
//تنظيم سراسري حالت متن كامپوننتها
_global.style.setStyle("fontWeight", "bold");
//تنظيم سراسري حالت متن كامپوننتها
_global.style.setStyle("fontStyle", "italic");
//تنظيم سراسري مكان متن كامپوننتها
_global.style.setStyle("textAlign", "center");
كافي يك كامپوننت مثلا يك دكمه به استيج بكشي و فيلم رو امتحان كني(راستي global تمام كامپوننت ها هر چي و هر جا باشن تحت تاثير قرار ميده و اين براي كاهش خط كده مثلا اگه هزار تا دكمه هزار تا چك باكس هزار تا كومبو باكس و ... به استيج بكشي ميبيني همه تغيير ميكنن . موفق باشيد)
 

مندی

New Member
FSystem جان مرسی
راستی که بچه های با هوش و کار درستی هستین
من خیلی خوشحالم که مجید آنلاین چنین کاربران با استعدادی داره خیلی ممنون
راستی دکمه ها ی کامپوننتی که در مثال صفحه قبلی من هستش رو نگاه کنید وهمچنین به اکشن اونها یعنی از بالا دکمه های اول تا سوم
شما آیا دکمه هائی سراغ داریدکه در حالت form همین گونه اکشن ها را قبول کنند وکار بدند؟
 

مندی

New Member
ببخشین من الان کد های FSystem رو استفاده کردم ولی چرا نتیجه اونی نشد که می خوام؟!

در واقع دکمه های کامپوننتی وقتی برنامه را تست می کنیم هنوز همونطوری مثل قبل سفید هستند!! وفقط وقتی روی اونها کلیک می کنیم رنگشون عوض میشه من چونکه رنگ های استفاده شده بر اساس جدول hex هستش از طریق برنامه hex color finder کد hex رنگ مورد علاقه ام رو پیدا کردم ولی بعد از جایگزینی هنوز هم همونطوره دکمه ها سفید هستند ووقتی روی اونها کلیک میشه رنگشون عوض میشه! تازه از همه بدتر رنگ همه دکمه ها با هم تغییر می کنه
بچه ها یه سئوال این دکمه های کامپوننتی را چطوری میشه ویرایش کرد؟ چطوری ساخته شدند وچطوری میشه عوضشون کرد وتغییرشون داد؟
 

مندی

New Member
مشکل دکمه ها در FORM برای ابد حل شد

سلام بچه ها
من یه راهی پیدا کردم برای مشکل form
البته به لطف یکی از دوستان ویه اکشن دو خطی هم بیشتر نیست

این رو می زنیم توی AS
for (i=1;i<=3;i++) {
eval("form"+i).visible=0
}

واین رو هم برای هر کمه اکشن می دیم
on (release) {
load("form1")
}
البته اسم FORM همونی هست که ما به فرم خود نام دادیم وباید جایگزین کنیم

الان دکمه ها دیگه مشکلی ندارند واگه FORM ها هزار صفحه هم باشند راحت اجرا می شند همه دکمه ها رو هم ساپورت می کنه
خیلی عالیه
این هم مثالی که ایشون آپلود کردند ممنون دلفین 7
http://dolphin.parsaspace.com/P30world/Flash/Form Application.rar

سئوال من از شما آقا این اکشن معنیش چیه؟
for (i=1;i<=3;i++) {
eval("form"+i).visible=0
}
مثل فورمول می مونه
سئوال دوم = برای صدا زدن واجرا کردن یک FORM از داخل یک MOVIE CLIP باید چکار کنیم؟
میشه یه مثال بسازید؟
 
بالا