مهم کاربرد اکسپرشن ها
#11
(1398/6/3، 04:38 عصر)محمد 82 نوشته است: یه سوال 
len = دقت کنید این اکسپرشن طول حرف مارو نشون میده.یعنی نشون میده نوشته ما از چند حرف تشکیل شده مثلا ("len("hello میشه 5 .چون hello از 5 حرف تشکیل شده (حتی یه فاصله هم " " یه حرف حساب میشه)
این اکسپرشن نمیره به اخرین حرف نوشته مون ؟؟؟ چون من یجا میخواستم واسه بازی کلماتیم پاک کن درست کنم از این استفاده کردم که بره اخر نوشته و عدد هم نشون نداد .
سلام دوباره
نه ، احتمالا شما دارید از این استفاده می کنید --> (left(Text.Text,len(Text.Text)-1
که از سمت چپ همه نوشته هارو انتخاب می کنه بجز آخری رو که عمل پاک کردن رو انجام میده
یکم رو ش دقت باید کنید
از سمت چپ همه حروف رو نشون میده.از len استفاده شده تا به طول کلمه دسترسی پیدا بشه.
برای پاک کردن هم یه واژه از آخر رو نادیده گرفت که میشه همون len-1

برای بدست آورد  آخرین حرف نوشته هم شما باید از 
(mid("hello",len("hello")-1,1
استفاده کنید
  پاسخ


 سپاس شده توسط: shazde ، saman ، محمد 82
#12
گروه (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 = اعداد صحیح و اعشار رو به رشته تبدیل می کنه .برای جاهایی کاربرد داره که شما دیگه نمیخواید روی اعدادتون محاسباتی انجام بدید.

------
امیدوارم مفید واقع بشه
شرمنده اگه ایرادی داره
  پاسخ


 سپاس شده توسط: shazde ، محمد 82 ، rezamms ، amin hosseini
#13
خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.
  پاسخ


 سپاس شده توسط: محمد 82 ، shazde
#14
(1398/6/4، 03:44 عصر)rezamms نوشته است: خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.

سلام
بنظر من بهتره اینو یکنفر دوباره ویرایش کنه (من خیلی نتونستم کتابی بنویسم) بعد خیلی جمع و جور و خلاصه یه فایل pdf ازش درست کنه.
  پاسخ


 سپاس شده توسط: محمد 82 ، shazde
#15
(1398/6/4، 03:44 عصر)rezamms نوشته است: خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.
خیلی ممنون . اتفاقا میخواستم به یکی از مدیران بگم موضوع رو مهم کنه که کردید . 


(1398/6/4، 04:00 عصر)_mohammad_javad_ نوشته است:
(1398/6/4، 03:44 عصر)rezamms نوشته است: خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.

سلام
بنظر من بهتره اینو یکنفر دوباره ویرایش کنه (من خیلی نتونستم کتابی بنویسم) بعد خیلی جمع و جور و خلاصه یه فایل pdf ازش درست کنه.

اتفاقا خیلی خوب و کامله . همین رو هم هرکی انجام نمیده .
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط: shazde ، _mohammad_javad_
#16
(1398/6/4، 04:24 عصر)محمد 82 نوشته است:
(1398/6/4، 03:44 عصر)rezamms نوشته است: خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.
خیلی ممنون . اتفاقا میخواستم به یکی از مدیران بگم موضوع رو مهم کنه که کردید . 


(1398/6/4، 04:00 عصر)_mohammad_javad_ نوشته است:
(1398/6/4، 03:44 عصر)rezamms نوشته است: خیلی موضوع جالبی بود واسه همین مهم کردمش که بقیه هم راحت پیداش کنن
در ضمن اگر میشه بعد از اینکه همه دوستان اکسپرشن هاشون رو گفتن یه نفر یه سورس کلی واسش بزنه.

سلام
بنظر من بهتره اینو یکنفر دوباره ویرایش کنه (من خیلی نتونستم کتابی بنویسم) بعد خیلی جمع و جور و خلاصه یه فایل pdf ازش درست کنه.

اتفاقا خیلی خوب و کامله . همین رو هم هرکی انجام نمیده .

پس تا تابستون تموم نشده مال بقییه پلاگینا هم بنویسم ؟
  پاسخ


 سپاس شده توسط: shazde
#17
سلام دوباره .شئ سیستم تموم شد و تصمیم گرفتم به ترتیب اولویت اکسپرشن پلاگینای دیگه رو بنویسم
قطعا در بازی بیشترین آبجکتایی که دارید ازشون استفاده می کنید 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 هست)

  پاسخ


 سپاس شده توسط: shazde ، محمد 82
#18
اگه میشه درمورد خود پلاگین آرایه و اونت هاش و اونت های حلقه سیستم هم توضیح بدید . میدونم جاش نیست ولی به هرحال . ممنون
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط:
#19
چشم همه رو میگم
ولی راجع به حلقه ها
یکنفر چند روز پیش در مورد حلقه ها ازم سوال پرسید
منم یه سورس براش ساختم که توش همه حلقه هارو توضیح دادم (با کامنت)
اونو برای شما هم می فرستم شاید بدردتون خورد
بفرمایید لینک
  پاسخ


 سپاس شده توسط: shazde ، amin hosseini
#20
عالی بود . ممنون

فقط میمونه همون ارایه . چون فک کنم خیلی پلاگین کاربردیه

ضمنا یه چیزی . اگه خودتون میخواید که هیچ اما فک کنم دیگه اکسپرشن پلاگینای دیگه قابل فهم باشه از روی معنی ، ولی اکسپرشن های سیستم خیلی کاربردی و شاید کمی نامفهومه . فک نکنم نیاز به توضیح اکسپرشن پلاگینا باشه ولی اگه میخواید توضیح بدید که بهتر .
استودیو بازیسازی ایروید
جدید ترین ها : شهرزاد ، دربند;1357 و ATOM
[تصویر:  ads.gif]
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آموزش پروژه محور ساخت بازی مار و پله mohsen_nasri 6 3,807 1403/10/24، 09:38 عصر
آخرین ارسال: Tggi
Star مهم آموزش خروجی اندروید روی سیستم شخصی rezamms 128 86,462 1403/10/23، 04:58 عصر
آخرین ارسال: Tggi
  مهم آموزش تصویری خروجی مستقیم - یکبار برای همیشه! rezamms 33 20,911 1401/2/13، 09:39 عصر
آخرین ارسال: kamran_cn
  خروجی اندرید davinmstr1 2 2,601 1400/8/4، 10:23 عصر
آخرین ارسال: ᔕinaᗪehghani
  AAB (بسته برنامه اندروید) چيست؟ + نحوه خروجي گرفتن در كرودوا ᔕinaᗪehghani 15 8,600 1400/6/21، 01:55 صبح
آخرین ارسال: mehdi1100

پرش به انجمن: