حتما با اصطلاح Variables یا متغیرها در زبانهای برنامه نویسی آشنا هستید
Variables یا متغیرها یک ویژگی مشترک دارند که به نام Scope معروف است
scope یا هدف یا دامنه ویژگی ای هست که یک حافظه کوچک در 3dsmax ایجاد میکند که مقادیر در آن حافظه ذخیره میشوند
در کل variable یا متغیرها حافظه هایی هستند که مقدارهای مارو در خود نگاه می دارن
اما چرا ما به متغیرها , متغییر میگوییم ,این یکی از ویژگی هاش هستش یعنی مقدارهای داخل آن میتوانند هر لحظه که ما بخواهیم تغییر کنند
مانند
کد:
[SIZE=2][COLOR=red]a[/COLOR] = 10
[/SIZE][SIZE=2][COLOR=#0000ff]10
[/COLOR][/SIZE][SIZE=2]mynum = 100* 2[/SIZE]
[SIZE=2][COLOR=#0000ff]200
[/COLOR][/SIZE][SIZE=2]for [COLOR=red]forgotten[/COLOR] = [COLOR=black]1 to 50 do[/COLOR]()[/SIZE]
[SIZE=2][COLOR=#0000ff]OK
[/COLOR][/SIZE][SIZE=2]if [COLOR=red]mybox[/COLOR].with>50 then.......[/SIZE]
[SIZE=2][COLOR=blue]OK[/COLOR][/SIZE]
[SIZE=2][COLOR=#0000ff][/COLOR][/SIZE]
[SIZE=2][COLOR=red]mybox [/COLOR]= box()[/SIZE]
[SIZE=2][COLOR=#0000ff]$Box:Box01 @ [0.000000,0.000000,0.000000]
[/COLOR][/SIZE]
مقدار 10 در a ذخیره شده
یا
مقدار های ساخت یک باکس در متغیر mybox ذخیره شده
.................
بعد از این مقدمات بر گردیم به loops یا حلقه های تکرار
این صورت کلی که یادتون هست
کد:
[SIZE=2][COLOR=#ff0000]for[/COLOR] [COLOR=blue]<var_name>[/COLOR] [COLOR=red]=[/COLOR] [COLOR=blue]<sequence>[/COLOR] [COLOR=red]do[/COLOR] [COLOR=red]([/COLOR] [COLOR=blue]<expr[/COLOR][COLOR=blue]>[/COLOR] [/SIZE][SIZE=2][COLOR=red])
[/COLOR][/SIZE]
قسمت var_name همون متغیر ماست یکی از ویژگیهای loops اینه که متغیر لحظه به لحظه تغییر میکنه
در فرمول بالا مقدار متغیر یک مقدار عددی هستش
به مثال زیر توجه کنید
کد:
[SIZE=5][COLOR=#0000ff][SIZE=2]for[/SIZE][/COLOR][/SIZE][SIZE=2] mytavan = 1 [COLOR=#0000ff]to[/COLOR] 5 [COLOR=#0000ff]do[/COLOR] [/SIZE]
[SIZE=2]( [/SIZE]
[SIZE=2]2 ^ mytavan[/SIZE]
[SIZE=2])[/SIZE]
در این مثال متغیر mytavan به این صورت تغییر میکند که >
اگر loop ما یک بار تکرارشود متغیر mytvan برار 1 خواهد شد
اگر loop ما برای بار دوم تکرار شود متغیر mytavan برابر 2 خواهد شد
اگر loop ما برای بار سوم تکرار شود متغیر mytavan برابر 3 خواهد شد
و به همین صورت بر اساس مقدار تکرارloop , متغیر آن مقدار را لحظه به لحظه میپذیرد
پس متغیر mytavan به صورت افزایشی مقدارهای 1 تا 5 را میپذیرد
پس نتیجه میگیریم عدد دو در تکرار اول به توان 1 میرسد
در تکرار بار دوم loop عدد دو به توان 2 میرسد و به همین صورت تا توان 5
کد:
[SIZE=5][SIZE=2]2^1[/SIZE]
[SIZE=2]2^2[/SIZE]
[SIZE=2]2^3[/SIZE]
[SIZE=2]2^4[/SIZE]
[SIZE=2]2^5[/SIZE]
[/SIZE]
با استفاده از این ویژگی میتوان چنین مثالی زد
کد:
[SIZE=2]mybox = box()
[/SIZE][SIZE=2][COLOR=#008000]------------
[/COLOR][/SIZE][COLOR=#0000ff][SIZE=2]for[/SIZE][/COLOR][SIZE=2] mytavan = 1 [COLOR=#0000ff]to[/COLOR] 5 [COLOR=#0000ff]do[/COLOR] [/SIZE]
[SIZE=2]( t_m = mytavan *10[/SIZE]
[SIZE=2] [/SIZE]
[SIZE=2] [/SIZE]
[COLOR=#0000ff][SIZE=2]animate[/SIZE][/COLOR][SIZE=2] [COLOR=#0000ff]on[/COLOR] [/SIZE]
[SIZE=2]( [COLOR=#0000ff]at[/COLOR] time (t_M) (rotate mybox 45 z_axis)[/SIZE]
[SIZE=2])[/SIZE]
[SIZE=2] [/SIZE]
[SIZE=2])[/SIZE]
حالا play را بزنید تا نتیجه کار را بعد از اجرای این script ببنید
ما در این اسکریپت box خود را در فریمهای
10
20
30
40
50
چرخاندیم هر بار 45 درجه
----------------------------------------------------