ترفندی برای کلیک و حرکات ماوس

Rasivell

Member
با سلام

من در حین انجام کار ، به یه مشکل خوردم که نمیدونم چیکارش کنم....!! راستش زبان این برنامه را بلد نیستم..:sad:

ببینید من 3 تا گزینه (دکمه متنی) گذاشتم با نام ها (مثال) = درباره ما ، تماس باما ، محصولات ....

حالا اومدو تو همون صفحه 3 تا object پاراگراف گذاشتم و توی هر کدام ، مطالب مد نظرمو گذاشتم ..

حالا میخوام وقتی ماوس رو بردم روی دکمه تماس با ما ، یکی از این پاراگراف های مربوطه باز بشه و وقتی ماوس رو بردم روی مثلا محصولات و روش کلیک کردم ، اون پاراگراف مخصوص این گذینه بیاد بالا..!

برای این کار ، ابتدا من متن خودمو توی هر 3 تا پاراگراف نوشتم (در باره 3 موضوع مختلف) بعد رفتم توی تنظیمات ماوس اون دکمه ها تایین کردم که مثلا وقتی ماوس اومد روی این گذینه ، پاراگراف فلان نشون داده بشه..! و قبلش هم پاراگراف ها را hiden کردم تا بعد از رفتن ماوس روی کدمه ها به نمایش در بیاد و در حالت عادی نمایش داده نشه ..!!

فکر میکنید چه اتفاقی افتاد؟:)

رفتم و برنامه را اجرا کردم ..، روی گذینه تماس با ما رفتم و پاراگرافی که در این باره نوشته بودم نمایان شد..! بعد چون متن من توی پاراگراف اسکرول خورده بود امدم اسکرول رو دادم پایین و دیدم همه چی درسته..رفتم روی دکه محصولات کلیک کردم که متوجه شدم ای وای ..! متن قبلی سر جاش موند و متن این گذینه هم اومد روی اون و درهم بر هم شد..!!!


خلاصه من میخوام کاری کنم که کاربر بره روی دکمه کلیک کنه (کلیک کنه نه این که ماوس رو روش ببره) و پاراگراف مربوطه نمایان بشه و دیگه تغیر نکنه تا وقتی کاربر بره و روی دکمه بعدی کلیک کنه و بعد از کلیک بر روی دکمه بعدی ، پاراگراف قبلی پاک بشه و پاراگراف مربوط به اون دکمه باز بشه.. (در ضمن وقتی ماوس را از روی دکمه کنار میبری نباید متن تغیر کنه..فقط وقتی متن پاراگراف باید تغیر کنه که روی یه گذینه دیگه کلیک کرده باشی)


زیاد حرف زدم امید وارم متوجه منظورم شد باشید..
 

evil_gates

اين نيز بگذرد ...
دوست عزيز
اگه سه تا پاراگراف شما تو يك نقطه قرارداره ميتونيد از دستور LoadText استفاده كنيد و متن مورد نظرتون رو تو پاراگراف نمايش بديد.
کد:
temp$='This is a test'
LoadText("Paragraph","temp$")

اگه پاراگرافهاي شما تو نقاط مختلفي قرار داره ميتونيد به دو روش اين كار رو انجام بديد.
1- از همون Loadtext استفاده كنيد و بعد با دستور MoveObject پاراگراف رو به نقطه مورد نظر جابجا كنيد
کد:
temp$='This is a test'
LoadText("Paragraph","temp$")
MoveObject("Paragraph","x,y")
2- سه تا پاراگراف مجزا درست كنيد اونها رو يك گروه كنيد و بعد براي هر دكمه دستوري بنويسيد كه اول گروه رو مخفي كنه و بعد پاراگراف مورد نظر رو نمايش بده
کد:
Hide("Group")
Show("Paragraph1")

موفق باشيد
 

Rasivell

Member
ای بابا

فدات شم طوری میگی که انگار من از بچگی دارم اسکریپت نویسی مالتی مدیا میکنم:shock:

این طوری من هیچی متوجه نمیشم ...سوالامو با شماره میپرسم و شما هم (لطفا) شماره ای پاسخ بدید منم متوجه شم عزیز

1- من الان برم توی تنظیمات اون دکمه ها ، قسمت حرکات ماوس را غیر فعال کنم ..! (قسمت مربوط به ماوس)

2- این کدی که گفتی رو کجا باید بزنم؟

3- من میخوام وقتی رو دکمه ها کلیک میکنی پاراگراف مربوط به اونا نشون داده بشه ..! این که اصلا معلوم نیست چیه؟ اگه اینو برای همه دکمه ها بزارم که نمیشه که..!

4- من اون پاراگرافارو مخفی کردم ..حالاباید با این روش شماچیکار کنم؟

ببین من رفتم به پاراگراف گذاشتم و توش متن نوشتم و بعد همون رو کپی کردم و متن توشو عوض کردم و گذاشتمش دقیقاروی همون پاراگراف اولی.. تا 3 بار این کارو کردم ..3 تادکمه برای 3 تا پاراپراف روی هم با متنی مجزا...که میخوام با کلیک بر روی هرکدام از دکمه ها یکی از این پاراگراف ها باز بشه و تاوقتی کاربر روی دکمه بعدی کلیک نکرده این پاراگراف تغیر نکنه..! وقتی هم کلیک کرد روی دکمه بعدی، این متن عوض بشه و همون پاراگراف مربوط به این دکمه باز بشه ..همین


من از آموزش بالای شما هیچی نفهمیدم..! بابا این پاراپرافای من اسم دارن، دکمه های من اسم دارن و.. اینا رو کجای اون کد وارد کنم...!!!!:cry::sad:
 

evil_gates

اين نيز بگذرد ...
ای بابا

فدات شم طوری میگی که انگار من از بچگی دارم اسکریپت نویسی مالتی مدیا میکنم:shock:

این طوری من هیچی متوجه نمیشم ...سوالامو با شماره میپرسم و شما هم (لطفا) شماره ای پاسخ بدید منم متوجه شم عزیز

1- من الان برم توی تنظیمات اون دکمه ها ، قسمت حرکات ماوس را غیر فعال کنم ..! (قسمت مربوط به ماوس)

2- این کدی که گفتی رو کجا باید بزنم؟

3- من میخوام وقتی رو دکمه ها کلیک میکنی پاراگراف مربوط به اونا نشون داده بشه ..! این که اصلا معلوم نیست چیه؟ اگه اینو برای همه دکمه ها بزارم که نمیشه که..!

4- من اون پاراگرافارو مخفی کردم ..حالاباید با این روش شماچیکار کنم؟

ببین من رفتم به پاراگراف گذاشتم و توش متن نوشتم و بعد همون رو کپی کردم و متن توشو عوض کردم و گذاشتمش دقیقاروی همون پاراگراف اولی.. تا 3 بار این کارو کردم ..3 تادکمه برای 3 تا پاراپراف روی هم با متنی مجزا...که میخوام با کلیک بر روی هرکدام از دکمه ها یکی از این پاراگراف ها باز بشه و تاوقتی کاربر روی دکمه بعدی کلیک نکرده این پاراگراف تغیر نکنه..! وقتی هم کلیک کرد روی دکمه بعدی، این متن عوض بشه و همون پاراگراف مربوط به این دکمه باز بشه ..همین


من از آموزش بالای شما هیچی نفهمیدم..! بابا این پاراپرافای من اسم دارن، دکمه های من اسم دارن و.. اینا رو کجای اون کد وارد کنم...!!!!:cry::sad:


دوست عزيز

قبل از هرچيزي توصيه ميكنم به منابع آموزشي اين برنامه مراجعه كنيد تا علاوه بر اينكه با اين نرم افزار آشنا ميشيد درك صحيحي از پاسخي كه دوستان به سوالاتون ميدن داشته باشيد.

كتاب آموزشي كه جناب Silvercover نوشتن منبع خيلي خوبيه براي آموزش اين برنامه

اما در مورد سوالات شما:

من سه روش مختلف پيشنهاد كردم كه اگه مي خوايد برنامتون حرفه اي برنامه نويسي بشه از روش اول يا دوم استفاده كنيد . اما اگه نميتونيد منظور من رو از اون كدها درك كنيد روش سوم راه ساده تري براي شماست.

سه تا پاراگراف ايجاد كنيد.

براي هر پاراگراف نامي كه مد نظرتون هست رو انتخاب كنيد. مثلا m1 و m2 و m3 يا هر چيز ديگه اي مد نظر شماست.

هر سه تا پاراگراف رو انتخاب كنيد و اونا يك گروه كنيد.

براي گروه كردن از منوي Arrange گزينه Group رو انتخاب كنيد يا كليدهاي تركيبي كنترل و G رو بزنيد.

براي گروهتون يك نام انتخاب كنيد. مثلا mygroup يا هر چيز ديگه اي كه مد نظر شماست.

گروهتون رو مخفي كنيد

حالا سه تا دكمه ايجاد كنيد.

روي دكمه اول دابل كليك كنيد و در قسمت Action گزينه More Action رو انتخاب كنيد (هموني كه آيكن دفترچه و قلم داره)

تو پنجره اي كه باز ميشه خطوط زير رو بنويسيد

کد:
Hide("mygroup")
Show("m1")

تو كدهاي بالا به جاي mygroup ميتونيد نام گروهي كه مد نظرتون بود رو وارد كنيد و به جاي m1 نام پاراگراف اولتون رو

اين پنجره و پنجره قبلي رو ok كنيد

همين عمليات رو براي دكمه هاي دوم و سوم انجام بديد. با اين تفاوت كه به جاي m1 نام پاراگراف دوم و سوم رو وارد كنيد.

اگه همه مراحل بالا رو به طور كامل انجام داده باشيد. وقتي برنامه رو اجرا ميكنيد با كليك روي هر دكمه پاراگراف مربوطه نمايش داده ميشه در عين حال اون دوتا پاراگراف ديگه مخفي ميشن

موفق باشيد
 
آخرین ویرایش:

Rasivell

Member
متشکر ..کارت درسته حرفه ای:cool:

اقا ردیف شد... :oops:

(البته زیادم مبتدی نیستم ..مشکلم این زبان اسکریپ نویسی برنامه است و من ازش چیزی نمیدونم و زبانم خوب نیست تا از henlp بنامه کمک بگیرم)


عزیز دل : چند تا دیگه سوال دارم ::rose:

1- این کار جواب داد حالا اگه به گفته شما بخواهم حرفه ایش کنم (استفاده از گزینه اولی که گفتید) باید چیکار کنم؟:)

2-من اومدم یه اسلاید شو درست کردم تو برنامه..! چند تا عکس گذاشتم (منظورم از چند تا 30 تا است:lol:) که ماوس میره روشون عکس بزرگتر همون عکس رو کنارش نشون میده ..! حالا اینا پروژه رو سنگین کرده..!!! یعنی دیر لود میشه و اگه اشتباه نکنم علتش اینه که این عکس ها چسبیده به پروژه.! درسته؟ اگه درسته ، یه راهی بگید من این عکس ها رو از این برنامه جدا کنم و تو یه پوشه بزارم کنار برنامه تا سنگین نشه و اگه راه دیگه ای بلدین بفرمایید.
 

evil_gates

اين نيز بگذرد ...
خوشحالم كه مشكلتون حل شد.

براي روش اولي كه گفتم به مثالي كه براتون پيوست ميكنم مراجعه كنيد
تو اين مثال من يك پاراگراف ايجاد كردم.
متني كه قصد داشتم تو اين پاراگراف نمايش داده بشه رو تو يك متغير رشته اي به نام x وارد كردم.
بعد با دستور LoadText مقدار متغير مورد نظر رو تو پارگراف نمايش دادم.

براي سوال دومتون 2 تا روش وجود داره.
1- فقط يك تصوير وارد برنامه كنيد و بعد با دستور ReplaceImage اون تصوير رو با تصوير ديگه جايگزين كنيد
شكل كلي استفاده از اين دستور:
کد:
ReplaceImage("Picture","Address")

تو دستور بالا شما ميتونيد به جاي Picture نام شي Bitmap خودتون رو وارد كنيد و به جاي Address آدرس فايلي كه قصد داريد با اين تصوير جابجا بشه رو بنويسيد.
بعنوان مثال شما يك شي Bitmap با عنوان mypic تو برنامه ايجاد ميكنيد.
حالا قصد داريم اين تصوير رو با تصوير ديگه اي به نام x1.jpg كه در درايو C قرار داره عوض كنيم. شكل دستور اينطوري ميشه

کد:
ReplaceImage("mypic","C:\x1.jpg")
با كليك كردن رو دكمه مورد نظر تصوير قبلي با تصوير جديد عوض ميشه. و همون حالت slide show كه مدنظر شما بود ايجاد ميشه.


2- روي عكسهايي كه تو برنامه وارد كرديد دابل كليك كنيد و تو پنجره خصوصيات تصوير از قسمت Image Storage روي گزينه External كليك كنيد و در كادر مقابل نامي رو براي تصويرتون وارد كنيد.
اينطوري بعد از كامپايل كردن برنامه كنار برنامه پوشه اي به نام Image ايجاد ميشه كه حاوي تصاوير شماست و در واقع تصاوير از حالت embedded خارج ميشن و حجم فايل شما هم كم ميشه.

موفق باشيد
 

پیوست ها

  • test.zip
    597 بایت · بازدیدها: 12

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

بالا