خواندن کدها در MS دارای شرایطی است , که دانستن این مطلب بسیار مهم است
... Ms شروع بخواندن کد از خط اول می کند و هر حرف را می خواند تا خط تمام شود
سپس بررسی میکند آیا این خط دارای یک عبارت منطقی بوده تا جواب آن را بدهد
... اگر MS عبارتهای منطقی خود را در آن خط پیدا نکند (به هر دلیلی) به خطهای بعدی خواهد رفت. (در بعضی شرایط خطهای قبلی را نیزخواهد خواند) تا عبارت منطقی خود را پیدا کند تا جواب مناسب را بدهد, جواب درست یا error
... این شرایط برای خطهای بعدی نیز تکرار خواهد شد
... MS دارای سرعت فوق العاده بالایی در خواندن کدها میباشد
برای مثال: شما می خواهیدیک فضای بزرگ از ستارگان درخشان بسازید و نیاز به 4000 کره دارید با سایزهای گوناگون و قرار گرفتن آنها در مکانهای تصادفی,تاحالا فکر کردید به صورت دستی چقدر طول میکشه؟؟؟
اما این کار برای MS فقط چند لحظه است
برای درک بیشتر مطالب, بعضی توضیحات را با مثال می گم
مثال1
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
MS ابتدا متغیر a را برابر 10 قرار میدهد( پس خواندن خط اول تمام شد) جواب خط اول 10 است
سپس a را که همان مقدار 10 است در 5 ضرب کرده (پس خواندن خط دوم تمام شد) جواب خط دوم 50 است
10
50
مثال2
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
MS ابتدا میخواهد b را در 2 ضرب کند مشکل اینجاست ک حرف b برای MS بی معنی است و عدد 2 در یک حرف مجهول قابل ضرب نیست( پس خواندن خط اول تمام شد) جواب خط اول یک خطا است -- No ""*"" function for undefine
متغیر b را برابر 15 قرار میدهد (پس خواندن خط دوم تمام شد) جواب خط دوم 15 است
بیایید مثال دوم را برای بار دوم اجرا کنیم , چه اتفاقی می افته ؟
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد بدون مشکل برای بار دوم اجرا خواهد شد, چرا؟؟
جواب خط اول 30
جواب خط دوم 15
ok
علت این است که زمانی که کد را برای بار اول اجرا کردیم خط اول با خطا مواجه شد اما در خط دوم مقدار b تعیین شد, این مقدار تا زمانی که برنامه 3dsmax فعال باشد در حافظه موقت ذخیره خواهد شد
زمانی که همین کد را برای بار دوم اجرا میکنیم چون مقدار b قبلا در اجرای بار اول تعیین شده در خط اول قرار خواهد گرفت و 15 در 2 ضرب میشود و جواب خط اول 30 است
------------------------------------------
پس می بینیم که هر کد باید در مکان مناسب خودش بکار برده شود تا نتیجه ای که میخواهیم را بما بدهد
برای آشنایی با سرعت وقدرت MS این کد را اجراکنید
از منوی maxscript گزینه newscript را انتخاب کنید,
کد را در پنجره باز شده کپی کنید
از منوی فایل پنجره بازشده evaluate all را بزنید
سپس در آخر سر play کنید
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید