تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 4 از 5 اولاول 12345 آخرآخر
نمايش نتايج 31 به 40 از 46

نام تاپيک: اموزش ساخت بازی به وسیله MonoGame

  1. #31
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    تمرین : ورودی های صفحه کلید

    از قسمت قبلی می خواهیم مثالی را برای در ک بهتر با کمک یکدیگر انجام بدهیم . در این مثال ما می خواهیم با استفاده از ورودی های صفحه کلید یک تصویر را با استفاده از از نشانه گر های صفحه کلید به حرکت در بیاوریم . جهت این کار یک تصویر انتخابی را وارد کنید .
    ما در اینجا از یکی از تصاویر رنگ هایی که در بخش اخر دو بعدی از آن استفاده کرده ایم کمک می گیریم . ابتدا آن را وارد پکیج بازی کرده متغییر آن را تعریف کنید .
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سپس آن را در متد LoadContent فراخوانی خواهیم کرد
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    پس از آن این تصویر را در متد Draw بر روی سکانس رسم می کنیم .

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یک بار خروجی گرفته تا از صحت رسم مطمئن شوید .
    اکنون باید متغییر مربوط به دریافت وضعیت صفحه کلید را ایجاد کنیم
    همانطور که در قمت قبل به ان اشاره شد معیار وضعیت دریافت لحظه ای حالات صفحه کلید می باشد پس ابتدا متغییری را که وظیفه دریافت این حالات را بر عهده دارد تعریف میک نیم
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با این کار ما Stat را زمانی که یک کلید را فراخوانی می کنیم مقدار دهی خواهیم کرد .
    توجه داشته باشید همانطور که در تعریف نیز امده بود به خاطر ماهیت اجرای لحظه ای این متغییر ما باید آن را در متد Update که تا اخر بازی با کاربر ارتباط داشته و اجرا می شود تعریف کنیم پس این متغییر را نیز باید در همان متد تعریف کنیم .
    مرحله بعدی که ما باید آن را انجام دهیم این است که شرط مربوط به اجرا را به وجود بیاوریم . برای این کار ما نیاز به وضعیت صحیح Stat خود داشته و همچین در صورت وقوع آن باید مقدار شمارنده ای را افزایش دهیم . برای این کار می توانیم ابتدا یک متغییر از نوع Float به صورت سراسری تعریف کرد و سپس در این شرط آن را افزایش دهیم .

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حال در هر بار اجرای کلید سمت راست صفحه کلید این مقدار اضافه خواهد شد. اکنون باید این متغییر را استفاده کنیم .
    برای این کار متغییر مربوط به Location تصویر رسم شده خودمان را تغییر می دهیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همچنین می توان با اضافه کردن یک ساختار else به شرط قسمت فشار دادن کلید نیز اعمال بیشتری انجام داد . برای این کار ما یک شرط در غیر اینصورت اگر با محتوای اگر کلید سمت چپ فشار داده شد مقدار float را کم کن اضافه می کنیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با تغییر ساختار به این شکل می توانید مشاهده کنید که تصویر به دو طرف چپ و راست با فشار دادن کلید های مربوط حرکت می کند . اکنون می خواهیم سمت بالا و پایین را نیز به وجود بیاوریم . برای این کار ابتدا متغییرfloat ای را برای این کار به صورت سراسری تعریف می کنیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و سپس شرط مربوط به آن را ایجاد می کنیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سپس آن را در قسمت y متغییر برداری خودمان در بخش رسم قرار می دهیم .

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حال اجرا کرده و نتیجه را مشاهده کنید .
    اکنون مانند قبل شرط دوم را برای ساخت کلید پایین به وجود بیاورید


    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در انتها اجرا گرفته و می توانیم نتیجه را مشاهده کنیم .
    در این تمرین ما با چگونگی استفاده از کلید های صفحه کلید در یک پروژه اشنا شدیم . توجه کنید همانطور که در بخش قبل نیز به ان اشاره شد شما می توانید با تقریبا تمامی کلید های صفحه کلید برای انجام هر کاری دسترسی داشته باشید . بیشتر در این قسمت تمرین کرده تا بتوانیددستورات متنوع تری را به وجود بیاورید .

  2. این کاربر از silsin بخاطر این مطلب مفید تشکر کرده است


  3. #32
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    عنوان : ورودی های ماوس

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

    اعمال ورودی ماوس :
    دریافت ورودی از ماوس بسیار اسان می باشد . و اگر شما دریافت ورودی از سایر ورودی ها را کار کرده باشید به راحتی می توانید این قسمت را به وجود بیاورید . همانند قبل محیط معمول برای دریافت و اعمال این ورودی ها همان متد Update می باشد . برای دریافت یک ورودی از یک ماوس باید یک وضعیت ماوس تعریف کرد :
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حال این متغییر جدید را برابر با مقدار فعلی کلیک ماوس قرار می دهیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کلاس MouseState شامل تمامی اطلاعات مورد نیازی است که ما می خواهیم در مورد وظعیت کنونی یک ماوس بدانیم .
    سپس ما باید کاری را انجام داده تا زمانی که عمل کلیک ماوس انجام شده ما بتوانیم متوجه شویم :

    برای این کار ابتدا باید مقدار کلید فشار داده شده MouseStat
    که یکی از سه حالت :
    -- RightButton
    -- LeftButton
    --MiddleButton
    می باشد را برابر با زمان اجرا کلید یعنی Pressed شده آن کلید قرار دهیم

    کد زیر را به کد ها اضافه کنید :


    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون هر کدی که در این شرط قرار بگیرد با کلیک چپ ماوس اجرا خواهد شد .

    اکنون می خواهیم حالتی ایجاد کنیم تا بتوانیم وضعیت کلید قبلی و کلید حاظر فشار داده شده را دریافت کنیم برای این کار کدهای زیر را به این قسمت اضافه کنید :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    عملکرد این کد همانند نمونه مشابه قسمت صفحه کلید می باشد .

    همچنین ما می توانیم مختصات مکانی نشانه گر ماوس را به طریق زیر دریافت کنیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    با اینکار به صورت لحظه ای مختصات تغییرا ماوس در دو متغیر تعریف شده قرار خواهد گرفت .


    تغییر مختصات ماوس :
    با استفاده از متد SetPosition در کلاس MouseState می توانیم مختصات فعلی ماوس را به دلخواه تغییر دهیم

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    تا اینجا با چگونگی استفاده از وضعیت های مختلف ماوس اشنا شده اید . همچین باید بدانید علاوه بر وضعیت فشار داده شدن کلیک یک ماوس که Preesed نامیده میشود وضعیت دیگری نیز با نام Release وجود دارد که مربوط به زمانی میشودک ه کلیک یعنی هر کلیدی از حالت انتخاب خارج شده است

    در قسمت بعد با مثالی عملی کاربرد دستورات و متد های توضیح داده شده را بررسی خواهیم کرد .

  4. 2 کاربر از silsin بخاطر این مطلب مفید تشکر کرده اند


  5. #33
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    یه دو سه قسمت اضافه شد
    نمی دونم چرا کار با این خیلی بیشتر از یو دی کی بهم مزه میده

  6. 2 کاربر از silsin بخاطر این مطلب مفید تشکر کرده اند


  7. #34
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    تمرین : ترکیب ماوس و صفحه کلید

    در این تمرین می خواهیم با استفاده از هر دو ورودی ماوس و صفحه کلید یک تصویر را در صفحه رسم کرده و سپس با استفاده از کلید E در صفحه کلید آن تصویر را پاک کنیم
    در این تمرین ما از تصویر زیر برای تصویر رسم شده :
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    و از اشاره گر تمرین قسمت قبلی برای تغییر اشاره گر ماوس استفاده خواهیم کرد
    برای شروع دو تصویر فوق را وارد پکیج بازی کنید
    ابتدا ساختار تغییر ماوس که در بخش قبلی فرا گرفته ایم را دوباره انجام می دهیم .
    خاصیت پنهان کرده ماوس در صفحه بازی را در متد اغازین تعریف کنید :
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    * با استفاده از تکه دستور زیر می توانید Title بالایی صفحه بازی خود را تغییر بدهید
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون متغییر آن را تعریف کرده و تصویر را وارد کنید :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مختصات فعلی ماوس را در دو متغییر از نوع Int قرار داده :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و سپس تصویر را رسم کرده و این متغییر را به مکان تصویر نسبت می دهیم :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون پروژه را اجرا کرده تا از صحت کار اطمینان حاصل کنید
    پس از انجام این کار حال باید تصویر دوم را وارد کنیم .
    متغییر زیر را به صورت سراسری تعریف کنید :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و این متغییر را در متد LoadContent به وسیله تصویر توپ خودمان مقدار دهی می کنیم :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سپس ان را در متد Draw بر روی سکانس رسم می کنیم :
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یک بار اجرا گرفته تا خروجی را مشاهده کنید :



    در ادامه اجرا را قدم به قدم به وجود میاوریم :
    ابتدا باید کاری کنیم که با کلیک ماوس بر روی سکانس تصویر ما رسم شود . برای این کار ابتدا باید تعامل با کلیک ماوس را به وجود بیاوریم :
    به متد Update که مکان تعریف مختصات ماوس ما بود رجوع می کنیم. با استفاده از کلاس MouseStat شرطی را بنابر فشار داده شدن کلیک چپ ماوس ایجاد کرده :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    یک متغییر سراسری از نوع bool ایجاد کرده و خاصیت true شدن آن را در شرط بالا قرار می دهیم :

    کد PHP:
    bool st;

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    اکنون دوباره به متد Draw باز گشته یک ساختار جدید رسم ایجاد می کنیم و رسم توپ را در آنجا قرار می دهیم

    کد بخش Draw کلاس شما به این صورت خواهد بود :


    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون بخش رسم توپ را در یک شرط قرار داده و می گوییم اگر st برابر با true شد آنگاه رسم را انجام بده

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حال اگر پروژه را اجرا کنیم می توانیم مشاهده کنیم که با زدن دکمه چپ ماوس تصویر بر روی سکانس رسم می شود

    * سوال :
    چه کار کنیم که تصویر در مختصات فعلی ماوس ما رسم شود ؟؟؟؟ (ببینم کسی بلده
    )


    حال باید وضعیت دسترسی صفحه کلید را تعریف کنیم تا بتوانیم شرط مربوط به کلید Eرا در آن به وجود بیاوریم .
    در متد Update وضعیت مربوط به صفحه کلید را ایجاد کنید :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سپس با اضفاه کردن شرطی خواهیم گفت که اگر کلید E ما فشار داده شد متغییر bool st را برابر با false قرار بده
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون با بازگشت به متد Draw در ادامه شرط تشکیل تصویر یک شرط دیگر قرار داده تا هنگامی که متغییر false شد تصویر را پاک کند


    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون پروژه را اجرا کرده و تست کنید
    * از طریق کد اورده شده در شرط دوم می توانیم اخرین رسم انجام شده را پاک کنیم

    در دو مثال اخیر ما توانستیم با استفاده از قابلیت هایی که ماوس و صفحه کلید در اختیار ما قرار می دهد دو پروژه را ایجاد کنیم . برای تسلط بیشتر توصیه می کنم که تمرین های بیشتری را انجام دهید
    Last edited by silsin; 26-05-2013 at 17:20.

  8. این کاربر از silsin بخاطر این مطلب مفید تشکر کرده است


  9. #35
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    عنوان : دانلود ابزار
    با استفاده از این ابزار می تونید کنتنت های مورد نظر خودتون رو بدون استفاده از روش های Content Pipline داخلی به فرمت xnb کامپایل کرده و از اون در بازی خودتون استفاده کنید

    لینک دانلود :
    سورس

    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    نسخه StandAlone :

    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]


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

  10. این کاربر از silsin بخاطر این مطلب مفید تشکر کرده است


  11. #36
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    عنوان : رسم یک متن برروی صفحه
    در این قسمت می خواهیم یک متن را بر روی صفحه بازی رسم کنیم .
    جهت رسم یک متن بر روی صفحه بازی ما نیاز به آن داریم ک هاز فوت ها استفاده کنیم مسلما تمامی رسم نوشته های سیستم عامل ما به وسیله انواع و اقسام فونت ها انجام می گیرد . در اینجا هم این قاعده وجود دارد . متاسفانه به خاطر عدم و جود ابزار مناسب تا این ورژن از MonoGame به جهت ساخت اسپرایت فونت ها ما ناچارا باید از ساختار و ابزار xna استفاده کنیم . البته سازندگان قول مساعد برای اضافه کردن این بخش ها در نسخه های اینده MonoGame را داده اند. برای این ما ابتدا باید xna 4 را بر روی ویژوال استدیو خودمان نصب کرده باشیم .توجه کنید در این مورد برعکس اضافه کردن ساختار های مشابه ما نمی توانیم ازفونت فایل xml و یا تکسچر فونت به صورت مستقیم استفاده کنیم و با این فونت را ابتدا تشکیل داده و به فرمت spritefont ذخیره کرده و از آن در ساختار کامپایل شده xnb استفاده کنیم .
    برای این کار ابتدا باید یک پروژه xna از نوع windows game ایجاد کنید :


    سپس بر روی بخش کنتنت پروژه خود در پنجره sulotion explorer راست کلیک کرده و سپس بر روی new item کلیک کنید :


    اکنون در این قسمت یک فایل جدید از نوع spritefont با زدن add به انتخاب نام مناسب به پروژه اضافه کنید


    همانطور که مشاهده می کنید این فایل به پروژه شما اضافه شده
    در میان محتویات این فایل کد های زیر قرار دارند :

    <FontName>Segoe UI Mono</FontName>

    این کد برای قرار دادن نام فونت مورد نظر

    <Size>14</Size>
    اندازه کلمات

    <Spacing>0</Spacing>
    فاصله کلمات

    <Style>Regular</Style>
    برای تعیین خاصیت های متن نظیر زیر خط دار بودن و یا بزرگ بودن

    پروژه را کامپایل کرده و اجرا کنید تا فایل مورد نظر ما ایجاد شود .
    پس از این کار به مکانی که پروژه در سیستم عامل ما به وجود امده رجوع می کنیم در مثال ما پروزه windows game 4 در مسیر زیر تشکیل شده :

    C:\Users\john\Documents\Visual Studio 2010\Projects\WindowsGame4

    وارد این مسیر شده :
    \WindowsGame4\bin\x86\Debug\Content
    می توانید مشاهده کنید که دو فایل که یکی از آن ها به فرمت sprite font و دیگری به فرمت xnb تشکیل شده اند :


    اکنون این فایل اماده استفاده است . حال پروژه جدیدی از نوع MonoGame بسازید .
    فایل xnb را به content های پروژه خود وارد کنید
    یک بار build گرفته تا فایل xnb در مسیر فایل پروژه شما ذخیره شود .
    اکنون متغییر مربوط به آن را به صورت سراسری ایجاد می کنیم :
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اکنون در متد LoadContent فایل فونت خود را وارد می کنیم .

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اخرین کاری که مانده است رسم این فونت بر روی سکانس بازی می باشد . برای اینکار ما باید با استفاده از کلاس spritebatch و متد Drawstring این کار را انجام دهیم .
    به متد Draw رجوع کرده و کد زیر را وارد کنید :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در این کد مقادیر DrawString :
    - - فونت مربوطه که وارد کرده بودیم
    - - متنی که می خواهیم بر روی سکانس نمایش دهیم
    - - رنگ متن

    اکنون خروجی را با تغییر مختصات نمایشی می خواهیم بر روی سکانس نمایش دهیم :



    * به این نکته توجه داشته باشید که متد DrawString نیز همانند متد Draw دارای خاصیت های source - scale - rotation و غیره ... می باشد . بنابراین شما می توانید همان کارهایی را که با رسم تصاویر در قسمت های قبلی انجام داده اید در اینجا نیز انجام دهید

  12. این کاربر از silsin بخاطر این مطلب مفید تشکر کرده است


  13. #37
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    عنوان :ورودی کنترلر xbox360
    به لطف وجود هسته input فریم ورک xna در MonoGame سازندگان علاوه بر دسترسی به ورودی های صفحه کلید و ماوس می توان از ورودی کنترلر ایکس باکس 260 نیز در بازی استفاده کرد .
    * ذکر این نکته با اهمیت است که به خاطر ماهیت سورس باز بودن MonoGame سازندگان می توانند هر نوع ورودی را به عنوان کنترلر بازی به ساختار MonoGame اضافه کنند !!!

    در تمرین ها و بخش های قبلی ما با موضوع ورودی و نحوه استفاده از ان ها در ساختار و محیط بازی خودمان اشنا شده ایم اکنون می خواهیم نگاهی به ورودی از یک کنترلر ایکس باکس نیز داشته باشیم . نکته ابتدایی که قبل از ورود به این بخش لازم است مد نظر قرار گیرد بررسی ساختار این کنترلر و نقش و عملکرد آن در بازی است .




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


    دریافت ورودی از کنترلر ایکس باکس :
    دریافت ورودی از کنترلر ایکس باکس بسیار اسان است . اگر شما اموزش ها و بخش های قبلی مربوط به ورودی ها را تمرین کرده باشید به راحتی می توانید این کار را انجام دهید و مسلما هیچ چیزی جدیدی در اینجا نخواهد بود که از دیدن آن تعجب کنید . ساخت و دریافت وضعیت ها شبیه به همان مراحل قبلی است در این تکه کد می توانیم وظعیت فعلی کنترلر را دریافت کنیم :


    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مسملما اگر شما بخواهید دو ورودی کاربر داشته باشید شما باید وضعیت دوم تعریف شده را با فقط تغییر مکان پلایر یعنی Playerindex.Two این کار را انجام دهید .
    حال ما می توانیم وضعیت فعلی کنترل بازیکنان خود را در اختیار داشته باشیم و می توانیم وظعیت فعلی که کنترلر ما در ان قرار دارد را در اختیار بگیریم . برای شروع ما می توانیم بررسی کنیم که اصلا ایا کنترلر به دستگاه متصل است یا خیر برای این کار ما باید قطعه کد زیر را در متد Update که برای دریافت ورود ها به کار می رود و در تمام طول بازی با کاربر ارتباط دارد استفاده کنیم :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    برای بررسی اینکه ایا کلیدی فشار داده شده ما می توانیم از خاصیت
    GamePadState.Buttons استفاده کنیم . برای مثال در خط زیر ما بررسی می کنیم که ایا کلید A بر روی کنترلر فشار داده شده است یا خیر :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    دسترسی به Dpad یا همان Directional pad نیز به همین گونه است . اجزای موجود در این قسمت یعنی وضعیت هایی که d - pad در اختیار ما قرار می دهد شامل دکمه های
    بالا
    پایین
    چپ و راست می باشد . به عنوان مثال ما از تکه کد زیر برای بررسی فشار داده شدن کلید D -Pade به سمت پایین استفاده خواهیم کرد :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کنترلر دو thumbsticks نیز می تواند به سادگی انجام شود .
    thumbsticks به ما دووضعیت می دهد -x , -y که بین -1 , 1 می باشد /. اگر مختصات x برابر با -1 بود آنگاه thumbstick به سمت چپ کج شده است و اگر این برابر با 1 بود انگاه به سمت راست کج شده است . اگر مختصات y برابر با -1 بود انگاه به سمت پایین و اگر 1 بود به این معنی است که به سمت بالا قرار گرفته است . 0 نیز به معنای قرار گیری thumbstick در وسط می باشد.
    کد زیر برای به روز رسانی زاویه مبتنی بر مختصات سمت چپ قرار گیری thumbstick می باشد :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    همچنین دکمه های قرار داده شده در پشت کنترلر را نیز می توان نیز مورد دسترسی قرار داده . این دکمه دو وضعیت 0 و 1 را به ترتیب برای وضعیت فشار داده نشده و فشار داده شده بر خواهند گردانند . با استفاده از تکه کد زیر می توانیم این کار را انجام دهیم :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مقداری که در متغییر float تعریف شده ما قرار خواهد گرفت برابر با وضعیت فشار دادن یا فشار ندادن کلید می باشد .

    بررسی وضعیت فشار دادن کلید :

    با استفاده از تکه کد های زیر می توانیم وضعی اولین و اخرین کلید را در اختیار بگیریم :
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  14. این کاربر از silsin بخاطر این مطلب مفید تشکر کرده است


  15. #38
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    عنوان : لرزش کنترل ایکس باکس 360
    در قسمت قبلی با چگونگی ارتباط برقرار کردن و دریافت ورودی از کنترلر ایکس باکس 360 اشنا شدید در اینجا می خواهیم یکی از قابلیت های جالب این کنترلر پرطرفدار را در اختیار بگیریم . همانطور که می دانید کنترلر ایکس باکس 360 دو موتور در سمت چپ و راست خود برای به وجود اوردن لرزش یا همان ویبره دارد . در این قسمت می خواهیم کنترل این قسمت را نیز بر عهده بگیریم .


    انجام این کار بسیار اسان است . شما فقط باید با استفاده از اعمال میزان لزرش به گیم پد خود این کار را انجام دهید :

    کد PHP:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مقادیر این متد برابر هستند با :
    - موقعیت پلایری که این کنترلر به آن تعلق دارد
    - مقدار لرزشی که باید در موتور سمت چپ اعمال شود
    - مقدار لرزشی که باید در موتور سمت راست اعمال شود
    برای این دو پارامتر ما می توانیم یک رنج بین 0 تا 1 داشته باشیم هنگامی که 0 است این بدین معنی است که ما هیچ لرزش یا همان ویبره ای نداریم و هنگامی که 1 است یعنی لرزش اتفاق می افتد .
    همچنین می توان میزان لرزش هر قسمت را نیز با تغییر این رنج ها از 0.1 تا 1 تعیین نمود هرچه یکی از طریفین از دیگری بیشتر باشد مسلما میزان لرزش نیز بیشتر خواهد بود .
    یکی دیگر از نکانی که در این مورد باید مد نظر داشته باشید این است که هنگامی که شما مقدار اعمال لرزش کنترلر را بر روی 1 قرار داده باشید کنترلر ایکس باکس شما به طور کامل به حال ویبره خواهد رفت و باید این را با اعمال مقدار 0 متوقف کنید وگرنه لرزش بیش از حد آن موجب دیوانگی بازیکن خواد شد

  16. این کاربر از silsin بخاطر این مطلب مفید تشکر کرده است


  17. #39
    آخر فروم باز
    تاريخ عضويت
    Dec 2008
    محل سكونت
    مازندران
    پست ها
    1,290

    پيش فرض

    5 قسمت جدید اضافه شد.
    یعنی واقعا امید نداشته باشین این به این زودیا تموم بشه فکر کنم کم کمش یه 20 30 قسمت دیگه بسازم شاید بتونم تمومش کنم . تازه حالا که یه کتاب هم در این مورد به دستم رسیده دیگه هیچی به اون 20 30 تا هم امیدی نیست در کل به قول یکی از دوستان
    لذت ببرید

  18. #40
    اگه نباشه جاش خالی می مونه mohammd1's Avatar
    تاريخ عضويت
    Sep 2011
    محل سكونت
    NeverLand
    پست ها
    416

    پيش فرض

    من دارم پله پله با شما میام جلو
    دمت hot

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •