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





صفحه اول انجمنها -> برنامه نويسي تخصصي DirectX و اصول برنامه نويسي تحت ويندوز -> xفايلها _ ذخيره و بارگذاري داده ها
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه 1, 2, 3, 4  بعدي

xفايلها _ ذخيره و بارگذاري داده ها
نويسنده
پيغام
nahid
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 26 فروردين 1386
تعداد ارسالها: 25
محل سكونت: همه جاي ايران سراي من است


جمعه 11 خرداد 1386 - 00:47
پاسخ بصورت نقل قول
ياهو
با سلام به دوستان گرامي و با اجازه بزرگترها در اين تاپيك به بررسي x فايلها و چگونگي كار با آنها پرداخته خواهد شد .
همانگونه كه احتمالا مي دانيد برنامه نويسان بازيها مراحل و مشها را در فايلهاي زمان اجراي خاصي بارگذاري ميكنند . زمانيكه كاراكترهاي بازي ، صحنه ها و ديگر اجزاي گرافيكي توسط طراحان ايجاد ميشوند در فايلهايي ذخيره گرديده و سپس اين فايلها توسط برنامه نويس مي بايست بگونه اي در DirectX بارگذاري شوند .برنامه نويس ميتواند اين فايلهارا خودش بصورت دلخواه ايجاد كند يا آنكه از فرمت x فايلها استفاده نمايد كه اين توسط DirectX SDK پشتيباني مي شود . اين فرمت به شما اين اجازه را مي دهد كه هرگونه داده را به هر اندازه اي ذخيره و در زمان لازم بازيابي كنيد . در اين بخش به بررسي اين موضوعات مي پردازيم :
بارگذاري داده ها از x فايلها
تشخيص داده ها در اين فايلها
ذخيره داده ها در اين فايلها
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
lord_akinak
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 15 ارديبهشت 1386
تعداد ارسالها: 349
محل سكونت: Hell


جمعه 11 خرداد 1386 - 11:00
پاسخ بصورت نقل قول
جالبه. شخصا اولين باره كه در مورد اين موضوع مطلبي مي خونم.
اي كاش كل مقالتون رو به صورت PDF در می آوردید تا بشه تو تالار مقالات مفید گذاشت.
منتظر ادامه کار هستم....

_________________
And hell was so cold
All the vases are so broken
And the roses tear our hands all open
Mother mary miscarry
But we pray just like insects
The world is so ugly now
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
nahid
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 26 فروردين 1386
تعداد ارسالها: 25
محل سكونت: همه جاي ايران سراي من است


جمعه 11 خرداد 1386 - 12:16
پاسخ بصورت نقل قول
حتما بعد از اتمام اين مبحث اين كار را انجام خواهم داد البته اگر مطلب مورد پسند دوستان واقع شود .
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
iran_adventure
مدیر انجمن
مدیر انجمن


تاريخ عضويت: شنبه 4 آذر 1385
تعداد ارسالها: 2069
محل سكونت: تهران


جمعه 11 خرداد 1386 - 12:25
پاسخ بصورت نقل قول
من هم منتظر ادامه كار هستم . من هم مي خوام DirectX رو شروع كنم . اميدوارم كه در آينده بتونيم اين راه رو نه به وسيله تعداد معدود بلكه يك گروه ادامه بديم ...

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

نويسنده
پيغام
nahid
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 26 فروردين 1386
تعداد ارسالها: 25
محل سكونت: همه جاي ايران سراي من است


جمعه 11 خرداد 1386 - 12:38
پاسخ بصورت نقل قول
مقدمه :
يك بازي اول شخص را در نظر بگيريد كه كاراكتر به اطراف حركت كرده و به اهداف مختلفي شليك مي كند . قاعدتا بايد هر مرحله را در يك فايل داده اي كه در زمان اجراي بازي خوانده مي شود ذخيره كنيد . مطمپنا داده هاي زيادي براي ذخيره كردن وجود دارد . خود مراحل َ ديوارها درها اشيا موجود و ......
اينها اطلاعاتي هستند كه معمولا بصورت مشها (mashes) ذخيره مي شوند ‌( بخاطر داشته باشيد كه يك مش فقط مجموعه پيچيده اي از چندضلعيهاست ) اهداف نيز ممكن است بصورت مشها ذخيره شوند . علاوه بر اين اطلاعات ديگري مي بايست ذخيره شوند مانند قسمتهايي از يك ديوار كه مي توانيد روي آن حركت كنيد و قسمتهايي كه نمي توانيد اين كار را انجام دهيد يا مكان انتقال دهنده اي كه شما را به مرحله بعد مي برد و ...
براي انجام اين كارها مي توانيد خودتان فايلي را طراحي كنيد يا اينكه از x فايلها استفاده نماييد . اين فايل فرمت بگونه ايست كه مي توانيد هر اندازه و هر نوع اطلاعاتي را كه مي خواهيد در آنها ذخيره كنيد . اين اطلاعات به دو صورت باينري يا متني ذخيره شوند . و ما به بررسي نوع متني كه مي توان به راحتي آن را درك كرده و بوسيله يك اديتور متن نيز به سادگي ويرايش كرد مي پردازيم . براي ذخيره و بازيابي و بارگذاري x فايلها مي توان از رابط هايي كه در DirectX وجود دارند استفاده نمود . با استفاده ا ز اين رابطها ،هر آيتمي كه بصورت داده در x فايلها نوشته مي شود ، مانند مشها ، قدرت، زندگي كاراكتر و ... بصورت يك شيء self - contained در مي آيد ، و اين اشيا در درخت ساختار ، بسيار شبيه به يك فايل XML ذخيره ميشنود . اين نوع ساختار را hierarchy مي نامند . به بيان ديگر هر شيء در اين نوع فايلها مي تواند هيچ ، يك يا چندين شيء فرزند داشته باشد .
در قسمت بعدي كمي وارد كد نويسي خواهيم شد .
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
nahid
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 26 فروردين 1386
تعداد ارسالها: 25
محل سكونت: همه جاي ايران سراي من است


جمعه 11 خرداد 1386 - 12:41
پاسخ بصورت نقل قول
نقل قول:

من هم منتظر ادامه كار هستم . من هم مي خوام DirectX رو شروع كنم . اميدوارم كه در آينده بتونيم اين راه رو نه به وسيله تعداد معدود بلكه يك گروه ادامه بديم ...

_________________
--- مجتبي ---


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

نويسنده
پيغام
iran_adventure
مدیر انجمن
مدیر انجمن


تاريخ عضويت: شنبه 4 آذر 1385
تعداد ارسالها: 2069
محل سكونت: تهران


جمعه 11 خرداد 1386 - 13:22
پاسخ بصورت نقل قول
خيلي جالب بود .
يعني با طراحي مرحله در يك فايل x مي شه همه جزييات بازي رو در اون قرار داد ؟ من تا الان فكر مي كردم كه فقط اطلاعات آبجكت در اون قرار مي گيره . فايل ها x محدوديتي در نوع آبجكت دارند ؟ nurbs و پليگان . آيا مي شه در يك آبجكت هم nurbs باشه هم پليگان ؟ آيا دايركت ايكس سطوح nurbs رو پشتيباني مي كنه ؟ اگه يه فايل x به صورت متني باشه امكان اين هست كه مختصات پليگان ها ( مش ها؟ ) تغيير داد ( به صورت دستي ) و سوال آخر : هيچ فرقي در سرعت اجراي x متني با باينري نيست ؟ فكر كنم سرعت باينري بيشتر باشه ...

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

نويسنده
پيغام
nahid
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 26 فروردين 1386
تعداد ارسالها: 25
محل سكونت: همه جاي ايران سراي من است


جمعه 11 خرداد 1386 - 16:42
پاسخ بصورت نقل قول
نقل قول:

خيلي جالب بود .
يعني با طراحي مرحله در يك فايل x مي شه همه جزييات بازي رو در اون قرار داد ؟ من تا الان فكر مي كردم كه فقط اطلاعات آبجكت در اون قرار مي گيره . فايل ها x محدوديتي در نوع آبجكت دارند ؟ nurbs و پليگان . آيا مي شه در يك آبجكت هم nurbs باشه هم پليگان ؟ آيا دايركت ايكس سطوح nurbs رو پشتيباني مي كنه ؟ اگه يه فايل x به صورت متني باشه امكان اين هست كه مختصات پليگان ها ( مش ها؟ ) تغيير داد ( به صورت دستي ) و سوال آخر : هيچ فرقي در سرعت اجراي x متني با باينري نيست ؟ فكر كنم سرعت باينري بيشتر باشه ...

_________________
--- مجتبي ---


گر صبر كني ز غوره حلوا سازم
در بخشهاي بعدي پاسخ ها را به مرور دريافت خواهيد كرد
و در صورتيكه باز هم جاي ابهام باقي بماند به پرسشها يتان پاسخ مي دهم . البته اين هم بخاطر محدوديت زماني من هست و اينكه دوست دارم پيوستگي مطلب حفظ شود و هم اينكه مطالب جذابيت خود را حفظ كنند .
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
iran_adventure
مدیر انجمن
مدیر انجمن


تاريخ عضويت: شنبه 4 آذر 1385
تعداد ارسالها: 2069
محل سكونت: تهران


شنبه 12 خرداد 1386 - 20:51
پاسخ بصورت نقل قول
منتظرم ...

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

نويسنده
پيغام
nahid
در حال رشد
در حال رشد


تاريخ عضويت: 1 شنبه 26 فروردين 1386
تعداد ارسالها: 25
محل سكونت: همه جاي ايران سراي من است


3 شنبه 5 تير 1386 - 14:39
پاسخ بصورت نقل قول
با سلام به دوستان
از اينكه نتوانستم ادامه مطالب را به موقع در اختيار دوستان قرار بدهم بسيار شرمنده ام
خوب ادامه مبحث:
در اين مرحله به بررسي شكل متني يك فايل x مي پردازيم . مثال بررسي شده در اين قسمت ديد كلي از شماي x فايلهال را در اختيار ما مي گذارد . از بسياري جهات اين نوع فايل و قواعد مربوط به آن به فايلهاي زبان برنامه نويسي c شبيه است . ولي به هرحال تفاوتهايي وجود دارد و به همين دليل با استفاده از اين مثال به بررسي خود ادامه مي دهيم :
xof 0302txt 0032
//Declaration
template MY_GAME_INFO{
<AA1308FD-FF98-4f6e-9A55-CD083178672F>
STRING GameName;
STRING GameMaker;
DWORD Version;
}
template MY_LEVEL{
<0FC92315-6897-4f03-B2BD-A6CE20065861>
STRING LevelName;
[...]
}
template MY_MEDI_KIT{
<DACCED4A-433E-4fa3-91A6-2A8EA6B6D090>
DWORD XPos;
DWORD YPos;
DWORD ZPos;
}
//Definition
MY_GAME_INFO Game01
{
"My Test Game";
"َAli parsa";
1;
}
MY_LEVEL Level01
{
"Level01";
MY_MEDI_KIT
{
5;
7;
13;
}
MY_MEDI_KIT
{
435;
757;
139;
}
}

سرآيند (Header )
با كمي دقت متوجه خواهيد شد كه هر x فايل با يك سرآيند آغاز مي شود . كه يك خط است كه شماره نسخه و نوع فايل را مشخص ميكند . زمانيكه شما x فايل خود را مي سازيد مي بايست اين خط را در ابتداي آن اضافه كنيد .

الگو (Template )
قسمت بعدي در يك x فايل بخش توضيح الگو ها مي باشد . اينجا قسمتي است كه شما همه انواع داده خود را تعريف مي كنيد . هر الگو يك tamplate ناميده مي شود . اين كار بسيار شبيه تعريف كلاس مي باشد . الگوها شرح مي دهند كه داده ها چگونه سازماندهي مي شوند . و در اين مثال فايل ما داده ها را با چند چيز پيمايش مي كند .
game info-level info-medi-kits
الگوها به دايركت ايكس ميگويند كه اشياي ما از چه نوع داده هايي ساخته شده اند . الگوي game info بصورت زير شرح داده شده است :


0 بار اين نامه ويرايش شده است كه آخرين بار توسط 3 شنبه 12 تير 1386 - 11:09 در 3 بوده است.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

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


 
پرش به:  


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


unity3d

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