Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> بررسی سوالات و اشکالات کاربران -> چند سوال از جزوه 1 game maker
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي

چند سوال از جزوه 1 game maker
نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


جمعه 31 تير 1384 - 14:11
پاسخ بصورت نقل قول
آقايان سلام :
قبلا پرسيدم كه اين سوال ها رو كجا مطرح كنم كسي چيزي نگفت من هم اينجا رو مناسبتر از همه جا ديدم.
1.‌ پروژه راچه طور نام گذاري مي كنند؟
در خود ويندوز مي شود ان را rename كرد ايا اين تنها راه است؟
2. در قسمت sprite properties محلي به نام origin وجود دارد كه داراي دو ليست باكس با نامهاي x , y ميباشد. تعريف دقيق آن چيست؟ و تاثير عمل x=40 & y=65 چيست؟
3. قبلا به من توسط علي آقا جواب داده شده كه نرم افزار هاي ساخت بازي با موتورها متفاوتند ولي در اين جروه آمده :
نقل قول:
زبان موجود در اين موتور "جي ام ال" ناميده ميشود که

آيا نرم افزارها هم از موتورها استفاده مي كنند؟
4.اگر در مفاهيم زير اشكالي وجود دارد لطفا متذكر شويد:
image_single : فريمي كه در زمان رخ ندادن هيچ رويدادي نشان داده مي شود.
image_index : فزيمي كه اخرين بار در اخرين رويداد نشان داده شده.
self : شي كه رويدادي كه در حال نوشتن آن هستيم براي آن توليد شده.
sprite_index : شكلي كه animate مي شود.
همه اينها به جز self تابعند.
5.
نقل قول:

image_single = -1;

احتمالاهم اکنون با اين کد اشنا هستيد. اين کد به کاراکتر ميگويد که بر اساس عدد طرف راست تساوي کدام عکس فرعي را نشان دهد.اما نکته اي که در اينجا حائز اهميت است اينست که عدد طرف دوم تساوي يک عدد منفي است. براي توضيح بگويم که اين يک استثنا است و از توابع خاص موتور بازي بحساب ميايد. در اين حالت با گذاشتن مقدار -1 به کاراکتر ميگوييم که کل انيميشن عکس خود را نشان دهد و چرخه را کامل کند

برداشت مي شود كه با اجراي اين دستور موتور بهپايان رويداد اعتنا نمي كند و انيميشن را تا فريم 0 پيش مي برد ولي اينگونه نشد.چرا؟
ببخشيد كه بلند شد.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2984
محل سكونت: On the edge


جمعه 31 تير 1384 - 14:38
پاسخ بصورت نقل قول
سوال 2 :

Origin Point نقطه ای بر روی تصویر دو بعدی هست که مکان تصویر در صفحه نمایش بر اساس اون نقطه تعیین میشه... X و Y هم برای مشخص کردن این نقطه روی تصویر بکار میرن...

سوال 3 :

هر نرم افزار ساخت بازی از یک ادیتور به عنوان رویه و یک موتور بعنوان آستر استفاده میکنه... GM هم از این قاعده جدا نیست و GML هم نام زبان برنامه نویسی موتوری هستش که بعنوان مفسر داخلی GM قرار داده شده ...


سوالات 1 و 4 و 5 هم نیازی به جواب ندارند... در واقع خودتون جواب خودتون رو دادید...

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


جمعه 31 تير 1384 - 17:52
پاسخ بصورت نقل قول
ممنون
2و 3 را حدث مي زدم .
ولي قسمت 5:
اگر قرار است اين اتفاق بيافتد ( پس از رها كردن دكمه هاي up,down right,left انيميشن به فريم اول(0) برود .) چرا در بازي من اينگونه نشد؟ من در بازي اشتباه كردم يا برداشتم اشتباه است.
نقل قول:
* فكر مي كنم يه جايي خوندم كه مقالات up to date مي شند . اگر اينطوره اشكالات املايي و .... رو براتون پست كنم.
*‌ورژن جديد (game maker 6.1) هم اومده.

اين رو در قسمت اصول اوليهدر طراحي..... هم نوشتم ولي به نظر مي رسد كه ميل نداريد اونجا جواب بديد.
باز هم از تلاشتون در راهنمايي علاقه مندان تشكر مي كنم.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2984
محل سكونت: On the edge


شنبه 1 مرداد 1384 - 18:26
پاسخ بصورت نقل قول
دلیل نرفتن انیمیشن کاراکتر به فریم 0 اینه که در صورت رها کردن کلیدهای جهت دار ، بطور ناگهانی ترکیب ملایم حرکت کاراکتر عوض میشه و این اصلا صورت خوشی نداره... شما میتونید برای رفع این مشکل برنامه ای بنویسید که در صورت عدم فشار کلید ، فریم های باقی مونده تا پر شدن چرخه ایست کامل ، بطور آهسته پخش بشن... اینطوری ایست کاراکتر طبیعی تر بنظر میرسه و انیمیشن هم دچار Lag نمیشه...

بله به روز میشه... اما نه برای رفع اشکالات املایی... با این وجود از دقت نظر شما تشکر میکنم..

ورژن 6.1 GM چندماهی میشه که اومده... فکر کنم همه علاقمندان از این موضوع با خبر باشن... اگه فرصت اجازه داد چند تا مقاله دنباله دار در مورد ساخت بازی 3 بعدی با GM آماده میکنم...



موفق باشید
علی

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


شنبه 1 مرداد 1384 - 19:21
پاسخ بصورت نقل قول
نقل قول:
در اين حالت با گذاشتن مقدار -1 به کاراکتر ميگوييم که کل انيميشن عکس خود را نشان دهد و چرخه را کامل کند

منظور من اين نيست كه به دلايل منطقي و زيبايي بازي انيميشن آن را كامل كنيم.
منظورم اين است كه باتوجه به تعريف فوق و دستور
;1-=image_single
و تایید گفته زیر از طرف شما:
نقل قول:
برداشت مي شود كه با اجراي اين دستور(دستور ;1-=image_single )موتور به پايان رويداد اعتنا نمي كند و انيميشن را تا فريم 0 پيش مي برد

انيميشن خود به خود كامل مي شود. ولي همانگونه كه گفتيد اينگونه نمي شود.
احتمالا تعريفي كه من در كرده ام اشتباه است.

*
نقل قول:
image_single : فريمي كه در زمان رخ ندادن هيچ رويدادي نشان داده مي شود.
image_index : فزيمي كه اخرين بار در اخرين رويداد نشان داده شده.
self : شي كه رويدادي كه در حال نوشتن آن هستيم براي آن توليد شده.
sprite_index : شكلي كه animate مي شود.
همه اينها به جز self تابعند.

اگر تابعند چرا مثل بقيه تابعها نيستند.

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2984
محل سكونت: On the edge


شنبه 1 مرداد 1384 - 22:27
پاسخ بصورت نقل قول
نقل قول:

برداشت مي شود كه با اجراي اين دستور(دستور ;1-=image_single )موتور به پايان رويداد اعتنا نمي كند و انيميشن را تا فريم 0 پيش مي برد


و مجددا یک لوپ جدید رو شروع میکند... self هم در واقع یک جور اشاره گر به حساب میاد... در ضمن یک تابع که حتما نباید آرگومان داشته باشه تا تابع به حساب بیاد...

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


1 شنبه 2 مرداد 1384 - 22:12
پاسخ بصورت نقل قول
دو حالت بيشتر وجود ندارد يا شما صحبت من را درست متوجه نمي شويد يا من صحبت شما را پس سوال را جوري ديگر مطرح مي كنم.
عملكرد كد ;1-=image_single را در رويدادهاي key board توضيح دهيد.
برداشت من اينه كه 1-= image_single همان چاره مشكل زيره.
نقل قول:
شما میتونید برای رفع این مشکل برنامه ای بنویسید که در صورت عدم فشار کلید ، فریم های باقی مونده تا پر شدن چرخه ایست کامل ، بطور آهسته پخش بشن... اینطوری ایست کاراکتر طبیعی تر بنظر میرسه

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2984
محل سكونت: On the edge


2 شنبه 3 مرداد 1384 - 10:16
پاسخ بصورت نقل قول
eta عزیز ، خوشحالم که میبینم با این روحیه و سماجت به دنبال جواب سوالتون هستین... از این بابت به شما تبریک میگم...

چنانچه عدد مقابل image_single یک عدد مثبت یا صفر باشه ، مفهومش اینه که فریم فرعی با همون شماره نمایش داده بشه... مثال زیر رو در نظر بگیرید : فرض کنید یک انیمیشن با 36 فریم دارید و از دستور Image_single = 10; استفاده میکنید... این وضعیت به موتور میگه که فقط تصویر فرعی شماره 10 بصورت ثابت نمایش داده بشه و هیچ انیمیشنی هم در کار نخواهد بود... انگار که بایک تصویر تک فریم کار میکنید... ( اینو با image_index اشتباه نگیرید )

اما در مورد وضعیت استثنایی image_single = -1 عرض کنم که در واقع اشتباهی هستش که مارک اورمارس در ورژن 5.0 - 5.3 مرتکب شد و توی ورژن 6.0 اصلاحش کرد... در واقع image_sinlge = -1 هیچ کاربردی نداره ، چون انیمیشن در حالت عادی هم بصورت مداوم لوپ میکنه... تنها تفاوتی که اینجا وجود داره اینه که میتونید با دادن یک عدد مثبت ، بلافاصله یک فریم فرعی رو فعال کنید...

واقعا دیگه بهتر از این نمیتونم توضیح بدم...



علی

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


تاريخ عضويت: 2 شنبه 27 تير 1384
تعداد ارسالها: 2153
محل سكونت: شاهين شهر


2 شنبه 3 مرداد 1384 - 12:09
پاسخ بصورت نقل قول
من هميشه نگران اين بودم كه شما از اين سماجت ناراحت شويد چون خيلي ها تا حالا ناراحت شدن ولي من به خودم اين اجازه را مي دهم كه يك رفتار را تا زماني كه مورد اعتراض قرار نگرفته ام ادامه دهم.
به هر حال حالا كه شما خوشحال هم شديد اجازه بديد تا آخرش پيش بريم .البته نترسيد فكر مي كنم كه آخرش رو پيدا كرده ام.
در ضمن از تبريكتون هم ممنونم.
آزمايشي به نظرم رسيد وآن را انجام دادم. ابتدا;1-=image_single را از event هاي up ,down ,right ,left حذف كردم. در اينجا دو نتيجه حاصل شد :
1. تصوير تنها به صورت تك فريم (فقط يك عكس) جا به جا مي شد. پس نتيجه sprite_index
تك فريم است در حالي كه تا پيش از اين اينگونه فكر نمي كردم.
اينگونه فكر مي كردم و چون شما تاييد كرده بوديد فكر مي كردم كه درست فكر مي كنم.
نقل قول:
sprite_index : شكلي كه animate مي شود.

در حالي كه تعريف درست sprite_index اين است: شكلي كه انتخاب شده.
2. اينكه شما بهتر است كمي در تاييد گفته ها دقت كنيد و من بهتر است كمي دقيقتر صحبت كنم.
و اما ;1-=image_single ...اين نكته را كه با پايين نگه داشتن يك دكمه در فاصله هاي زماني معين يك پيغام به موتور فرستاده مي شود را فراموش كرده بودم و animate شدن مورچه را از چشم sprite_index مي ديدم وفكر ميكردم كه كار ;1-=image_single كامل كردن چرخه است تا حركت مورچه عادي به نظر برسد.در حالي كه كار آن همان animate كردن شكل مورچه است.
و متاسفانه اشتباهات من مورد تاييد قرار مي گرفت.
ازمايش نهايي كد ;1-=image_single رابه; image_single=image_index+1 تبديل كردم و ديدم كه هيچ فرقي با هم ندارند.
در نهايت فكر مش كنم كه منشا خطا تعريف جزوه است:
نقل قول:
در اين حالت با گذاشتن مقدار -1 به کاراکتر ميگوييم که کل انيميشن عکس خود را نشان دهد و چرخه را کامل کند

گفته فوق عملكرد ;1-=image_single به خاطر قرار گرفتن در رويداد key board است. نه عملكرد خود ;1-=image_single .
در نهايت فكر مي كنم بهترين تعريف براي;1-=image_single همان
; image_single=image_index+1 باشد.
حالا با كمي دقت اگر كفته ام درست است تاييد بفرماييد.
به هر حال اميدوارم كه اين سماجت من باعث پشيماني شما از جواب دادن به من نشده باشد و نشود.
اگر اذيت شديد ببخشيد
eta

_________________
تالار اصول ->صفحه ها، مقالات و تاپیکهای مفید

ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 1 از 1 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |