امروز سه شنبه 20 بهمن 1388, 1:14 pm

همه زمانها با ساعت محلی UTC + 3:30 تنظیم شده اند




پاسخ به مبحث  [ 8 پست ] 
نويسنده پيغام
 موضوع پست: بازی نویسی با پایتون...
پستارسال شده در: پنج شنبه 20 تیر 1387, 9:13 pm 
آفلاين
مدیر انجمن
مدیر انجمن
نماد کاربر

تاريخ عضويت: يکشنبه 6 اسفند 1385, 1:30 pm
پست ها : 2055
محل سکونت: تو يه فلش مموري دو گيگ
داده شد: 0 تشکر
دریافت شد: 0 تشکر
سلام،
شاید بعضی ها تون هنوز نمی دونید پایتون چیه؟ خوب این عیبی نداره... چون زبان خیلی قدیمی ای نیست و به این دلیل که بیشتر کاربران لینوکس ازش استفاده می کنن، برای بعضی از کاربران جدیده! خوب برای آشنایی بیشتر با پایتون تفالی میزنیم به ویکی پدیا...
البته این دفعه ویکی پدیا فارسی تخصصی پایتون مد نظر ماست... اینجا
خوب، حالا که با پایتون کمی آشنا شدیم بهتره بریم سر بحث PyGame و PyOpenGL
سعی می کنم حداکثر تا فردا بعد از ظهر مقدمه مربوطه رو آماده کنم... فعلاً بهتره در مورد خود پایتون بهتر تحقیق کنید...

_________________
تصوير
«پشتکار»«پشتکار»«پشتکار»


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: پنج شنبه 20 تیر 1387, 9:53 pm 
آفلاين
مدیر انجمن
مدیر انجمن
نماد کاربر

تاريخ عضويت: يکشنبه 6 اسفند 1385, 1:30 pm
پست ها : 2055
محل سکونت: تو يه فلش مموري دو گيگ
داده شد: 0 تشکر
دریافت شد: 0 تشکر
خوب، دوباره سلام، گفتم سعی می کنم مقدمه کار رو بنویسم (ترجمه کنم) و همین کار رو هم کردم... البته توجه کنید که قرار نیست همه چیز رو من بنویسم... مطالب موجود در این تاپیک (سایت) همه اشارتی کوچک خواهد بود به بحث های اصلی و اگر در خودتون عنصر تنبلی رو می بینید (مثل من) به هیچ وجه دنبال این تاپیک نیاید چون قرار نیست همش مقاله ای باشه که من گذاشتم (ترجمه) بلکه فقط راهنماییه... میشه گفت مثل دوران دبیرستان یا راهنمایی نیست که معلم همه چیز رو به زور به دانش آموز ها می گه، بلکه مثل دانشگاهه (البته بعضی اساتید و دانشجویان هم تنبلی می کنن) که استاد یه کلمه که می گه خودتون باید بیست تا کتاب در مورد اون یه کلمه بخونید تا درس رو متوجه بشید... (اغراق به شدت...)
قرار اینجا چی یاد بگیریم؟
چگونگی نوشتن بازی های رایانه ای بوسیله زبان برنامه نویسی پایتون. با استفاده از کتابخونه های زیر:
-PyGame
و
-PyOpenGL
ما کارمون رو با مباحثی پیرامون چگونگی نصب پایتون و کتابخانه ها و همچنین مروری کوتاه پیرامون نحوه برنامه نویسی پایتون و نکات پایه ای پای گیم (از این به بعد برای سهولت در نوشتن بجای پای گیم از پ.گ استفاده می کنم) شروع می کنیم و کم کم ساخت بازی های دو بعدی و سه بعدی رو شروع می کنیم.
حتماً خیلی دوست دارید بدونید این آموزش ها رو چه کسانی نوشته اند؟
آموزش های آتی توسط دو فرد به نام های Geoff Howland و Rene Dudfield نوشته شده است. بهتر نیست قبل از شروع مقاله بعدی اسم این دو نفر رو گوگل کنیم تا راجع بهشون اطلاع پیدا کنیم و بهتر بشناسیمشون؟
خوب حتماً می دونید پایتون چیه و حتماً تا حالا فهمیدید که چرا ما پایتون رو برای بازی سازی انتخاب کردیم (اگر جستجو کردید و چیز بدرد بخوری پیدا نکردید همینجا بیان کنید تا با هم فکری هم دیگه نکات جالبی رو برای افرادی هم که نمی دونند بدست بیاریم)
نصب پایتون و شروع به کار با آن:
خوب وقتشه شعار رو کنار بزاریم و واقعاً شروع کنیم... همینطور که می دونید اکثر افراد از دو سیستم عامل محبوب ویندوز و لینوکس استفاده می کنند (در ایران)
ویندوز
این فایل ها رو بگیرید:
خود پایتون - پای گیم - چند مثال برای کار - حجم فایل ها زیاد نیست...
سیستم عامل لینوکس
پایتون به صورت پیشفرض در اکثر توزیعات لینوکس نصب میشه و بسته به نوع توزیع و بسته های شناخته شده در آن (deb or rpm) خودتون در سایت هایی نظیر GetDeb و غیره و با گوگل کردن به راحتی PyGame رو پیدا کنید.
خوب حتماً می دونید چطوری پایتون رو اجرا کنید پس دیگه توضیح نمی دم (ویندوزی ها از استارت منو IDLE رو پیدا کنند (GUI پایتون))
نظرتون راجع به اجرای این چند خط کد چیه؟
کد:
import pygame
print dir(pygame)
print dir()

خوب import از پایتون می خواد که اون ماژول رو بارگزاری کنه.
این کد هم بعدها زیاد به درد می خوره:
کد:
help(pygame.Rect)

اجرای مثال ها
در command prompt ویندوز این کدها را بنویسید:
کد:
set PATH=%PATH%;c:\Python24\
cd "\Program Files\Pygame-Docs\examples"
python chimp.py

توجه کنید که مسیر مثال ها به این بستگی داره که شما کجا اونها را از جالت فشرده زیپ خارج کرده باشید. شاید شما بخواید خط set رو توی autoexec.bat تون قرار بدید تا لازم نباشه هر دفعه برای استفاده از پایتون این رو بنویسید.
کابران سیستم عامل لینوکس هم از کدهایی نظیر زیر استفاده می کنند:
کد:
cd /usr/share/doc/python2.4-pygame/examples/
python chimp.py

خوب، تا آموزش بعدی سعی کنید برخی دیگه از مثالها رو اجرا کنید. happy4
ترجمه و استفاده از دانستنی های خودم...

_________________
تصوير
«پشتکار»«پشتکار»«پشتکار»


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: جمعه 21 تیر 1387, 4:29 am 
آفلاين
مدیر کل
مدیر کل
نماد کاربر

تاريخ عضويت: شنبه 5 اسفند 1385, 5:51 pm
پست ها : 6154
محل سکونت: Unknown World
داده شد: 64 تشکر
دریافت شد: 134 تشکر
مصطفی جان پیتونی که گذاشتی روی ویستا 64بیتی هم جواب میده ؟

_________________
تصوير


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: جمعه 21 تیر 1387, 5:49 am 
آفلاين
مدیر انجمن
مدیر انجمن
نماد کاربر

تاريخ عضويت: يکشنبه 6 اسفند 1385, 1:30 pm
پست ها : 2055
محل سکونت: تو يه فلش مموري دو گيگ
داده شد: 0 تشکر
دریافت شد: 0 تشکر
سلام،
دقیقاً این رو تست نکردم روی 64 بیت... اما حالا که می خوای وقت بذاری 9 مگابایت رو دانلود کنی، قبلش به این صفحه برو و نسخه جدیدش (2.5) رو دانلود کن که با ویستا 64 بیت هم جواب میده. البته چون در نسخه جدید امکاناتی بهش اضافه شده، شاید هم بعضی چیز ها فرق کرده باشه (من خودم دانلود نکردم هنوز) برای همون اگر نسخه 2.4.3 روی ویستا 64 جواب میده بهتره از همون استفاده کنی! ;)

_________________
تصوير
«پشتکار»«پشتکار»«پشتکار»


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: جمعه 21 تیر 1387, 12:45 pm 
آفلاين
مدیر انجمن های SDL , OGRE
مدیر انجمن های SDL , OGRE
نماد کاربر

تاريخ عضويت: جمعه 3 فروردین 1386, 6:05 pm
پست ها : 981
داده شد: 0 تشکر
دریافت شد: 0 تشکر
Shahrooz نوشته است:
مصطفی جان پیتونی که گذاشتی روی ویستا 64بیتی هم جواب میده ؟

می تونید به خود سایتش برید و در این باره اطلاع کسب کنید.

_________________
<center>تصوير</center>


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: پنج شنبه 28 شهریور 1387, 12:40 pm 
آفلاين
مدیر انجمن
مدیر انجمن
نماد کاربر

تاريخ عضويت: يکشنبه 6 اسفند 1385, 1:30 pm
پست ها : 2055
محل سکونت: تو يه فلش مموري دو گيگ
داده شد: 0 تشکر
دریافت شد: 0 تشکر
آموزش PyGame: وارد کردن و آغاز کردن و پایان دادن

با سلام و عرض پوزش به علت این وقفه ی طولانی که در نوشتن (ترجمه) مقاله و آموزش دوم PyGame ایجاد شد.

خوب بدون هیچ حرف اضافه ای به سراغ اصل مطلب میرویم. البته باید قبلاْ مقاله اول این بحث رو خونده باشید.

مقدمه

وارد کردن و آغاز کردن در پPyGame کار بسیار آسانی است و همچنین آنقدر انعطاف پذیر است که به شما امکان این را میدهد که بر هرچه به وقوع می پیوندد نظارت و کنترل داشته باشید. PyGame مجموعه ای از ماژول های مختلف در یک بسته ی پایتون است که برخی از این ماژول ها در C و بعضی دیگر بوسیله پایتون نوشته شده اند. همچنین برخی از این ماژول ها اختیاری هستند و لازم نیست همیشه مهیا باشند.

متنی که پیش رو دارید (این مقاله) تنها مقدمه ای سریع بر نحوه کارکرد و عملیاتی که هنگام وارد کردن در PyGame انجام میدهید رخ میدهد است و در صورتی که نیازی به توضیح شفافتری دارید بهتر است مثال های PyGame را ببینید و اجرا کنید.

وارد کردن (Import)

در ابتدا ما تنها بسته ی PyGame را وارد می کنیم. برای انجام اینکار به صورت زیر عمل می کنیم:

خط اول ضروری ترین و مهمترین خط است. این خط تمامی ماژول هایی که در دسترس هستند را به بسته PyGame وارد می کند. خط دوم اختیاری و تنها برای ایجاد محدودیت به کار میرود.

نکته ی مهم دیگری که باید در ذهن خود داشته باشید این است که بسیاری از ماژول های PyGame اختیاری هستند. برای مثال ماژول قلم یک نمونه از این ماژول های اختیاری است! هنگامی که شما ؛PyGame را وارد می کنید؛ PyGame چک می کند تا ببیند که ماژول قلم ها در دسترس است یا خیر؟ اگر این ماژول در دسترس باشد به عنوان pygame.font وارد می شود ولی اگر در دسترس نباشد این اتفاق نمی افتد. این کار تست کردن اینکه در دسترس است یا نه را برای آینده آسان تر می کند.

آغاز کردن (Init)

قبل از اینکه شما بخواهید و یا بتوانید هیچ گونه کاری با PyGame انجام دهید نیاز دارید تا آنرا آغاز کنید. این کار بسیار آسان به به صورت زیر عملی است:

کد فوق تمامی ماژول های PyGame را آغاز می کند. البته شما نیازی به آغاز کردن تمامی ماژول ها ندارید و می توانید به صورت دستی خودتان ماژول های مورد نیاز را آغاز کنید. برای مثال: برای فقط آغاز کردن ماژول قلم ها از کد زیر استفاده میشود:

به منظور اینکه مطمئن شوید که ماژول مورد نظر آغاز شده و رد نشده باشد از تابع “get_init()” استفاده میشود که در صورتی که ماژول مورد نظر درست آغاز شده باشد مقدار درست (True) را بازگشت میدهد.

شما می توانید از تابع init() برای هر ماژول به تعداد چند بار استفاده نمایید.

خارج شدن (Quit)

همچنین ماژول هایی که آغاز شده اند همیشه یک تابع quit() دارند که عمل پاک کردن (خارح شدن!) را انجام میدهد. البته خود PyGame در هنگام پایان یافتن پایتون این کار را به صورت خودکار انجام میدهد.

خب. این مقاله هم به انتهای خودش رسید و امیدوارم که از نکات و موارد ذکر شده در آن حداکثر استفاده را بکنید.

هر گونه کپی برداری از این ترجمه ها تنها با ذکر نام مترجم (مصطفی سپهریان) و آدرس این سایت بلامانع است.

با تشکر

= - - - لینک های مرتبط با این مقاله - - - =

لینک مقالات به زبان اصلی

سایت PyGame و سایت Python

فروم های دنیای آینده برای پرسیدن سوالات و مشکلات

مقاله نخست: شروع بازی سازی با پایتون

پی نوشت: به تازگی به همراه برخی از دوستان در انجمن های سایت اوبونتوی ایرانی قصد داریم که شروع به انجام پروژه ای متن باز برای ساخت بازی های دوبعدی کوچک (مینی گیم) کنیم. شما هم می توانید به ما ملحق شوید.

پی نوشت ۲: می بخشید چون اول پست رو توی وبلاگم دادم اینجا لینک ها خراب هستن. سعی می کنم هرچه سریعتر درست کنم لینک ها رو.

_________________
تصوير
«پشتکار»«پشتکار»«پشتکار»


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: پنج شنبه 28 شهریور 1387, 3:27 pm 
آفلاين
مدیر انجمن های SDL , OGRE
مدیر انجمن های SDL , OGRE
نماد کاربر

تاريخ عضويت: جمعه 3 فروردین 1386, 6:05 pm
پست ها : 981
داده شد: 0 تشکر
دریافت شد: 0 تشکر
یه سوال.
اعتراضی ندارما!!
در ادامه این بحثها به SDL و OGRE مرتبط می شن.

_________________
<center>تصوير</center>


بالا
 مشخصات  
 
 موضوع پست:
پستارسال شده در: پنج شنبه 28 شهریور 1387, 3:51 pm 
آفلاين
مدیر انجمن
مدیر انجمن
نماد کاربر

تاريخ عضويت: يکشنبه 6 اسفند 1385, 1:30 pm
پست ها : 2055
محل سکونت: تو يه فلش مموري دو گيگ
داده شد: 0 تشکر
دریافت شد: 0 تشکر
Ehsan نوشته است:
یه سوال.
اعتراضی ندارما!!
در ادامه این بحثها به SDL و OGRE مرتبط می شن.
می بخشید. مشکل از من بود که اول توضیح ندادم. PyGame همون SDL هستش که برای پایتون نوشته شده!
توی سایتش هم که برید لوگوی SDL رو می بینید. حالا بعداً بیشتر خواهم گفت!
ممنون از یادآوریت استاد

_________________
تصوير
«پشتکار»«پشتکار»«پشتکار»


بالا
 مشخصات  
 
نمايش پست ها از پيشين:  مرتب سازي بر اساس  
پاسخ به مبحث  [ 8 پست ] 

همه زمانها با ساعت محلی UTC + 3:30 تنظیم شده اند


چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: - و 0 مهمان


شما نمي توانيد مبحث جديدي در اين انجمن ايجاد کنيد
شما نمي توانيد به مباحث در اين انجمن پاسخ دهيد
شما نمي توانيد پست هاي خود را در اين انجمن ويرايش کنيد
شما نمي توانيد پست هاي خود را در اين انجمن حذف کنيد
شما نمي توانيد فايل هاي پيوست در اين انجمن ارسال کنيد

جستجو براي:
پرش به:  
Powered by phpBB © 2007 phpBB Group
Persian Translation By : phpBBIran.com
Advance phpBB Persian support in www.phpBB.Maghsad.com