X
تبلیغات
نماشا
رایتل
پشم سنگ عایق الاستومری
شنبه 12 اردیبهشت‌ماه سال 1388
توسط: آلفا پک

ساخت شبیه ساز اسکرین سیور

این برنامه ابتدا موقعیت مکان نما در دو متغیر ذخیره کرده و شروع به مقایسه ی لحظه به لحظه میکند تا ببیند موقعیت جاری مکان نما با موقعیت اولیه فرق کرده است یا نه. در صورتی که موقعیت مکان نما عوض شده باشد برنامه خاتمه می یابد.

شروع کنید :

1. یک پروژه ی جدید باز کنید و دو شئ Script بسازید و نام یکی را start و نام دیگری check را بگذارید. (توجه داشته باشید که برنامه به حروف بزرگ و کوچک حساس است)

2.روی Page 1 دو بار کلیک کنید و سپس به قسمت اسکریپت آن بروید.

3. دکمه ی Wizard را کلیک کنید و از لیست فرمانها ، فرمان ScriptTimer را انتخاب و سپی در زیر این لیست و در قسمت Object ، شئ اسکریپت با نام start را انتخاب و در قسمت After (ms) عدد 100 را تایپ کنید. این دستور دقیقا بعد از اجرای برنامه ، اجرا میشود و کار آن این است که بعد از 100 میلی ثانیه (یک دهم ثانیه) اسکریپت start را اجرا میکند.

حالا دو بار OK کنید.

4. و اما اسکریپت start . روی این شئ دو بار کلیک کنید ، سپس به قسمت کد نویسی آن بروید. در این بخش باید موقعیت مکان نما را ذخیره کنیم تا در صورتی که جابجا شد ، برنامه قطع شود.

حالا شما دستورات زیر را عینا در آنجا کپی کنید :


mx=MouseX()

my=MouseY()

ScriptTimer("check","100")

توجه داشته باشید که حتما از دستور ScriptTimer استفاده کنید زیرا باگهای (اشکالات)دستور RunScript هنوز اصلاح نشده اند و استفاده از این دستور در بعضی از موارد موجب ایجاد پیغام خطا توسط برنامه میشود.

دستور mx=MouseX موقعیت X مکان نما را در متغیری با نام mx و دستور my=MouseY موقعیت Y مکان نما را در متغیری با نام my ذخیره میکند. و دستور سوم هم اسکریپت با نام check را بعد از یک دهم ثانیه ، اجرا میکند.

حالا دو بار OK کنید.

5. خوب ، تا اینجا برنامه فهمید که مکان نما کجاست! حالا باید یک اسکریپت مدام اجرا شود تا ببیند موقعیت مکان نما با آن چیزی که در دو متغیر mx و my ذخیره شده ، فرق میکند یا نه.

حالا روی شئ اسکریپت با نام check دو بار کلیک کنید و به قسمت کدنویسی آن بروید و دستورات زیر را در آن کپی کنید :


cmx=MouseX()

cmy=MouseY()

If (mx<>cmx) Then

Exit()

End

If (my<>cmy) Then

Exit()

End

ScriptTimer("check","10")

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

کار دستور If (mx<>cmx) این است که موقعیت جاری X مکان نما را با موقعیت اول (که هنگام شروع برنامه ذخیره شد) مقایسه میکند تا ببیند ماوس به صورت افقی حرکت کرده یا نه. و در صورتی که حرکت کرده باشد (یعنی دو مقدار mx و cmx نامساوی باشند) برنامه با دستور Exit() خاتمه می یابد. و در غیر این صورت به دستور بعد از End میرود.

کار دستور If (my<>cmy) نیز مانند دستور قبل است ، با این تفاوت که این دستور در برابر حرکت عمودی ماوس حساس است.

دستور آخر هم اسکریپت با نام check ، یعنی همین اسکریپت را اجرا میکند. به این ترتیب این اسکریپت همواره در حال اجراست تا کار خود را که تشخیص حرکت مکان نماست ، به درستی انجام دهد.

نکته ی مهم : توجه داشته باشید که برنامه ی شما باید کل صفحه را پوشانیده باشد (یعنی اندازه ی صفحه ی برنامه ، به قدری بزرگ باشد که کل صفحه مانیتور را پر کند) در غیر این صورت ، برنامه شما به درستی عمل نمیکند! اگر شما نمیدانید که کاربری که با برنامه ی شما کار میکند از چه میزان تفکیک پذیری (640x480 / 800x600 / 1024x768 …) استفاده میکند ، میتوانید به کمک دستورات زیر ، صفحه ی برنامه را در کل محیط کاری وی بسط (گسترش) دهید.

این دستورات را در قسمت کدنویسی Page 1 و در ابتدای آن قرار دهید :


Width=ScreenWidth()

Height=ScreenHeight()

SysCommand("ResizeWindow","Width,Height")

SysCommand("CenterWindow","")

 

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

زمانی که بخواهید برنامه ای فراتر از یک Autorun عادی بسازید این اسکریپتها هستند که شما را پیش میبرند . بسیاری از این اسکریپتها از اطلاف وقت و پیچیده شدن برنامه شما جلوگیری میکنند . با هم به بررسی این اسکریپتها میپردازیم :

RunScript : با این اسکریپت یک آبجکت اسکریپت را فراخوانی میکنید . اهمیت این اسکریپت زمانی دیده میشود که چند دکمه در یک صفحه کار مشابه انجام دهند ، آنوقت کافی است دستورها را در یک آبجکت اسکریپت بنویسیم و فقط دستور RunScript را در دکمه ها قرار دهیم .
روش استفاده : از پنجره انتخاب اسکریپت ها RunScript را انتخاب کنید . در بخش Object نام آبجکت اسکریپت مورد نظر را انتخاب کنید .

ُScriptTimer : این اسکریپت هم شبیه مورد قبل برای اجرای یک آبجکت اسکریپت به کار میرود با این تفاوت که در این جا برای اجرای اسکریپت زمانی را در نظر میگیریم . برای مثال میخواهید 5ثانیه پس از کلیک کاربر روی یک دکمه برنامه به صفحه بعد برود و یا لوگوی شما برای مدت چند ثانیه نمایش داده شود.
روش استفاده : مانند قبل ، فقط در قسمت After [ms] زمانی را که باید سپری شود تا اسکریپت شما اجرا گردد وارد کنید ( نکته : زمان بر حسب میلی ثانیه است در نتیجه هر 1000 ms برابر با یک ثانیه است .

LoadText : با استفاده از این اسکریپت مینوانید به راحتی متن یک آبجکت متنی ، یک دکمه و ... را به متن دلخواه خود تغییر دهید . متن دلخواه شما میتواند یک فایل متنی باشد . این اسکریپت کاربردهایی با متغیرها نیز دارد که بعد ها به آن میپردازیم .
روش استفاده : در قسمت Object/Variable$ نام آبجکتی را که باید تغییر کند را وارد کرده و در قسمت Path/Variable$ متن مورد نظر و یا محل فایل بر روی هارد را وارد کنید .

InstallFont : به کمک این اسکریپت قلم ( Font ) مورد نظر خود را بر روی کامپیوتر کاربر نصب کنید تا برنامه شما با فونت مورد نظر خود شما اجرا گردد .
روش استفاده : در قسمت Path مکان فونت را از روی هارد انتخاب کنید . ( میتوانید از SrcDir و SrcDrive استفاده کنید . )

Volume Up & Down : اگر یک برنامه پلیر مولتی مدیا میسازید به کمک این دو اسکریپت میتوانید کنترل صدای کامپیوتر را در دست بگیرید . یعنی با Volume Up افزایش صدا و با Volume Down کاهش صدا را باعث میشوید .
روش استفاده : در قسمت [Volume 0-100] کافیست مقداری را بین 0 تا 100 وارد کنید تا با هربار اجرای اسکریپت ( مثلا کلیک روی دکمه ) به همان مقدار به صدای کامپیوتر اضافه یا کم شود


منبع سایت :http://www.mehdico.mihanblog.com