|
موتور دو بعدی Quick2D سری جدید !
|
|
نويسنده |
پيغام |
شهروز مدیر انجمن
تاريخ عضويت: جمعه 16 مرداد 1383 تعداد ارسالها: 3279 محل سكونت: Germany
1 شنبه 12 شهريور 1391 - 15:20 |
|
|
با سلام.
انجین Quick2D یک موتور بازی سازی دو بعدی هست . زبان اسکریپت نویسی انجین نیز Javascript هست. ساده ولی توانمند. ترجیح دادم بجای Lua از JS استفاده کنم چون افراد بیشتری هستند که با سینتکس JS آشنایی دارند.
version 1.1.0
اوووف ! خیلی کار برد ولی بالاخره آماده شد.
نسخه 1.1.0 با ساختار کمی متفاوت، کلی باگ فیکس شده و یک ادیتور قشنگ به همراه امکانات جدید در کد نویسی و انجین صدا و امکان انیمیت کردن تصاویر Strip .
دانلود با لینک مستقیم
یا
دانلود از پیج وردپرس
توابع اضافه شده در این نسخه
كد: |
ray_hit
draw_background
load_sound
play_sound
stop_sound |
این پکیج شامل فایل نصب انجین و یک پروژه نمونه هست که توش سعی کردم تا جایی که امکان داره انواع شیوه های کد نویسی در این انجین رو بصورت گسترده بنویسم که با مطالعش بتونید سر از زیر و بمش در بیارید.
برای شروع انجین رو باز کنید و روی اون پوشه ی زرد کلیک کنید و پروژه Sample رو باز کنید. با کلیک روی هر آبجکت می تونید کدهاش رو ببینید.
=========================
rev 1.0.3
نسخه 1.0.3 آماده شد با کلی امکانات دانلود کنید.
توابع اضافه شده در این نسخه:
كد: |
LeftButton
RightButton
MiddleButton
rotate (id, angle)
double = xval_to_point (id, targetX, targetY, speed)
double = yval_to_point (id, targetX, targetY, speed)
double = xval_to_direction (id, angle, speed)
double = yval_to_direction (id, angle, speed)
angle = lookAt (id, targetX, targetY)
double = distance_to_point (id, targetX, targetY)
wait (milliseconds)
double = mouse_hit (id, mouseX, mouseY) |
یک مینی گیم به همراه سورس کنار انجین هست.
=========================================
rev 1.0.2
البته همچنان بدون ادیتور. شاید اصلاً ادیتور نذاشتم ! Notepad++ خیلی راحت تره :دی
در حال حاظر مشغول کار روی بخش instance creating هستم. گرچه با یک آرایه ساده قابل پیاده سازی هست ولی می خوام ساده تر باشه.
توابعی که در این نسخه قابل استفاده هستند:
كد: |
double = load_texture (string);
draw_sprite (id, x, y);
draw_text (text, size, x, y);
set_origin (id, x, y);
set_cursor ("visible" or "invisible");
set_title (title);
set_screen (width, height);
get_width (id);
get_height (id);
double = screen_width;
double = screen_height;
exec ("script.js");
alert (message);
double = random (max);
window_mode (0 or 1);
quit ();
double = Length (string);
double = check_collision (id1, id2); |
یک مثال همراه انجین هست که می تونید با Drag کردن فایل main.js روی Quick2D.exe اجراش کنید.
با بررسی فایل main.js میتونید با نحوه کد نویسی آشنا بشید.
تابع Project_Settings قبل از هر تابع دیگری فراخوانی میشه و فقط برای تنظیمات پروژه هست. نظیر تمام صفحه بودن، اندازه صفحه و تیتر.
تابع Start این تابع در ابتدای بازی و بعد از Project_Settings اجرا می شود. این تابع بهترین مکان برای تنظیمات ابتدایی بازی است.
تابع Update حلقه اصلی بازی هست.
به هیچ وجه از توابع نا مربوط به تنظیمات پروژه در تابع Project_Settings استفاده نکنید.
رویداد هایی که در این نسخه قابل استفاده هستند:
كد: |
onMouseButtonPressed (e)
onMouseButtonReleased (e)
onMouseMove (e)
onMouseWheelMoved (e)
onKeyPressed (e)
onKeyReleased (e) |
در رویداد های mouse pressed و mouse released اشاره گر e شامل Button ، X, Y هست. به بزرگی و کوچکی حروف دقت کنید. برای گرفتن مقدار Button باید به این شکل عمل کنید:
كد: |
if (e.Button+""=="Left")
{
// Your code
} |
در رویداد mouse move فقط مقادیر X, Y در دسترس هستند.
در رویداد mouse wheel مقدار e برابر با delta هست و نیازی به تبدیل نداره.
در رویداد های کیبورد، e نام کلید فشرده شده یا رها شده است.
دقت کنید، برای ایجاد حرکت با استفاده از کیبورد، باید به نحوی که در مثال هست عمل کنید. اگر مستقیم در رویداد بنویسید مثلاً x+=2 با هر بار فشردن کلید، با کمی delay مواجه خواهید شد. با روش مورد استفاده از مثال شما حرکت بسیار نرمی را خواهید داشت.
در مورد اسپرایت ها، انجین بطور خودکار اندازه تصویر را تشخیص داده و ترسیم می کند. امکان تغییر اندازه تصاویر بوسیله کد وجود ندارد.
ضمناً توابع get_width و get_height اندازه تصویر مشخص شده را بر می گردانند.
توجه داشته باشید، همیشه از load_texture در تابع Start استفاده کنید.
و در آخر، توابع اصلی Project_Settings ، Start ، Update را پاک نکنید.
قالب خالی برای فایل main.js ( می توانید فایل اصلی را با هر نامی که مایلید بسازید )
كد: |
function Project_Settings(id)
{
}
function Start(id)
{
}
function Main(id)
{
} |
اگر سوالی بود همینجا مطرح کنید
با تشکر
بلاگ وردپرس Quick2D رو برای آموزش های بیشتر و دانلود نسخه های جدید و خبر های روز به روز دنبال کنید. |
_________________
استدیوی نرم افزاری بلوبالک
www.Bluebulk.info
0 بار اين نامه ويرايش شده است كه آخرين بار توسط 3 شنبه 11 مهر 1391 - 01:03 در 8 بوده است. |
|
بازگشت به بالا |
|
|
|
|
|
|
|
|
صفحه 1 از 6 |
تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد برو به صفحه 1, 2, 3, 4, 5, 6 بعدي
|
|
شما نمي توانيد در اين انجمن نامه ارسال كنيد. شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد
|
|
|