دسته
آمار وبلاگ
تعداد بازدید : 1304
تعداد نوشته ها : 3
تعداد نظرات : 1
Rss
طراح قالب
زماني که در محيط برنامه هاي متحرک سازي و سه بعدي کار مي کنيد در دنيايي قرار داريم که همه اجزاء و اشياء عناصر و پديده ها و حرکات آن در دست ما قرار دارند. ساخت کاراکترها و اشياء در محيط هاي مجازي و تنظيم روابط و حالات آنها با يکديگر هم براي سازنده و هم براي بيننده بسيار لذت بخش است و زماني يک هنرمند سه بعدي کار موفق در کار خود است که بر تمام ابزار و محيط يک نرم افزار مسلط باشد و صد البته ديد هنري او و نيز قدرت تخيل و تجسم او در اين کار تأثير بسزايي دارد. البته اين مهم بدست نمي آيد مگر با تلاش و تحقيق در اين رابطه.متن بالا از مقدمه آموزش 3D max 6 در قسمت آموزش وب سایت تبیان انتخاب شده است خوشبختانه منابع بسیار خوبی برای آموزش 3d max در اینترانت تبیان پیدا می شود اولین منبع آن در قسمت آموزش تبیان به این آدرس است http://old.tebyan.net/computer/3dsmax/html/co-830507-home3d.htmاما ما توصیه می کنیم اگر از لحاظ وصل شدن طولانی مدت به اینترانت مشکلی ندارید حتما این برنامه را دانلود کنید http://wbt.roshd.ir/setup/wbtsetup.exeو در قسمت دوم با وصل شدن به اینترنت مراحل نصب را طی کنید پس از نصب در حالی که به اینترنت متصل هستید از قسمت فیلم و انیمیشن یا قسمت گرافیک "آموزش مقدماتی 3D Max 5 " را انتخاب کنید تا با محیطی آموزشی جالبی رو به رو شویدچون این آموزشها در اینترانت پیدا می شوند کار ما بسیار راحت می شود. به آموزش هایی می پردازیم که مطالب جدیدی داشته باشد
دسته ها :
سه شنبه نهم 5 1386
در این وب لاگ شما می توانید مبانی ساخت بازی های کامپیوتری را یاد بگیرید و بازی های زیبا و کوچکی برای خود و دوستانتان بسازیدمقالت این وبلاگ تنها برای درگیر کردن ذهن شما با روش های ساخت بازیست بنابراین سطح مبتدی و متوسط را شامل می شود پس بعد از مدتی (خودتان متوجه خواهید شد کی) اگربرایتان جذابیت خود را از دست نداد و خواستید یک بازی ساز حرفه ای شوید باید در اینترنت به دنبال منابع کامل تری باشیدپیش نیاز هایی برای بازی سازیقبلا گفتیم که اینجا از صفر شروع می کنید و تا این حد که ما در این وبلاگ پیش می رویم شما تنها باید خواندن و نوشتن را بلد باشید و در علوم کامپیوتر فرق موس با کیس را بدانید و وقتی به شما بگویند روی استارت(دکمه روی نوار وظیفه پایین میز کار(desktop)) کلیک (دکمه سمت چپ روی موس) کنید حاج و واج نمانید که کلیک چیست .حد اقل یک بازی انجام داده باشید . حال چه در کنسول(ابزار الکتریکی که مهمترین کار آن اجرای بازی است مثل پلی استیشن ،میکرو،سگا) خود و یا در رایانه ...اگر این شرایط را دارید ادامه متن را بخوانید!!! .مواد لازم برای ساخت یک بازی 1. انتخاب یک موتور (موتور ها نرم افزار هایی هستند که به ما در ساخت بازی کمک می کنند) همان طور که برای اجرای فایل های صوتی وتصویری خود می توانید از نرم افزار های مختلفی استفاده کنید برای ساخت یک بازی نیز می توانید از نرم افزار های مختلفی استفاده کنید(به این نرم افزار ها "موتور" می گوییم) 2. انتخاب یک نرم افزار برای کارهای گرافیکی (اگر مایلید که خودتان اشیاء درون بازی را بسازید باید کار با یکی از این نرم افزار ها را بلد باشید در غیر این صورت این گزینه را نادیده بگیرید و از اشیاء آماده موجود در اینترنت استفاده کنید)3. خلاقیت (توجه داشته باشید اگر بخواهید بازی هایی که ساخته شده اند را بازسازی کنید یک اشتباه بزرگ را مرتکب شده اید)پس به اطراف دقت کنید و سوژه ای بکر برای خود انتخاب کنید حتما لازم نیست سوژه شما تا کنون توسط هیچ بازی سازی یا گروه بازس سازی ساخته نشده باشد گاهی اوقات قسمتی از یک بازی خود سوژه بسیار جالب برای بازی سازی استشروع کنید به بخش مقالات بروید
دسته ها :
سه شنبه نهم 5 1386
action script بر اساس جاوا اسکریپت ساخته شده و دارای .objects.و .classes هاست object.. ها انواع اطلاعات مانند صدا تصویر و متن و مقادیر عددی و... هستند كه خود زير گروه كلاس ها به شمار مي روند هر کدام از object.ها خود دارای متد method.. و مشخصات.properties مخصوص بخود هستند پنل اکشن با دو صورت کارایی normal. و export. محیط برنامه نویسی را برای کاربران حرفه ای و کاربران معمولی که چیزی از زبانهای برنامه نویسی نمی دانند آماده کرده استدر فلش ام ایکس اکشن ها به 8 قسمت طبقه بندی شده اند :1: actions( اکشن) : یک گروه کلی که بسیاری از اکشن هایی که مرتب برای کنترل فیلم از آنها استفاده می کنید در این گروه هستند2:operators( عملگر) شامل عملگرها برای مقایسه و تغییر مقادیر و نشانه های ریاضی جمع و تفریق و ... هستند3:functionsتوابع) تابع ها در این گروه قرار داده شده اند توابع زیر برنامه هایی هستند که اطلاعات را تجزیه تحلیل کرده و مقادیر را به برنامه اصلی بر می گردانند4:constants( ثوابت) ثابتها مقادیر ثابت منطقی مثل true یا .falseهستند5:properties(:مشخصات ) ویژگیهای مختلف در این طبقه هستند مانند درجه محو بودن یا زاویه چرخش و غیره6: objects ( شی ها) شاملobjectهای مختلف مثل دکمه ها و متدها و رویدادهای مختلف اشیا هستند7:deprecate(بدرد نخورها) همونطور که از اسمش پیداست یه سری دستورات بدرد نخورهستند که کاری با هاشون نداریم8: flash UI components گروه آخر یک گروه برنامه سفارشی از پیش نوشته شده است که کارهای خاص و پر کاربردی را انجام می دهند مثلا شما میخواهید یه منو بسازید و باید از اسکریپت های مختلف استفاده کنید اما قبلا بصورت آماده در این قسمت گذاشته شده است __________________ نسبت دادن انواع اکشن ها به دکمه های مختلف مریی و نامریی قبل از اینکار باید با دو مفهومevents وevents handlersآشنا باشیم event ها همان حوادثی هستند که در یک فیلم فلش اتفاق میافتند مثل کلیک یک دکمه حالا event handlers ها اتفاقاتی هستند که در جواب یک event. اتفاق میافتند مثلا تعیین می کنیم که با کلیک کردن یک دکمه صدای موزیک در فیلم پخش شوددکمه ها بطور مستقیم با این دو مفهوم سرو کار دارندبرای نسبت دادن event handlerبه یک دکمه از دستور on استفاده می کنیم event های این دستور به شرح زیر هستند :on press.: زمانی که ماوس در محدوده انتخاب دگمهhit قرار داشته باشد عمل مورد نظر ما انجام می شودon realease: وقتی دکمه فشرده شده و بعد رها شودon release outside: وقتی دکمه فشار داده شود و بعد از کلیک ماوس به خارج محدوده دکمه برودon rollover...: وقتی ماوس از خارج از محدوده دکمه وارد آن شودonrollout:وقتي ماوس از محدوده دكمه به بيرون آن برودondragover:وقتی دکمه کلیک شود وماوس بدون رها سازی به بیرون محدوده برود و دوباره بر گرددondragout:وقتی دکمه کلیک شده وماوس بدون رهاسازی به بیرون محدوده drag شود بعد از استفاده کردن ار هرکدام از این eventشما باید عملی که باید در جواب انجام داده شود را نیر به آنها نسبت دهیددستورات movie controlازactopn >moviecontrol>gotoرا انتخاب کنید این دستور خیلی مورد استفاده شما قرار خواهد گرفت با بکار گیری این دستور پس از eventدکمه فیلم شما به فریم دلخواهتان پرش خواهد داشت به عکس زیر توجه کنید برای مثال شما به دکمه موی دستور می دهید که پس از فشرده شدن دکمه فیلم به فریم 10 رفته و از آنجا ادامه پیدا کندبا بکار گیری دستور stop. پخش فیلم متوقف می شود با بکار گیری دستور .play پخش فیلم ادامه پیدا می کندبا بکار گیری دستور..stop all sounds تمامی صداهای در حال پخش قطع می شوندقسمت browser کد: fscommand() اين تابع داري كامندهاي زيره: Quit-None:براي خروج از برنامه استفاده ميشه! fullscreen-true or false:براي تمام صفحه كردن فلش پلير استفاده ميشه!البته در محيط ويندوز allowscale-true or false:اجازه تغيير اندازه صفحه فلش رو همرا با تغيير اندازه صفحه فلش پلير نميده!مثلا در حالت معمولي اگر سايز صفحه فلش پلير رو تغيير بديد سايز فايل فلش هم با اون عوض ميشه ولي بااستفاده از گزينه falseاين كامند،اين اتفاق رخ نميده! showmenu-true or false:همه گزينه هاي رايت كليك رو به جز setting و about flash player حذف ميكنه! exec-Path to application :براي اجرا كردن يك فايل exe استفاده ميشه!در اين باره شما بايد به دو نكته توجه كنيد 1.swfنميتونه فايل exe رو لود كنه! 2.فايل exe شما بايد در فولدري به نام fscommandواقع در كنار فايل فلش اصلي تون قرار بگشره.البته در اكشن بالا فقط اسم فايل رو مينويسيد و اسم اون فولدر رو وارد نميكنيد! trapallkeys-true or false:اين كامند دكمه هاي تركيبي مربوط به فلش پلير رو غير فعال ميكنه! آموزش اختصاصي مخصوص اين اكشن کد: loadMovie(url:String, target:Object, [method:String]) اين اكشن از سودمندترين اكشن هاي فلشه!به وسيله اين اكشن ميتونيم از خارج،فايل swfرو درون فايل فلش جاري لود كنيم! مشخصا آدرس اون فايل در قسمت urlو همراه با " " قرار ميگيره!در قسمت targetمحلي كه فايل لود ميشه مشخص ميشه و متد هم كه معمولا لازم نيست و به صورت getو post هستش! در مثال زير کد: loadMovie("circle.swf", "_level0"); فايل circle.swfواقع در كنار فايل فلش اصلي در level0 لود ميشه!کد: loadVariables(url:String, target:Object, [method:String]) به وسيله اين اكشن ميتونيم يك متن رو از خارج درون فلش لود كنيم!توصيحات همانند اكشن بالاست!کد: unloadMovie(target:MovieClip) اين اكشن براي بستن فايل فلشي كه قبلا توسط loadMovieلود شده بود استفاده ميشه! كافيه كه حايي كه فايل لود شده رو در محل targetبنويسيم و اكشن رو اجرا كينم!کد: getURL(url:String, [window:String, [method:String]]) براي باز كردم يك صفحه وب درون فلش استفاده ميشه!معمولا اين اكشن رو به باتن ها نسبت ميدن تا با كليك بر روي باتن ،صفحه مورد نظر باز بشه! آدرس در قسمت urlقرار ميگيره،windows كه از _Self,_blank,_parent,_top specifiesتشكيل شده نوع باز شدن صفحه جديد رو مشخص ميكنه و متد هم كه معمولا براي فرستادن اطلاعات به فايل php,asp,xmlو ... استفاده ميشه از post و get تشكيل شده! __________________ اكشن هاي movieclipcontrol duplicatedmovieclip: این دستور می توان movieclip موردنظر رو دو برابر کرد اگر بخواهید بیشتر از دو برابر بشوند باید آنرا درون یک حلقه while بندازید می توان با استفاده از این دستور افکتهای زیبایی به موی کلیپ ها داد در اينجا یک نمونه از موارد کارایی این دستور را می توانید مشاهده کنیدکد زیر 10 تا کپی از موی کلیپ می گیرد:HTML کد: x=0 while (x<10) { duplicatemovieclip("movieclip2","movieclip2"+x); }onclipevent: می توان با این اکشن رویدادها را در کلیپ مورد نظرتان اعمال کنید load.: وقتیeventاتفاق میافتد که فیلم بار گذاری شده باشدenterframe: وقتی اتفاق میافتد که یک فریم از کلیپ وارد شده باشدunload: وقتی اولین فریم movieclip بارگذاری شد این دستور اجرا می شودmouse down: وقتی کاربر کلیک چپ کرد این رویداد احرا می شودmouseup.: وقتی کاربر کلید ماوس را رها کند این اکشن اجرا می شودmouse move.:وقتی کاربر ماوس را حرکت داد این دستور اجرا میشود.keydown: وقتی کلیدی از صفحه کلید فشار داده شد این رویداد اتفاق میافتد و با دستور getcode می توان مشخص کرد که کدام کلید مد نظر استkey up.: وقتی کلیدی از صفحه کلید رها شد این دستور اجرا می شود مانند حالت بالا باید از دستور getcode نیز در کنارش استفاده کردdateزمانی اجرا می شود که نتیجه دستور loade movie یا load varieble بار گذاری شودremovemovieclip:اين اكشن موي كليپ هايي كه با دستور duplicatedmovieclip زياد شده اند را حذف مي كندsetpropertyبرای اینکه خصوصیت مورد نظرمون رو به کلیپ ویدیویی اعمال کنیم باید از این اکشن استفاده کنیم: که سه فیلد دارد properties: برای تعیین خصوصیت مورد نظر.target: برای وارد کردن ریشه یا همان تعیین موی کلیپ هدفvalue.: برای تعیین عدد برای خصوصیات مورد نظر مانبرای مثال ما مشخص می کنیم که درجه محوی موی کلیپ با نامmovie clip2 ..برابر 70 باشدکد: _root.movieclip2._alpha=70فقط نمی توان دو خصوصیت رو با یک دستور به یک موی کلیپ نسبت داد و باید برای هر خصوصیت این دستور رو دوباره وارد کردخصوصیات رو با هم مرور می کنیم :alpha_ این دستور .opacity یا همان درجه محوی رو مشخص می کند( عددی بین 0 تا 100)currentframe_.:این دستور شماره فریمی که در حال اجراست بر می گرداندdroptarget_.: این دستورمسیر حقیقی رابر می گرداند و نشان می دهد که موی کلیپdragشده به کجا انداخته شده استfocuserect.: نشان می دهد وقتی که با استفاده از صفحه کلید روی این موی کلیپ زوم شده ( یعنی در حالت انتخاب شده قرار گرفته ) ایا اطرافش رو یک مستطیل زرد رنگ بگیره یا نه سپس یک مقدار حقیقی true یا .falseرا بر می گرداندframesloaded_.: شماره فریم لود شده از فیلم رو بر می گرداندname_.: نام نمونه (instance)را مشخص می کند.height_.: درازای شی را بر حسب پیکسل مشخص می کندquality_.: کیفیت برگردانده شده را مشخص می کندrotation_:درجه چرخش را تعیین می کندsoundbuftime_.: زمان قبل از شروع فیلم را تعیین می کندtarget_.: ریشه موی کلیپ مشخص شده را بر می گرداند totalframes_.: تعداد کل فریمهای موجود در موی کلیپ را بر می گرداندurl_: صفحه وبی که موی کلیپ از آن دانلود شده را بر می گرداندvisible_.: تعیین می کند که شی مورد نظر ما پنهان یا آشکار باشدwidth_.: عرض شی مورد نظر را بر حسب پیکسل مشخص می کندx_.: موقعیت x شی را مشخص می کندxmouse_.: موقعیت .x ماوس را مشخص می کندxscale_.: تعيين مقياس xy_:موقعیت yشی را مشخص می کندymouse_.: موقعیت y ماوس را مشخص می کندyscale_.: تعيين مقياس yدر ادامه اكشن هاي movieclipcontrol مي رسيم به اكشن startdragبا كمك اين اكشن ميتوان موي كليپ ها را داخل فيلم جابجا كرد براي اينكار شما بايد يك نمونه دكمه نامريي را روي موي كليپ قرار داده و از اين اكش استفاده كنيداكشن stopdrag باعث متوقف شدن عمل draging مي شودبه كد زير توجه كنيداين كد باعث مي شود هنگامي كه مشاهده كننده روي موي كليپ كليك كرد بتواند آنرا جابجا كند و هنگام رها سازي ذر جاي خود متوقف شودکد: on(press) { startdrag(movieclip);} on(release){stopdrag();}اكشنupdateaftereventevent ماوس را رفرش می کندکد: Mouse.hide();cursor_mc.onMouseMove = function() { this._x = this._parent._xmouse; this._y = this._parent._ymouse; updateAfterEvent(); };اول يك توضيح بدم كه variablesدر فلش 8 در زير مجموعه statement قرار دارند ولي چون قبلا از ترتیب بندی فلش ام ايكس استفاده کردیم به همان نحو ادامه می دهیم!variable ها به معني متغير هستند و عملكردشون از اسمشون مشخصه!کد: delete reference محتويات يك متغير رو پاك ميكنه.مثلا در كد زيرکد: // create the new object "account" account = new Object(); // assign property name to the account account.name = 'Jon'; // delete the property delete account.name; account.name رو كه برابر Jon بوده پاك ميشه و محتوي account.name جالي ميشه! +++++++++++کد: set(variable,expression) يك مقدار رو براي متغير ماتعيين ميكنه كه variable نام متغير و expression مقدار متغير هست! اين اكشن دقيقا با = برابره مثلا دو كد زير يك معني رو ميدنکد: set(orig_x_pos, getProperty ("ship", _x ));کد: orig_x_pos = ship._x; +++++++++++کد: var variableName1 [= value1][...,variableNameN [=valueN]] براي declare variables استفاده ميشه!declare variables متغييرهايي هستن كه نوع متغير رو اعلام ميكنن.مثلا زير يك نمونه از declare variables و كاربرد اين اكشن هست:کد: var firstName:String; در اينجا مشخص شده كه متغير firstnameيك متغير رشته اي است! ++++++++++کد: with (object) {statement(s); } براي نسبت دادن يك گزاره به يك ابجكتاستفاده ميشه! مثلا دو اكشن زير رو مقايسه كنيد.هر دو يك معني ميدن واي با استفاده از with()ميشه كار رو كوتاه كرد!کد: someOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);کد: with (someOtherMovieClip) {_x = 50;_y = 100;gotoAndStop(3); }خوب بعد از متغير ها مي رسيم به حلقه هاي تكرار شونده و عبارات شرطیكلا loop ها برای راحتی و سرعت کار بیشتر انجام شدند یعنی مثلا شما بجای اینکه چندین بار یک عمل مشخص را انجام دهید آنرا در یک loopانداخته و در وقت و زحمت صرفه جویی کنیدمشخصه کلی حلقه ها انجام دستورات به تعداد تعیین شده با استفاده از متغیر هاست 3 نوع حلقه داریم که تقریبا مشابه همدیگه هستند for , while , do whilefor: این حلقه به تعداد معینی که ما مشخص کردیم تکرار می شود و بعد دستور بعدی اجرا می شود این اکشن دارای 3 فیلد است:intit:شما باید این فیلد را به مقدار اولیه پر کرده و اونو به یه متغیر نسبت بدید مثلا i=0condition : در این قسمت باید شرطی مورد نظر را بگذارید مثلا: i<10next : اینجا باید مشخص کنید چه مقداری به متغیر شما باید اضافه یا کم شود مثلا i++ یعنی یکی یکی اضافه کنکد: for (name in myMovieClip) {if (typeof (myMovieClip[name]) = "movieclip") {trace ("I have a movie clip child named " + name);} }{در این دستور ابتدا شرطی که گذاشتید بررسی می شود اگر درست بود به سراغ اجرای دستورانت حلقه می روداینجا هم یک فیلد condition وجود دارد که مثل حالت قبل باید شرط مورد نظر را در این قسمت بگذاریدکد:on(release) {foo = 0;while(foo < 5) {duplicateMovieClip("_root.flower", "mc" + foo, foo);setProperty("mc" + foo, _x, random(275));setProperty("mc" + foo, _y, random(275));setProperty("mc" + foo, _alpha, random(275));setProperty("mc" + foo, _xscale, random(200));setProperty("mc" + foo, _yscale, random(200));foo++; } }do while :مثل while است اما دستور یکبار اجرا می شود یعنی اول دستور را اجرا می کند بعد چک می کند که آیا شرط درست بوده یا نهکد:do {statement(s) } while (condition)break :در هرجای حلقه که این دستور استفاده شود برنامه از loop خارج شده و به سراغ دستور بعدی می رود:کد:i = 0; while (true) {if (i >= 100) {break;}i++; }عبارات شرطي :كار عبارتهاي شرطي مقايسه ست و با استفاده از عملگرهاي زير اين كار را انجام مي دهند و مقدار true یا false رو بر می گردانند عملگرهای مقایسه:== مساوی بودن === کاملا مساوی بودن از لحاظ عددی و نوع داده =! مساوی نبودن ==! کاملا مساوی نبودن از لحاظ عددی و نوع داده > کوچکتر بودن < بزرگتر بودن => کوچکتر مساوی =< بزرگتر مساویعملگرهای منطقی: && and : یعنی اگر دو شرط همزمان درست بود or l l: یعنی یکی از دو شرط درست باشد ! not : در صورت نادرست بودن شرطif: دو طرف شرط را مقایسه می کند و در صورت درست بودن شرط اعمال داخل { } را انجام می دهدکد: if(count>frame){ count=frame; } در این مثال مقدار متغیر count و frame را مقایسه می کند در صورتی که مقدار count بزرگتر باشد این دو متغیر را با برابر یکدیگر قرار می دهدelse :از این دستور هنگامی استفاده می شود که شما می خواهید در صورت برقرار نبودن شرط عمل دیگری انجام شودکد: if (score<50) { message="very bad" }else { message="excellent"}else if : از این عبارت زمانی استفاده می شود که ما شرطهای متعدد داریم و می خواهیم درست بودن هرکدام از آنها برایمان معلوم شود کد: if (score<50 ){ message="very bad" } else if(score=50) {message= "well done "} else if(score>50){message="excellent"}در مثال بالا مقدار متغیر score مقایسه می شود و در صورت درست بودن هر کدام از شرطها پیغام مربوطه نمایش داده می شودcase,switch,default:بجای if و elseمی توان از case ,switch ,defaultاستفاده کردswitch تساوی شرط و عبارت case رو بررسی می کندdefault : دستوری است که شما در نظر می گیرید تا وقتی هیچ کدام از شرطهای case درست نبود اجرا شودبه مثال زیر توجه کنید: کد: button.onrelease=function {switch (name.text){case "silver" : silverfunction();break; case "admin": adminfunction();break;default: errorfunction();}};این برنامه جمله switch را مقایسه کرده در صورتی که برابر silver یا admin باشد فانکشن های مربوط را اجرا می کند در غیر این صورت دستور default اجرا می شودکد: print (level) print (level, "Bounding box") print ("target") print ("target", "Bounding box") printAsBitmap (level) printAsBitmap (level, "Bounding box") printAsBitmap ("target") printAsBitmap ("target", "Bounding box") براي گرقتم پرينت از مووي كليپ و يا يك level خاص استفاده ميشه! Bounding box:منطقه پرينت رو مشخص ميكنه!و خود از پارامترهاي زير تشكيل شده: •bframe:براي زماني به كار برده ميشه كه ما چندين ابجكت با سايز مختلف داريم و ميخوايم كه همه در منطقه قابل پرينت قرار بگيرند •bmax:وقتي كه سايز فريم بالاست از اين استفاده ميشه! •bmovie:وقتي ميخوايم ازفريمهاي مشخصي پرينت گرفته بشه از اين استفاده ميكنيم و به ليبل فريم هم #bميديم! USER DIFINED FUNCTIONکد: call(frame) صدا زدن فريم مشخص به وسيله اين اكشن انجام ميگيره!به جايframeدراين اكشن ليبل اون رو قرار ميديمکد: object.function([parameters]) صدا زدن فانكشن خاص!توضيح خاصي هم نداره و همه چيز مشخصه!کد: function functionname ([parameter0, parameter1,...parameterN]){statement(s) } يكي از مهمترين اكشنهاي فلش همين فانكشنه!شما ميتونيد چندين عملكرد رو تحت يك فانكشن تعريف كنيد و با صدا زدن اون فانكشن(اكشني كه قبل اين اكشن توضيح دادم)تمام اون عملكردها رو اجرا كنيد!پارامترهاي اين اكشن هم مشخصه و نيازي به توضيح نيست!کد: return[expression] return داده هاي مربوط به فانكشن رو به برنامه اصلي بر ميگردونه!کد: object.method = function ([parameters]) {...body of function... }; کارهایی که عناصر می توانند انجام دهند را متد می گوییم هر دسته متد های مخصوص به خود را دارد مثلا دسته موی کلیپ متدهایی مثلduplicatedmovie دوبل کردن و دسته تاریخ متدی مثلgetdateدارد این اکشن متد به شما اجازه می دهد که متدهای مختلف را به object های خود تعریف کنید در قسمت objectها بطور مفصل درباره method هاي مختلف بحث مي کنيم __________________در ادامه اکشن ها به miscellaneous actions می رسیمsetInterval با استفاده از اين اكشن مي توان توابع را در فواصل زماني معين احضار كرد بطور مثال می خواهیم فیلم هر 3 ثانیه یک فرم جلو برود ار روش زیر استفاده می کنیم:فیلمی به تعداد 5 key frame می سازیم در هر فریم شکل متفاوت ایجاد می کنیم لایه دیگری به همان تعداد فریم ساخته فریم اول را انتخاب کرده پنل اکشن را باز می کنیم از قسمت actions>misecellaneous actions>setInterval را انتخاب کرده و نام تابع بطور مثال ( goto ) ویرگول میزان وقفه ( مثلا 1000) را وارد کنید دستور actions>user-defiend Function >function را انتخاب کنید اسم تابع ( goto )را در قسمت name وارد کرده و عملی که می خواهید در فواصل زمانی خاص اجرا شود را تعیین کنید ( ()nextFrame) کلیپ را امتحان کنید همونطور که می بینید هر 1 ثانیه فیلم یک فریم جلو می رودکد: stop(); setInterval(goto, 1000); function goto() {nextFrame(); }روش دوم : همین کار را می توان با روش دیگری هم انجام داد مثل تمرین قبل دو لایه را بسازید اما در اکشن فریم اول setInterval را انتخاب کرده در قسمت expression کد زیر را بنویسید:کد: (_root,"nextframe",1000)فیلم را امتحان کنید نتایج با روش قبل یکی استclearinterval: این اکشن عمل serinterval را حذف می کند یعنی اعمال متوالی احضار شده متوقف می شود فقط توجه کنید که اول باید setInterval را نامگذاری کنید مثال : از تمرین قبل برای این مثال استفاده می کنیم دستور setInterval را حذف کنید به مسیر actions>variable رفته و دستور set variable را انتخاب کنید در قسمت variable نام دلخواهی مانند mymovie انتخاب کنید و expression را تیک زده و دستور setInterval را مثل قبل بنویسید کد شما باید شبیه شکل زیر شده باشه:کد: stop(); mymovie = setInterval(_root,"nextframe",1000); ;حالا یه لایه دیگه ایجاد کنید و روی آن یک نمونه دکمه بسازید و اکشن clearInterval را به آن نسبت دهید در قسمت parameters نامی که به intervalخود نسبت دادید وارد کنید ( اینجا mymovie) کد شما بصورت زیر است:کد:on (release) {clearInterval(mymovie); } کلیپ را امتحان کنید هر جا دکمه زده شود حرکت متوقف می شود یعنی interval شما حذف شده استادامه دستورات miscellaneous actionsinclude#: از این دستور برای وارد کردن اکشن ها از یک فایل متن خارجی استفاده می کنیمtrace: با استفاده از این دستور می توان مقدار یک متغیر را فریم خاصی را رد یابی کرد و مورد بررسی قرار داد مثلا می توانید مشخص کنید که با رسیدن فیلم به فریم خاصی پیغام مورد نظر شما نمایش داده شود موقع تست فیلم اگر پیغام نمایش پیدا نکرد یعنی اکشن شما خطا دارد و هنگام استفاده از trace نتیجه رد یابی روی پنجره out put نشان داده می شود برای اینکار: ابتدا باید فریم کلیدی یا آبجکت مورد نظر خود را انتخاب کنید ( برای رد یابی ) اکشن trace را انتحاب کرده و در قسمت message پیام مورد نظرتان را که می خواهید نمایش داده شود وارد کند برای ردیابی متغیر نام آنرا وارد کنید expression را تیک بزنیدcomments: وقتی شما یک action پیچیده نوشته اید یا می خواهید فایل خود را منتشر کنید ضروریاست که برای هر خط اکشن یک توضیح کوتاه بنویسید تا مانع سردرگمی خود یا شخصی که فایل شما را مورد بررسی قرار می دهد شوید توجه داشته باشید که این توضیحات جز اکشن های شما محسوب نمی شود و هنگام پخش ویدیو تاثیری روی ان نخواهد گداشت و صرفا محض اطلاع رسانی است برای اینکار پس از نوشتن کد مخصوص شی یا فریم روی دستور comment دابل کلیک کرده و توضیح دلخواه را وارد کنید توضیح بصورت طوسی کمرنگ جلوی قطعه کد شما نوشته خواهد شدinitclip#: به ابتدای بلوک کد برای مقدار دهی اولیه اشاره میکند که با این روش می توان محتویات جدید در آن ایجاد کرد بطور مثال شما یک چک باکس دارید و می خواهید اطلاعات آن پاک شده و دوباره مقداردهی شودendinitclip#: به انتهای بلوک کد برای مقدار دهی اولیه اشاره میکند برای ایجاد محتویات جدیدکد: #initclip ...component initialization actions go here... #endinitclip
دسته ها :
پنج شنبه اول 4 1385
X