ارسالها: 66
موضوعها: 3
تاریخ عضویت: مرد 1397
مکان: همدان،ملایر
سپاسها: 43
160 سپاس گرفتهشده در 57 ارسال
گروه (time)
cpuutilisation = میزان استفاده بازی از cpu در حال حاضر .دقت کنید اگه از شتاب دهنده سخت افزاری gpu بطو مجزا برای رندر بازی استفاده کنید ، این گزینه ناکار آمد میشه.اون موقع میتونید از fps استفاده کنید .(میگمش fps رو هم)
dt = dt یا delta time میزان اختلاف یکای زمان رو بر می گردونه .به عبارت دیگه اگه بازی با نرخ 100 فریم بر ثانیه در حال اجرا باشه ، dt برابر 0.01 هست .یا اگه نرخ فریم ریت بازی 10 باشه ، dt میشه 0.1 .یا به عبارت بهتر ، میشه گفت dt مدت زمانی هست که طول می کشه فریمی به فریم دیگه منتقل بشه یا همون فاصله یا تاخیر بین فریم ها.پس هرچی این تاخیر کمتر باشه بازی روون تر اجرا میشه.
fps = تعداد فریمی که در یک ثانیه نمایش داده میشه .مخفف عبارت frame per second هم هست .
tickcount = تعداد tick هایی که گذشته رو نشون میده .از موقعی که بازی شروع میشه ، اینم شروع به شمردن می کنه.
time = تعداد ثانیه هایی که گذشته رو نشون میده ، اینم مثل قبلی هست و به محض اینکه بازی شروع میشه شروع به شمردن می کنه .یه نکته داره این .در حالت عادی 1time برابر 1 ثانیه هست .ولی اگه time scale رو دست کاری کنید ، مثلا بزارید روی 5 ، سرعت شمردن این هم 5 برابر میشه.یعنی دیگه 1time برابر 1 ثانیه نمیشه .5time برابر 1 ثانیه میشه.
time scale = مقدار time scale رو نشون میده که اگه از توی اکشن set time scale تغییرش نداده باشید برابر 1 هست.در واقع time scale نرخ گذشت زمان در بازی شماست .اگر مثلا 2 باشه ، زمان توی بازی شما 2 برابر سریعتر می گذره.
wallClockTime = اینم دقیقا کار time رو انجام میده.ولی این زمان رو بر مبنای دنیای واقعی نشون میده.یعنی هرچی time scale رو زیاد و یا کم کنید ، روی این تاثیری نمیزاره.
گرروه (values)
choose = دقت کنید به این ! شما یک سری عدد به این میدید ، واین یکی از اون اعداد رو بطور شانسی بهتون نشون میده .مثلا نتیجه (choose(1,2,3 قطعا یا میشه 1 یا میشه 2 و یا میشه 3 .از این حالات خارج نیست ، choose یکی از خود اعداد رو بر می گردونه ، بین اعداد چیزی رو انتخاب نمی کنه .فقط و فقط خود عدد بدون تغییر .محدودیتی هم برای تعداد اعدادی که وارد می کنید نداره
clamp = یه مقداری رو محدود می کنه .فرض کنید یه متغیر داریم به عنوان variable و می خوایم هیچوقت از 10 کمتر نباشه.هیچ وقت هم از 50 بیشتر نباشه. باید بنویسیم (clamp(Variable,20,50 ، یعنی در پارامتر اول متغیرمون ، در پارامتر دوم مقدار حداقل و در پارامتر آخر باید حداکثر مقدار رو بنویسیم (توی اکشن every tick و یا اکشنی که بطور مداوم در طول بازه زمانی عمل کنه)
float = متغیر های int و یا string رو به عدد اعشاری تبدیل می کنه .مثلا عدد 233.2 نمیتونه یه متغیر int باشه ، چون اعشار داره.پس باید از (float(233.2 استفاده کنیم .خب یه نکته ریز هم این داره .ما یه متن داریم که 1234abc هست ، اگه این رو به عدد اعشاری یا float تبدیل کنیم ، چون متن نوشته بعد از عدد اومده ؛ نتیج میشه 1234 . ولی اگه همینو با مثلا abc1234 امتحان کنیم نتیجه میشه 0 .چون عدد بعد از نوشته اومده و نوشته هم نمیتونه به عدد تبدیل بشه.یه چند بار تمیرین کنید کامل دستتون میاد
int = اینم مثل float هست منتها مقدار ورودی رو به عدد صحیح integer تبدیل می کنه .(دیگه اعشار نمیگیره) .فقط اون نکته قبلی رو اینم داره .یعنی اگه متن بعد از عدد باشه تبدیل پذیره ؛ در غیر اینصورت 0
random = اکسپرشن choose یادتونه یکی از اعدادرو انتخاب می کرد ؟ این مثل اون نیست.دو حالت در استفاده از این داریم .1-فقط یه عدد بهش بدید مثلا (random(10 نتیجه این ، میشه یه عدد اعشاری بین 0 تا 10 .دقت کنید ! نتیجه میتونه 0 هم بشه.ولی هیچ وقت نتیجه 10 نمیشه.یعنی ممکنه 0.2 و 5.4 و 6.12 و 7 و 8 و 9.9999 بشه ولی به 10 نمیرسه.2-در ین حالت شما یه رنج خاص بهش میدید مثلا (random(10,20 اینجوری یه عدد اعشاری کاملا تصادفی بین 10 و 20 انتخاب می کنه.دقت کنید نتیجه میتونه 10 هم بشه .ولی هیچ وقت خود 20 نمیشه.
rgb = برای ثبت یه مقدار خاص هست .منظور از rgb همون red green blue هست .جاهایی که باید رنگ وارد کنید مثل پارامتر های افکت setColor باید از این استفاده کنید و به ترتیب میزان رنگ های قرمز و سبز و آبی رو از 0 تا 255 وارد کنید
str = اعداد صحیح و اعشار رو به رشته تبدیل می کنه .برای جاهایی کاربرد داره که شما دیگه نمیخواید روی اعدادتون محاسباتی انجام بدید.
------
امیدوارم مفید واقع بشه
شرمنده اگه ایرادی داره
ارسالها: 514
موضوعها: 64
تاریخ عضویت: آذر 1395
مکان: اصفهان
سپاسها: 337
1323 سپاس گرفتهشده در 416 ارسال
خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.
ارسالها: 66
موضوعها: 3
تاریخ عضویت: مرد 1397
مکان: همدان،ملایر
سپاسها: 43
160 سپاس گرفتهشده در 57 ارسال
سلام دوباره .شئ سیستم تموم شد و تصمیم گرفتم به ترتیب اولویت اکسپرشن پلاگینای دیگه رو بنویسم
قطعا در بازی بیشترین آبجکتایی که دارید ازشون استفاده می کنید sprite هستن پس میرم سراغ اسپرایت
گروه (angle)
angle = زاویه اسپرایت رو نشون میده //بر حسب درجه
گروه (animation)
animationFrame = شماره فریم انیمیشنی که همین الان داره نمایش داده میشه (پخش میشه) رو بر می گردونه (از 0 می شماره)
animationFrameCount = تعداد فریم های انیمیشنی که همین الان درحال پخش شدن هست رو نشون میده
animationName = اسم انیمیشنی که همین الان در حال پخش شدن هست رو بر می گردونه
animationSpeed = سرعت پخش انیمیشنی که همین الان در حال پخش شدن هست رو نشون میده
imageHeight = اندازه ارتفاع اسپرایت رو نشون میده (در فریمی که همین الان در حال پخش شدن هست) //بر مبنای پیکسل
imageWidth = اندازه عرض اسپرایت رو نشون میده (در فریمی که همین الان در حال پخش شدن هست) //بر مبنای پیکسل
گروه (appearance)
opacity = میزان شفافیت اسپرایت رو نشون میده .از 0 که یعنی نامرئی تا 100 که یعنی کاملا مات
گروه (misc)
AsJSON = وضعیت اسپرایت رو در یه رشته json ذخیره می کنه
count = تعداد کل اسپرایت رو نشون میده
iid = شماره اسپرایت رو نشون میده .این واحد نیست و فقط برای اسپرایت ها هست .مثلا ممکنه شماره iid یه اسپرایت 4 باشه و یه تکست هم تو پروژه داشته باشیم که iid اش برابر 4 باشه .بنابر این این از توی یه نوع آبجکت شروع به شمار می کنه
uid = شماره واحد اسپرایت رو بر می گردونه .در کل پروژه هیچ دو اسپرایتی uid برابر ندارن .
pickedCount = تعداد اسپرایت هایی رو نشون میده که شرطی که توی ایونت گزاشته شده رو داشته باشن .
گروه (size & position)
BBoxBottom = مختصات گوشه پایین اسپرایت رو نشون میده //برمبنای پیکسل
BBoxLeft = مختصات گوشه سمت چپ اسپرایت رو نشون میده //برمبنای پیکسل
BBoxRight = مختصات گوشه سمت راست اسپرایت رو نشون میده //برمبنای پیکسل
BBoxUp = مختصات گوشه بالای اسپرایت رو نشون میده //برمبنای پیکسل
Height = ارتفاع اسپرایت رو بر می گردونه //بر مبنای پیکسل
ٌWidth = عرض اسپرایت رو بر می گردونه //بر مبنای پیکسل
imagePointCount = تعداد image point های که در اسپرایت هست رو نشون میده (در فریمی که در حال نمایش داده شدن هست)
imagePointX = مختصات ایمیج پوینتی که بهش بدید رو در محور X برمی گردونه (باید توی پرانتز شماره یا اسم ایمیج پوینت رو وارد کنید ) //بر مبنای پیکسل
imagePointY = مختصات ایمیج پوینتی که بهش بدید رو در محور Y برمی گردونه (باید توی پرانتز شماره یا اسم ایمیج پوینت رو وارد کنید ) //بر مبنای پیکسل
X = مختصات اسپرایت رو در محور X بر می گردونه //بر مبنای پیکسل
Y = مختصات اسپرایت رو در محور Y بر می گردونه //بر مبنای پیکسل
گروه (dt)
dt = dt رو برای این اسپرایت بر می گردونه .قبلا کاملا توضیح دادم که چی هست (گاهی اوقات میتونه مقدار timeScale رو هم برای این اسپرایت نشون بده .که اینم قبلا توضیح دادم)
گروه (Z Order)
LayerName = اسم لایه ای که اسپرایت توش هست رو بر می گردونه
LayerNumber = شماره لایه ای که اسپرایت توش هست رو بر می گردونه
Zindez = مقدار Z index اسپرایت در لایه ای که قرار داره رو بر می گردونه .(همونی که تو پنجره Z order یا همون z order bar هست)
ارسالها: 2,126
موضوعها: 284
تاریخ عضویت: مرد 1395
سپاسها: 544
1602 سپاس گرفتهشده در 917 ارسال
اگه میشه درمورد خود پلاگین آرایه و اونت هاش و اونت های حلقه سیستم هم توضیح بدید . میدونم جاش نیست ولی به هرحال . ممنون
ارسالها: 2,126
موضوعها: 284
تاریخ عضویت: مرد 1395
سپاسها: 544
1602 سپاس گرفتهشده در 917 ارسال
عالی بود . ممنون
فقط میمونه همون ارایه . چون فک کنم خیلی پلاگین کاربردیه
ضمنا یه چیزی . اگه خودتون میخواید که هیچ اما فک کنم دیگه اکسپرشن پلاگینای دیگه قابل فهم باشه از روی معنی ، ولی اکسپرشن های سیستم خیلی کاربردی و شاید کمی نامفهومه . فک نکنم نیاز به توضیح اکسپرشن پلاگینا باشه ولی اگه میخواید توضیح بدید که بهتر .