- برای مشاهده تمام مقالات موجود در سایت و استفاده از تالار گفتمان لطفا با نام کاربری خود وارد شوید در صورتی که عضو نیستید < اینجا > کلیک کنید.


آموزش مولتی مدیا بیلدر قسمت هفتم Multi Media Builder چاپ ارسال برای دوستان
(52 :مجموع راي ها)
فرستادن :
Mohand.es
Balatarin
Donbale
نوشته شده توسط وحید نایینی   

Script های مربوط به زمان

این ها script   هایی هستند که مربوط به زمان هستند .

PageTimer("","")

ExitTimer("")

ScriptTimer("","")

RunScript("")

Pause("")

Return()

Refresh()

در آموزش های قبلی برخی از این کد ها استفاده کردیم اما در این بخش بیشتر به این script ها می پردازیم :

PageTimer("ms","PageLabel")

با اجرای این کد می توان پس از زمانی که تعیین می کنید به صفحه مورد نظر بروید . مثلا در این کد پس از گذشت 1000 میلی ثانیه (1 ثانیه) به صفحه ای که با Label آن را در قسمت دوم نوشته ایم (در اینجاpage 2  ) می رود :

PageTimer("1000","Page 2")

ExitTimer("ms")

این یک تایمر است که پس از گذشتن زمان مشخص شده پنجره بسته می شود (عمل Exit() انجام می شود) . در این کد پس از کذشتن یک دقیقه پس از اجرای این Script پنجره بسته خواهد شد .

ExitTimer("60000")

ScriptTimer("ObjectLabel","ms")

پس از گذشتن زمان تعیین شده Script مورد نظر اجرا می شود . در اینجا فقط منظور شئ Script نیست این کد مربوط به هر شئی که بتوان در آن Script مورد نظر خودتان را وارد کنید مثلا Text Button ، Rectangle و... می باشد . در قسمت اول نام شئ و در قسمت دوم زمان را می نویسیم . در مثال شئی با نام Script پس از 1 ثانیه اجرا می شود .

ScriptTimer("Script","1000")   

RunScript("ObjectLabel")

این کد مانند کد بالا عمل می کند با این تفاوت که بلافاصله Script را اجرا می کند .

RunScript("Script")

Pause("ms")

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

Return()

اگر خطوط Script ها را مانند یک رشته سیم فرض کنیم ، دستور Return مانند کلیدی است که  این ارتباط و رسانایی بین رشته ها را قطع می کند . یا وقتی به این خط رسید بقیه خط ها را نمی خواند . از اینscript  می توانید در دستور شرطی If یا حلقه for استفاده کنید .

Refresh()

تقریبا از اسم این کد می توان به طرز کار آن پی برد . این Script در حلقه ها بسیار مفید است . مثلا در یک حلقه Normal در هنگام شمارش شما نمی توانید از کلید های دیگر استفاده کند . اما اگر در حلقه خود Refresh را جای دهید این مشکل برطرطرف می شود .

برای اجرای کد های نمونه زیر ، یک Text با نام Counter ایجاد کنید .

یک حلقه با Refresh :

For n=1 To 100000

  i=n

  DisplayValue("Counter","i")

  Refresh()

Next n

یک حلقه Normal  :

For n=1 To 100000

  i=n

  DisplayValue("Counter","i")

Next n

تغییری که در اجرای این دو حلقه وجود دارد کاملا محسوس است .

 

 

جواب سوالها :

سوال 1 . تمرین N خط صفحه را به چند قسمت تقسیم می کند را طوری بنویسید که اگر عدد ورودی از 0 کمتر بود پیامی با این مضمون که "عدد را اشتباه وارد کرده اید ، دوباره تلاش کنید"  ظاهر شود .

جواب : یک دستور شرطی If به آن اضافه می کنیم . دستور زیر مربوط به کلید است :

i=0

p=1

If (A>0) Then

  For 1 To A

    i=i+1

    p=p+i

  Next

  DisplayValue("Answer","p")

Else

  Message("The number is not correct , try again .","")

End

 

سوال 2 . ساعتی بسازید که ساعت ، دقیقه و ثانیه را وارد می کنیم و در همان زمانی که ما مشخص کردیم  یک موسیقی پخش کند . (برای پخش موسیقی از این Action script استفاده کنید : AudioOpen("") ) .

جواب : اول یک ساعت با قرار دادن CBK_TimeHMS در Label متن (Text) مورد نظر بسازید . بعد 3 تا InputText درست می کنیم تا ساعت ، دقیقه و ثانیه مورد نظر را در آنها ثبت کنیم . در Properties آنها ، دکمه رادیویی Integer را انتخاب و نام های Hour ، Min  و Sec را برای آن ها انتخاب کنید . حالا یک دکمه بسازید که در آن دستور یک Script به نام TimeSet را اجرا می کند . کار این Script این خواهد بود که زمان وارد شده در TextInput ها را با زمان فعلی مطابقت دهد . همچنین این Script باید هر ثانیه اجر شود تا بتواند زمان را تشخیص دهد . پس برای دکمه می نویسیم :

RunScript("TimeSet")

و برای <;span style="font-family: Tahoma">Script می نویسیم  :

 

H=CBK_Hour

M=CBK_Minute

S=CBK_Second

If (Hour=H) Then

  If (Min=M) Then

    If (Sec=S) Then

AudioOpen("E:\Musics\Mansour\The Fugitive.mp3")

    End

  End

End

ScriptTimer("TimeSet","1000")

 

در 3 خط اول ساعت ، دقیه و ثانیه را به  3 تا Integer نسبت میدهیم که در مراحل بعدی اسکریپت نویسی آسان تر باشد . دستور شرطی If هم در اینجا به این شکل کار می کند که اول ساعت را با ساعت کامپیوتر مقایسه می کند اگر مساوی بودند به سراغ دقیقه و پس از آن ثانیه می رود و اگر ثانیه هم درست بود دستور را اجرا می کند . در خط آخر هم پس از 1 ثانیه دوباره خودش را اجرا میکند .

 

سوال 3 . یک کلید بسازید که نام آن Play است . با کلیک کردن روی آن یک موسیقی پخش می شود و همچنین نام آن به Stop تغییر می کند که با کلیک کردن دو باره موسیقی قطع می شود . (برای قطع شدن موسیقی از این Action script استفاده کنید : AudioStop("") ) .

یک ترفندی که در اینجا می تونیم به کار ببریم این است که به هر کدام از حالت ها یک عدد نسبت دهیم  مثلا  یک عدد صحیح (Integer) تعریف می کنیم و برای حالت Play آن عدد 0 و برای حالت Stop عدد 1 را در نظر می گیریم . در اینجا نام عدد صحیح (Integer) ، play است . برای اینکه اولین بار که روی دکمه کلیک می کنید ، موسیقی پخش شود ، در قسمت Script مربوط به Properties صفحه ینویسید :  play=0

نام دکمه را هم به Play تغییر دهید و این کد هارا در قسمت Script دکمه بنویسید :

If (play=0) Then

AudioOpen("e:\beethoven\moon shine.mp3")

  AudioPlay()

  name$='Stop'

  LoadText("TextBTN","name$")

  play=1

  Return()

End

If (play=1) Then

  AudioStop()

  name$='Play'

  LoadText("TextBTN","name$")

  play=0

End

در اینجا فرض شده که موسیقی ای باز نشده پس اول موسیقی را باز می کنیم و سپس آن را Play می کنیم . اما اگر بخواهیم به جای STOP از Pause استفاده کنیم یعنی از این Script استفاده کنیم : AudioPause()، باز هم از اول موسیقی اجرا خواهد شد .برای رفع این مشکل می توانیم دستور AudioOpen را در قسمت Script صفحه قرار دهیم ، و بعد از آن دستور Stop را می آوریم تا فورا موسیقی Stop شود . به این شکل :

play=0

AudioOpen("e:\beethoven\moon shine.mp3")

AudioPause()

و در قسمت Script دکمه هم کد های زیر را می نوسیم :

If (play=0) Then

  AudioPlay()

  name$='Stop'

  LoadText("TextBTN","name$")

  play=1

  Return()

End

If (play=1) Then

  AudioPause()

  name$='Play'

  LoadText("TextBTN","name$")

  play=0

End

 

سوال 4 . برنامه ای بسازید که مینیمم وماکزیمم بین دو عدد را به  دست آورد و در دو خروجی مجزا (Text) نمایش دهد .

این نسبت به 3 تا قبلی آسون تره !

اول دو تا Text ایجاد کنید و نام آنها را Min و Max بگذارید. دو تا InputText هم بسازید ، آنها را به شکل Float تعریف کنید (در Properties قسمت Output گزینه Float را انتخاب کنید ) و نام آن ها (قسمت Output در Properties) را A1 و A2 بگذارید . یک دکمه هم بسازید و کد های زیر را در آن وارد کنید:

If (A1>A2) Then

  DisplayValue("Max","A1")

  DisplayValue("Min","A2")

End

If (A2>A1) Then

  DisplayValue("Max","A2")

  DisplayValue("Min","A1")

End

اما اگر هر دو مساوی باشند عددی برای نمایش در Min و Max نخواهد داشت . اگر این کد را وارد کنید در Min و Max می نویسد که دو عدد مساوی هستند .

If (A1>A2) Then

  DisplayValue("Max","A1")

  DisplayValue("Min","A2")

End

If (A2>A1) Then

  DisplayValue("Max","A2")

  DisplayValue("Min","A1")

End

If (A1=A2) Then

  Equl$=CHAR(A1)+' = '+CHAR(A2)

  DisplayValue("Max","Equl$")

  DisplayValue("Min","Equl$")

End

سوال 5 . برنامه ای بسازید که با وارد کردن 3 عدد به عنوان 3 ضلع مثلث بگوید که این مثلث قائم الزاویه هست با نه ؟ (با استفاده از قضیه فیثاغورس)

برای ورودی 3 عدد 3 تا Text Input بسازید و برای خروجی آن حالت Integer و نام های A ،B  و C بگذارید . می خواهیم برنامه را طبق قضیه فیثاغورس بنویسیم :

اول با دستور شرطی مینویسیم که آیا مجذور A مساوی مجذور B به اضافه C  است یا نه . اگر مساوی بود که پیامی ظاهر می شود و می گوید که مثلث قائمه است ، اگر مساوی نبود می بیند که آیا مجذور B مساوی مجذور C به اضافه A  است یا نه و به همین شکل ادامه پیدا می کند و اگر 3 ضلع توانایی  ساخت مثلث قائمه را نداشتن با پیامی به ما هشدار می دهد .

یک کلید بسازید و این دستور ها را به آن بدهید :

Yes$='Yessss'

No$='No'

If (A^2=B^2+C^2) Then

  Message("","Yes$")

Else

  If (B^2=A^2+C^2) Then

    Message("","Yes$")

  Else

    If (C^2=A^2+B^2) Then

      Message("","Yes$")

    Else

      Message("","No$")

    End

  End

End

سوال 6 . یک برنامه که پنجره فرمت ویندوز را 100000 بار در ثانیه نشان دهد !

خیلی آسونه و البته زیاد نتیجه جالبی ندارد (می تونید امتحان کنید) حالا من 100 بار می زنم خودتون اگه خواستید 100000 بار بزنید (اما نزنین بهتره) .

For 1 To 100

  Run("rundll32.exe","shell32.dll,SHFormatDrive")

  Refresh()

Next

 

همون طور که میبینید بیشتر سوالها در مورد دستور If است و فقط 2 تا از اونها درباره For است . این قسمت چون می

خواستم به سوال  ها جواب بدهم بخش آموزشی این مقاله کمتر شد (اما خود سوال ها هم آموزشی اند ) .

 

وحید نائینی

7fa3b42128508431a7217c3e0b5753f9

 

نظرات
افزودنجستجو
میخواستم بدونم ک
alireza (217.218.210.4) ۰۸ مرداد ۱۳۸۶ , ۰۷:۱۸

خوب است
امیر جبلی (89.165.42.39) ۰۸ مرداد ۱۳۸۶ , ۱۱:۴۰

لطفا سوالتون رو دوباره بپرسید این که خونده نمیشه
عارفه (80.191.163.243) ۲۱ مرداد ۱۳۸۶ , ۰۷:۵۶

سلام من اولين دفعه ست با بيلدر كار ميكنم چه جوري ميشه action واسه مثلا عمل + ماشين حساب تعريف كرد .جواب تا شب بهم برسه ممنون ميشم
ALIREZA (217.218.210.4) ۲۳ مرداد ۱۳۸۶ , ۱۰:۱۵

چگونه میشود که نوار لغزان صدا برای افزایش یا کاهش صدا درست کرد.
محمد حسین (80.191.162.2) ۰۷ شهريور ۱۳۸۶ , ۰۳:۱۲

می خواستم بدونم که وقتی فایل فلش در مالتی مدیا می آوریم و متن یا هر چیز دیگری روی آن قرار می دهیم چرا اطراف آن سفید می شود. و دیگر اینکه چون داخل مالتی مدیای من پر از فلش است و برنامه فلش پلیر حتما باید نصب شود می خواستم دستوری از شما بپرسم که اگر برنامه فلش پلیر 9 روی کامپیوتر طرف نصب نباشد نصب کند و اگر نصب باشد نصب نکند. خیلی سریع پاسخ می خواهم
با تشکر از شما
free3404mohammad@yahoo.com
نرم افزار های رو
امید (92.42.51.245) ۰۶ ارديبهشت ۱۳۸۷ , ۱۴:۰۹

در مولتی مدیا نمی توان روی فلش چیزی قرار داد برای این کار باید آن چیزی را که می خواهید قرار دهید ابتدا در فتو شاپ پس زمینه آن را با فلش مطابقت دهید بعد در مولتی مدیا بگذارید. در ضمن باید از bitmap button استفاده کنید.
یاسر (217.219.30.3) ۱۵ شهريور ۱۳۸۶ , ۰۱:۰۴

سلام عزیزم خسته نباشی ممنون از زحماتی که میکشی
میخواستم ببینم چجوری میتونم یک ولوم کشابی برای صفحاتم بذارم
این جوری که وقتی اونو به سمت چپ وراست بکشم صدا کم و زیاد بشه
عرفان (217.218.177.42) ۱۲ دي ۱۳۸۶ , ۰۸:۴۱

دانلود مولتی مدیا بیلدر هم میذاشتید ضرر نداشت ها!!!!
علیرضا اکبری lrz.ak (80.191.88.103) ۱۲ دي ۱۳۸۶ , ۰۸:۵۲

چجوری در مالتی مدیا نوار حرکت کن مدیا پلیر که زمان گذشته شده از فیلم را به صورت نوار لغزان نمایش می دهد را درست کنیم
يه سوال مهم داشت
پدرام (85.185.229.78) ۲۷ اسفند ۱۳۸۶ , ۱۱:۴۰

يه سوال نسبتا طولاني درباره ي كدنويسي در مالتي مديا بيلدر داشتم كه توي عكس نوشتمش اگه ميشه جوابشو بفرست به ايميلم.يه دنيا ممنون
http://i25.tinypic.com/29zejbn.png
پدرام (85.185.229.78) ۲۷ اسفند ۱۳۸۶ , ۱۱:۴۱

يه سوال نسبتا طولاني درباره ي كدنويسي در مالتي مديا بيلدر داشتم كه توي عكس نوشتمش اگه ميشه جوابشو بفرست به ايميلم.يه دنيا ممنون
http://i25.tinypic.com/29zejbn.png
چگونگی ساخت یک ا
محمد (85.185.177.4) ۰۶ ارديبهشت ۱۳۸۷ , ۰۰:۳۸

سلام چگونه می تونم با این نرم افزار یگ امتحان تستی بسازم که اکر به آنها درست جواب دادیم صفحه بعدی نمایش داده شود
Imperator (217.218.242.196) ۱۶ مرداد ۱۳۸۷ , ۲۳:۴۷

1-چه طور ميشه با mmb عكس دسكتاپ را عوض كرد.
2-چه طور ميشه يه Script نوشت كه با اتصال به اينترنت Script1 اجرا بشه وبا قطع اتصال Script2 اجرا بشه.
تنها کاربران عضو توانايي ارسال نظر را دارند.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.

 
فرستادن :
Mohand.es
Balatarin
Donbale
Advertisement

Creative Commons License

Template Designed by : Template Design Workshop
Template name : Hamkelasy Template
Designed by : Template Design Workshop

Template Design Workshop offers professional web templates, flash templates and other web design products available for immediate download.

PictoFX Multimedia Design Group Medium Blog Template Design Workshop
pictofxt