|
آبجکتیو C برای مبتدیان برنامه نویسی برای iPhone، iPod و iPad درباره وبلاگ آیدی dialupblog را به یاهو مسنجر خود اضافه کنید تا از آخرین اخبار و اطلاعات وبلاگ مطلع شوید و مستقیماً با من گفتگو کنید آرشيو وبلاگ مطالب اخير پيوندها ایجاد یک برنامه آلیس: بسوی ماه آلیس ما برخی از عبارات و مفاهیم جدید را یاد گرفتیم و اکنون زمان آن فرا رسیده است که مانند یک برنامه نویس کار کنیم (کد بنویسیم). معمولاً رسم است که برنامه نویسان جدید یک برنامه Hello World بعنوان اولین برنامه خود بنویسند. ما هم کار مشابهی انجام می دهیم، ولی آلیس این کار را بسیار جالب می کند. سپس بدنبال اولین برنامه آلیس، به سراغ اولین برنامه Objective-C خود خواهیم رفت. برنامه آلیس دارای سه شیء روی صفحه خواهد بود، شیء سفینه در حال فرود و دو فضا نورد. یکی از فضانوردان خواهد گفت، « عقاب نشست» و دیگری خواهد گفت « این گامی کوچک برای انسان و پرشی بزرگ برای بشریت است ».
آلیس واقعاً نوشتن برنامه هایی مانند این را ساده و جالب می کند. مراحل زیر را دنبال کنید. 1 – از منوی File گزینه New را انتخاب کنید. 2 – روی زبانه Template کلیک کنید. 3 – MoonProject.a3p Template را انتخاب کنید و روی کلید Open کلیک کنید. شکل 8-2 را ببینید. شکل 8-2- انتخاب قالب فضا 4 – اکنون به اشیاء خود نیاز داریم. روی Edit Scene کلیک کنید. این کلیدی مهم در پنجره جهان شماست که در شکل 4-2 نشان داده شده بود. 5 – در گالری اشیاء (Object Gallery)، گزینه Space Class را از Generic Alice Models انتخاب کنید. 6 – روی Lunar Lander کلیک راست کنید تا برخی از اطلاعات را درباره این شیء ببینید. شکل 9-2 را ببینید. می توانیم روی OK کلیک کنیم تا شیء خود را به جهان برنامه اضافه کنیم یا اینکه می توانیم آن ها را کشیده و در جهان رها کنیم.
نکته: در این مثال می بینید که چرا یک نمونه، یک کپی از شیء است. ما از اشیاء کپی برداری می کنیم و آن را در جهان خود قرار می دهیم. نمونه برداری، عبارتی بزرگ برای فرآیند ایجاد یک کپی و آغایش شیء است. شکل 9-2- مشاهده و افزودن اشیاء به جهان ااز گام 6
7 – روی کلاس Astronaut دوبار کلیک کنید تا دو فضانورد به جهان اضافه شود. با استفاده از ابزارهای تنظیم دوربین (Camera Adjustment) و تنظیم شیء (Object Adjustment) که در شکل 10-2 مشخص شده اند، به نما و زاویه دلخواه خود برسید.
نکته: گاهی وقتی دو شیء را اضافه می کنید، آلیس آن ها رو روی هم قرار می دهد. کافی است فضانورد رویی را کنار بکشید تا فضانورد دیگر قابل مشاهده باشد. جهان شما چیزی مانند شکل 10-2 خواهد بود. شکل 10-2 از ابزار تنظیم دوربین برای کنترل دید کاربر به جهان استفاده کنید. از ابزار تنظیم شیء برای شکل دهی و زاویه دهی به اشیاء جهان خود استفاده کنید.
9 – در گوشه بالا و سمت راست ابزارهای تنظیم شیء (Object Adjustment) وجود دارند. ماوس را روی هر تکه ببرید تا ببینید هر ابزار چه تاثیری روی شیء دارد. به درخت اشیاء (Object Tree) در شکل 10-2 دقت کنید. اشیاء ground، lunarlander، astronaut و astronaut2 در درخت اشیاء قرار دارند. 10 – روی کلید Edit Code در سمت راست و پایین صفحه کلیک کنید. بدین ترتیب به نمای ویرایشگر باز خواهیم گشت. 11 – روی فضانورد سمت چپ در پنجره جهان کلیک کنید. اطمینان حاصل کنید که زبانه Procedures در قسمت Details Area انتخاب شده باشد. 12 – اکنون می خواهیم فضانورد خود را وادار به صحبت کنیم. بیاد دارید که عملیات روی اشیاء نیاز به متدها دارند. کاشی Astronaut2|turn را از Details Area به ویرایشگر خود بکشید. گزینه Turn Left, 0.25 rotation را از لیست پارامترها انتخاب کنید. شکل 11-2 را ببینید. وقتی برنامه خود را اجرا می کنیم، فضانورد سمت چپ به اندازه یک ربع چرخش به سمت چپ می چرخد و روبری دیگر فضانورد قرار می گیرد. شکل 11-2 متدها و پارامترهای فضانورد سمت چپ 13 – بیایید همان کار را با فضانورد دیگر انجام دهیم. روی فضانورد سمت راست کلیک کنید. کاشی Astronaut|turn را از Details Area به ویرایشگر بکشید. گزینه Turn Right, 0.25 rotation را از لیست پارامترها انتخاب کنید. 14 – یک پارامتر اطلاعاتی است که یک متد از طریق آن روی شیء کاری انجام می دهد. یک متد ممکن است نیاز به یک یا چند پارامتر برای متد داشته باشد. روی فضانورد سمت راست کلیک کنید، کاشی Astronaut2|say را به ویرایشگر بکشید. Other را انتخاب کنید و سپس عبارت The Eagle has landed را تایپ کنید. شکل 12-2 را ببینید. شکل 12-2 ویرایشگر شما باید این متدها را درون لیست پارامترهای خود داشته باشد.
15 – روی فضانورد سمت راست کلیک کنید. کاشی astronaut|say را به ویرایشگر بکشید، گزینه Other را انتخاب کنید و عبارت That’s one small step for man… One gaint leap for mankind را تایپ کنید. برنامه شما باید مانند شکل 12-2 باشد.
16 – اکنون بیایید اولین برنامه خود را با کلید روی Play اجرا کنیم. اگر همه چیز را به درستی تمام کرده باشید، برنامه شما باید مانند شکل 13-2 باشد. اگر چنین نیست، عملیات دیباگ کردن را پیش رو دارید. 17 - برنامه را بعنوان TheMoonAlice.a3p ذخیره کنید. ما بعدها از این برنامه استفاده خواهیم کرد. روی File و سپس Save World یا File و سپس Save World As کلیک کنید. شکل 13-2 از قسمت بالای پنجره World Running، می توانیم به برنامه خود برگردیم، آنرا موقتاً متوقف کرده، ادامه داده، دوباره از ابتدا آغاز کرده و یا کلاً متوقف کنیم و حتی از برنامه خود عکس بگیریم. همچنین می توانیم روند اجرای برنامه را سریعتر یا کندتر کنیم که بستگی به میزان کندی یا سرعت برنامه در حال اجرای ما دارد. موضوع مطلب : کلاس ها، اشیاء و نمونه ها در آلیس گروهی از اشیاء با خصوصیات یکسان و متدها (عملکردها)ی یکسان کلاس نامیده می شوند. برای مثال، می توانیم کلاسی بنام AirPlane داشته باشیم. در این کلاس ممکن است پنج شیء داشته باشیم:
Boeing747 lockheedSR71 boeing737 citation10 f18Fighter
این اشیاء تقریباً شبیه هم هستند. همه اینها از کلاس AirPlane می باشند. همگی آنها متدهای زیر را دارند:
Land() takeoff() loewrLandingGear() raiseLandingGear() bankRight() bankLeft()
تنها چیزی که شیء را متفاوت می کند، ارزش خصوصیات آن است. برخی مقادیر خصوصیات ممکن است بصورت زیر باشند:
wingLenght = 20ft maxThrust = 200,000lbs numberOfEngines = 2
در دنیای شما، ممکن است دو شیء داشته باشید که دقیقاً شبیه هم باشند. ممکن است بخواهید دو هواپیمانی بوئینگ 737 در نمای خود داشته باشید. هر کپی از یک کلاس را یک نمونه (Instance) می گیوند. اضافه کردن یک نمونه از یک کلاس به برنامه را نمونه گذاری (Instantation) می گویند.
درخت اشیاء درخت اشیاء (شکل 6-2) به ما امکان می دهد تا تمام اشیائی را که در دنیای آلیس وجود دارند، مشاهده کنیم. بعلاوه، اگر شیء دارای زیربخش هایی باشد، می توانید این زیرمجموعه ها را نیز با کلیک بر روی علامت مثبت یا بستن مجموعه توسط علامت منفی مشاهده کنید. شکل 6-2. درخت اشیاء
بسیاری از دنیاهای آلیس دارای چندین شیء داخلی هستند که برای برنامه ها نیاز خواهید داشت. دنیای شکل 6-2 دارای دوربین (Camera)، نور (Light) و اشیاء زمینی (Ground) می باشد.
ناحیه ویرایشگر (Editor Area) ناحیه ویرایشگر، ناحیه ای بزرگ در رابط کاربری آلیس است که ما در آنجا کدهای خود را خواهیم نوشت. با آلیس، در واقع نیازی به کد نویسی نیست. ما کد خود را درگ و دارپ خواهیم کرد تا اشیاء و خصوصیات آنها را تغییر دهیم.
نکته: قسمت بالای ناحیه ویرایشگر را فراموش نکنید. قسمت بالا شامل سطری از کنترل ها و تکه های منطقی برای حلقه زدن، شاخه زدن و دیگر ساختارهای منطقی است که می توانیم برای کنترل رفتار اشیاء خود از آنها استفاده کنیم.
ناحیه جزئیات (Detail Area) ناحیه جزئیات در رابط کاربری آلیس شامل زبانه هایی برای خصوصیات، روال ها و توابعی است که اشیاء انتخاب شده در درخت اشیاء را تشکیل می دهند.
- Properties یا خصوصیات شاکل اطلاعات خاص در مورد شیء انتخاب شده (مانند وزن، طول و ارتفاع) است. - (Procedures (Methods اعمالی را روی شیء انجام می دهد (مانند بلند شدن از زمین، فرود) - Functions یا توابع و متدها مانند همند. در آلیس، تفاوت بین این دو در اینجاست که متدها مقداری را بر نمی گردانند. یک تابع پس از اجرا، مقداری را بر میگرداند.
ناحیه وقایع (Events Area) ناحیه وقایع در رابط آلیس شامل لیستی از تمام وقایع موجود مورد استفاده توسط برنامه ماست و این امکان را برای ما فراهم می کند که وقایع جدیدی را ایجاد کنیم. وقایع شرایطی هستند که متدهای ما را فعال می کنند. متدها (یا روال ها) یی که به این وقایع عکس العمل نشان می دهند، event handler نامیده می شوند. وقتی یک واقعه خاص اتفاق می افتد، سیگنالی فعال می شود که رسیدگی کننده به واقعه (Event Handler) آن را دریافت کرده و به آن رسیدگی می کند.
برای مثال، ممکن است کاربر کلیدی را روی یک iPhone لمس کند. لمس یا کشیدن انگشت، واقعه ای را فعال می کند و متدی که به این وقایع رسیدگی می کند، روی شیء در برنامه ما عمل می کند. شکل 7-2 را ببینید. شکل 7-2. Phonics Easy Reader 1، نوشته Rock ‘n’ Learn روی شبیه ساز iPad در حالت خوابیده (Landscape) در حال اجراست. با اشاره انگشت روی Read to me یا Let me try واقعه ای رخ می دهد که متدها آن را دریافت کرده و بر اساس آن عملی انجام می دهند. در این مثال، خواندن برای کودک یا خواستن از کودک که کلمه ای را بخواند اجرا می شود. موضوع مطلب : |
||