اگر از گیم میکر استدیو 2 استفاده می کنید حتما به حالت های blend بر خواهید خورد. حالت های blend در گیم میکر راه خوبی برای دادن افکت های گرافیکی خاص و جالب هنگام رسم هستند. در این مقاله ما عملکرد blend را در گیم میکر برای شما شرح می دهیم.
نگاه کلی
به طور کلی حالت های blend در بازی باعث
افزونه اختصاصی تایپ فارسی در گیم میکر نسخه دو
با قابلیت خط بندی اتوماتیک و سانسور کلمات
افزونه موجود به صورت اختصاصی در سال 1393 توسط توحید فتحی حبشی آماده گردیده و تا کنون به صورت محدود نشر داده شده و در بازیهای متعددی جهت پشتیبانی از زبان فارسی از این افزونه بهره گرفته شده است.
افزونه موجود توانایی ساپورت تمامی زبانهای زنده دنیا
در قسمت قبل آموزش ما یک سرور را در حالت listening قرار دادیم و همچنین بسته های دریافتی را تفکیک کردیم و آنها را به تابعی با نام handle_packet ارسال کردیم. در این بخش از آموزش ما بسته های مورد استفاده را تعریف میکنیم. ما به دو بسته نیاز داریم که به شکل زیر آنها را تعریف میکنیم.
بسته با شناسه
با سلام با توجه به اینکه اکثر دوستان در هنگام خروجی اندروید دچار مشکل میشن قصد داریم چند نمونه از خطاهای رایج هنگام خروجی گیم میکر رو رفع ایراد کنیم.
خطای اول
A problem occurred configuring root project ׳׳.
> Could not resolve all dependencies for configuration ׳:classpath׳.
> Could not resolve com.android.tools.build:gradle:2.2.0+.
Required by:
ما در این آموزش از دو تابع ساده استفاده خواهیم کرد که به ترتیب توضیحات لازمه رو ذکر میکنم
تابع ایجاد آبجکت .instance_create.
instance_create(x, y, obj);
این تابع آبجکت obj را در مکان x,y ایجاد میکند.
تابع دوم تابع انتخاب رندوم هست .choose.
choose(val0, val1, val2... val15);
این تابع یکی از مقادیر ورودی رو به صورت رندوم به عنوان خروجی برمیگردونه (حداکثر 16 ورودی)
با ترکیب دو
قبل از ادامه آموزش برخی دوستان در ورژن گیم میکر استودیو 1.4.1522 و 1.4.1657 با خطایی مواجه شدن که با توجه به استفاده از گیم میکر استودیو 1.4.1760 برای آموزش چنین خطایی در این ورژن مشاهده نشده بود در هر صورت کدهای زیر رو جایگزین کدهای ایونت .Create. ابجکت obj_loading_player کنید تا مشکل رفع گردد.
get =http_get( string ( ׳https://gmstudio.ir/online_tenbase/player.php?name=׳ )
+
خب تو دو سری قبلی آموزش ما ثبت و نمایش ده نفر برتر لیست رو پیاده سازی کردیم بعد کمی لیست رو ارتقاء دادیم
حالا ممکنه ما قصد نمایش 10 نفری رو داشته باشیم که پلیرمون تو اون لیست قرار داره برای این کار تغییرات زیر رو اعمال میکنیم
کدهای فایل score.php رو به صورت زیر تغییر میدیم (البته چون سورسهای قبلی رو
لازمه قبل از شروع به کار در گیم میکر استودیو 2 مروری داشته باشیم به توابع منسوخ شده در گیم میکر استودیو 2
توابع زیر در گیم میکر دو منسوخ شده و دیگر قابل استفاده نمیباشند که معمولا علت اصلی این عمر بهینه نبودن توابع میباشد.
Maths
• random_old(x)
• random_range_old(x1,x2)
• irandom_old(x)
• irandom_range_old(x1,x2)
• random_use_old_version(trueFalse)
Instances And Objects
• instance_create(x,y,obj)
• object_get_depth(ind)
قبل از اینکه بریم سراغ آموزش لازمه یه کد رو توی ایونت .draw. آبجکت obj_helthbar اصلاح کنیم تا نام کاربری دو طرف بازی زیر اسپرایت نوار زندگی (healthbar) نمونه و نمایش داده بشه برای این کار در این اونت آبجکت خط 8 رو منتقل میکنیم به خط 1 در این صورت کدهای این ایونت به صورت زیر در میاد.
draw_sprite(sprite_index,0,x,y)
draw_healthbar(x+143,y+66,x+291, y+85, global.heath,c_black,
network_create_server_raw
تابع network_create_server_raw
این تابع یک سرور شبکه برای داده های خام بدون دخالت کاربر ایجاد میکند
network_create_server_raw(type, port, max_client);
Argument
Description
type
نوع سرور ایجادی
port
پورتی که سرور ایجاد خواهد کرد
max_client
حداکثر تعداد کاربران
خروجی : عدد طبیعی
این تابع با توجه به نوع سرور ورودی یک سرور شبکه با اتصال پورت
network_create_server
تابع network_create_server
این تابع یک سرور شبکه ایجاد میکند
network_create_server(type, port, max_client);
Argument
Description
type
نوع سرور ایجادی
port
پورتی که سرور ایجاد خواهد کرد
max_client
حداکثر تعداد کاربران
خروجی : عدد طبیعی
این تابع با توجه به نوع سرور ورودی یک سرور شبکه با اتصال پورت ورودی ایجاد میکند در جدول زیر انواع سرور
شبکه
توابع شبکه
این توابع برای ایجاد ارتباط پایه ای بین سرور و کلاینت (یوزر) ایجاد شده اند
توابع شبکه گیم میکر استودیو بر پایه سوکت میباشد که یک استاندارد برای تمامی پلتفرمها میباشد. با استفاده از توابع موجود در گیم میکر استودیو
تابع لگاریتم بر مبنای n
تابع logn
این تابع مقادیر لگاریتم عدد ورودی را بر مبنای n برمیگرداند.
logn(n, val);
مقدار ورودی
توضیحات
n
مبنای لگاریتم
val
ورودی
خروجی :عددی
در حالت کلی منظور از تابع لگاریتم بر مبنای n عبارت است از اینکه چه تعداد عدد n را در خود ضرب کنیم تا عدد ورودی
تابع لگاریتم بر مبنای ده
تابع log10
این تابع مقادیر لگاریتم عدد ورودی را بر مبنای ده برمیگرداند.
log10(n);
مقدار ورودی
توضیحات
n
ورودی
خروجی :عددی
در حالت کلی منظور از تابع لگاریتم بر مبنای ده عبارت است از اینکه چه تعداد عدد 10 را در خود ضرب کنیم تا عدد ورودی به دست آید.
مثال: چه تعداد از
تابع لگاریتم بر مبنای دو
تابع log2
این تابع مقادیر لگاریتم عدد ورودی را بر مبنای دو برمیگرداند.
log2(n);
مقدار ورودی
توضیحات
n
ورودی
خروجی :عددی
در حالت کلی منظور از تابع لگاریت بر مبنای دو عبارت است از اینکه چه تعداد عدد 2 را در خود ضرب کنیم تا عدد ورودی به دست آید.
مثال: چه
ایونت رسم (دراو)
ایونت رسم
از این ایونت میتوان برای رسم و نمایش آیتمهای مختلفی در بازی از جمله اسپرایت ، نوشته و تصویر زمینه استفاده کرد . این ایونت به چندین زیر ایونت تقسیم شده است که در زیر این ایونتها را مشاهده مینمایید.
همان
رویداد
ایونتها (رویدادها)
گیم میکر بر اساس ایونتها (رویدادها) کار میکند در این بخش توضیحی در مورد ایونتها ارائه خواهیم کرد
ایونتها (رویدادها چیست) : اوینتها در اصل زمانهایی مخفی در حلقه اجرای بازی هستند که از این زمانهای خاص میتوانید برا اجرای
sqrt
تابع sqrt
این تابع جذر مقدار ورودی را بر میگرداند ، مقدار ورودی نمیتواند منفی باشد
sqrt(val);
مقدار ورودی
توضیحات
val
ورودی
خروجی :عددی
این تابع جذر مقدار ورودی را بر میگرداند ، مقدار ورودی نمیتواند منفی باشد . این تابع درواقع عکس عمل توان ( .sqr. ) عمل میکند
sqr
تابع sqr
خروجی این تابع مقدار ضرب ورودی در خودش خواهد بود
sqr(val);
مقدار ورودی
توضیحات
val
ورودی
خروجی :عددی
خروجی این تابع مقدار ضرب ورودی در خودش خواهد بود به طور مثال اگر ورودی تابع عدد 5 باشد خروجی تابع عدد 25 خواهد بود یعنی نتیجه ضرب 5*5
power
تابع power
این تابع مقادیر ورودی اول را به تعداد ورودی دوم در خود ضرب میکند
power(x, n);
مقدار ورودی
توضیحات
x
ورودی
n
تعداد دفعات ضرب ورودی اول در خود
خروجی :عددی
این تابع مقادیر ورودی اول را به تعداد ورودی دوم در خود ضرب میکند به طور مثال اگر
ln
تابع ln
لگاریتم طبیعی
ln(n);
مقدار ورودی
توضیحات
n
ورودی
خروجی :عددی
تابع لگاریتم طبیعی لگاریتم عدد ورودی بر پایه عدد ثابت e است مقدار تقریبی عدد e برابر 2.718281828 است
مثال:
alarm[0] = ln(age) * room_speed;