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





صفحه اول انجمنها -> اصول اولیه در طراحی بازیهای کامپیوتری -> چی میشه که یه بازی full screen میشه؟؟
 

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

چی میشه که یه بازی full screen میشه؟؟
نويسنده
پيغام
eta
مدیر سایت
مدیر سایت


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


1 شنبه 24 تير 1386 - 19:23
پاسخ بصورت نقل قول
سلام به همگی
یه سوالی برام پیش اومده اونم اینه که full screen شدن بازی چه جوری صورت میگیره. سخت افزاریه؟؟ به سیستم عامل مربوطه؟؟ یا به application ؟؟
کسی در این مورد چیزی میدونه؟؟

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

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

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


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


1 شنبه 24 تير 1386 - 21:53
پاسخ بصورت نقل قول
سلام احسان جان ( بعد از مدتها دوباره همديگرو ديديم‌ (ديديم !) .... )
تقريبا به همهء اونايي كه گفتي مربوطه اما : اگه از دید Cpp بگم : Application شما که احتمالا از Win32 یا MFC استفاده می کنه ، به سیستم عامل ویندوز می گه یه Window بسازه که بیاد روی تمام پنجره های دیگه و صفحه رو پر کنه ... این از قسمت نرم افزاری .... ولی سیستم عامل هم به سخت افزار می گه تعداد پیکسل ها رو چند تا بگیره ( Resoloution ) ....
از نظر جاوا : کاملا به Aplication بستگی داره و سخت افزار ، سیستم عامل به هویج تبدیل می شه ، شما با Application تون به سخت افزار می گید ( به کامپایلر می گید که اون به سخت افزار بگه « خودمونیم ، این قسمتش کامپایلر با Cpp داره با سخت افزار حرف می زنه ، ولی این به هیچ وجه از عظمت جاوا کم نمی کنه چون خوده Cpp هم با C و C هم با B و B هم با ...... !! » ! ) چه Resoloution رو می خواهید و اونقت با AWT.Frame یا JFrame پنجره رو پر می کنید تو صفحه ...

از اينجا به بعد ديگه معمولا حرفه هاش ( حرفه اي ها ، ما نه !‌ )‌ ديگه تمام تصاوير رو توي حافظه كارت گرافيك قرار مي دن ، دیگه از RAM استفاده نمی کن ( تو جاوا می گن VolatileImage ) تو Cpp بلد نیستم .....

تا بعد ....

_________________
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
 

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


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


2 شنبه 25 تير 1386 - 18:44
پاسخ بصورت نقل قول
سلام پیمان :
من بیشتر منظورم این بود که دستوراتش در سطح ارتباط با سخت افزاره. در سطح ارتباط با سیستم عامله یا اپلیکیشن. که خوب البته گمون کنم گفتی دستورات در سطح اپلیکیشن داره. پس حالا ممکنه مثلا بگی دستور کد جاوایی و cpp ایش چه جوریه؟؟

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

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

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


تاريخ عضويت: شنبه 1 مرداد 1384
تعداد ارسالها: 298


4 شنبه 27 تير 1386 - 21:01
پاسخ بصورت نقل قول
سلام
دستوراتش مربوط به سیستم عامله البته من سی کار کردم فقط.
یعنی شما به سیستم عامل می گید که این پنجره فول اسکرین هست و ویندوز هم کشیدن تمام چیزهای تو صفحه مثل استارت و پنجره های دیگه رو تعطیل می کنه به خاطر همین هم سرعت تو تمام صفحه یه مقدار بالاتر هست.

این کار تو دایرکت ایکس اتوماتیک هست ولی تو اپن جی ال خودت باید انجام بدی حتی اگر پنجره را از فول اسکرین در بیاری و به ویندوز نگی که از فول اسکرین در اومده می بینی پشت صفحه ات همه سیاه هست.

این کد هم وقتی پنجره می کشی می گه که فول اسکرین باید باشد.
البته این کدی هست که تو انجینم استفاده کردم و شاید زیاد واضح به نظر نیاد.
كد:

      if(m_bFullscreen)
      { // Az Windowed be Fullscreen
         DEVMODE dmSettings;                           
         memset(&dmSettings,0,sizeof(dmSettings));         

         if(!EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&dmSettings))
         {
            io::Logger::Log("Could Not Enum Display Settings.", E_LM_Error);
            return;
         }

         dmSettings.dmPelsWidth   = m_iWidth;   
         dmSettings.dmPelsHeight   = m_iHeight;
   
         int result = ChangeDisplaySettings(&dmSettings,CDS_FULLSCREEN);   

         if(result != DISP_CHANGE_SUCCESSFUL)
         {
            io::Logger::Log( kge::io::E_LM_Error ,
               "The Display Mode(%ix%i) Not Compatible." ,
               m_iWidth , m_iHeight );
            return;
         }
      }



و برای خروج از فول اسکرین.
كد:

         ChangeDisplaySettings(NULL, 0);


_________________
Kochol Game Engine

[img]http://barnamenevis.org/forum/image.php?type=sigpic&userid=6875&dateline=1258101798[/img]
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
_Akhtar
پیر بازی سازی
پیر بازی سازی


تاريخ عضويت: جمعه 10 فروردين 1386
تعداد ارسالها: 1212


5 شنبه 28 تير 1386 - 01:18
پاسخ بصورت نقل قول
ممنون Kochol جان ، یه سوال بی ربط : کمپایلرت چیه ؟ (Compiler)

_________________
تو هم مثل من تازه واردی؟
از اینجـــا شروع کن! <<<


www.Saeed-Shahriyari.ir
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


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


5 شنبه 28 تير 1386 - 11:58
پاسخ بصورت نقل قول
مرسی کوچول
حق با تو بود کده رو حالیم نشد.

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

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

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


تاريخ عضويت: شنبه 1 مرداد 1384
تعداد ارسالها: 298


5 شنبه 28 تير 1386 - 15:09
پاسخ بصورت نقل قول
_Akhtar نوشته:
ممنون Kochol جان ، یه سوال بی ربط : کمپایلرت چیه ؟ (Compiler)

سلام
Visual studio .net 2005

قسمت مهم کد دستور زیر هست.
دستور های بالای این کد فقط چک می کنند که این رزولشن قابل فول اسکرین شدن دارد یه نه مثلا رزولشن 100*500 نداریم.
كد:

ChangeDisplaySettings(&dmSettings,CDS_FULLSCREEN); 

_________________
Kochol Game Engine

[img]http://barnamenevis.org/forum/image.php?type=sigpic&userid=6875&dateline=1258101798[/img]
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

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


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


جمعه 29 تير 1386 - 09:38
پاسخ بصورت نقل قول
ممنونم کوچول

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

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

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


 
پرش به:  


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


unity3d

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