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





صفحه اول انجمنها -> ساخت بازی با نرم افزار Unity -> سوال و جواب (رابط گرافیکی کاربر - GUI)
 

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

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


تاريخ عضويت: 2 شنبه 16 آذر 1388
تعداد ارسالها: 278
محل سكونت: کنار کامپیوتر


2 شنبه 1 فروردين 1390 - 08:55
پاسخ بصورت نقل قول
آقاemadgh,
دستت درد نکنه
گل کاشتی
امیدوارم مثل شما حرفه ای بشم.Very Happy
سال نو همتون مبارک باشه

_________________
هیچ وقت دعا نکن جای دیگران باشی زیرا در اینصورت جای تو خالی می ماند!
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

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


تاريخ عضويت: 4 شنبه 23 اسفند 1385
تعداد ارسالها: 59


3 شنبه 10 خرداد 1390 - 12:18
پاسخ بصورت نقل قول
چطوری می تونم یک GUI رو بندازم روی یک GUI دیگه ؟
من یک GUI Texture رسم کردم حالا اومدم توی محیط کد هم یک Button دیگه رسم کردم می خوام که اونی که با کد نوشتم بره زیر چکار کنم ؟
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


تاريخ عضويت: 2 شنبه 23 آذر 1388
تعداد ارسالها: 1034


3 شنبه 10 خرداد 1390 - 12:26
پاسخ بصورت نقل قول
hosseinscorpion,

تنها راهی که وجود داره اینه که بجای GUI Texture از دستور GUI.DrawTexture توی تابع OnGUI و قبل از ترسیم Button استفاده کنید ...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: 3 شنبه 8 دي 1388
تعداد ارسالها: 104
محل سكونت: تو بازی!


1 شنبه 9 مرداد 1390 - 22:15
پاسخ بصورت نقل قول
سلام یه سئوال خیلی مهم و عجیب دارم !

ببینید با مثال توضیح میدم تا راحتتر متوجه بشید و بهتر جوابم رو بدین !

فرض کنید یه توپ دارید (توپ جنگی) توپتون با کلید های جهت دار حرکت میکنه ، و با کلیدهای A,D لوله اش به چپ و راست میره و با کلیدهای W,S لوله اش با لا پایین میره
و دوربین پشت توپ قرار داره (تقریبا مثل بازی های سوم شخص)
، حالا شما یه گیم آبجکت خالی دارین که اسکریپت محل شلیک به اون متصل هست ( یعنی یه گیم آبجکت خالی که جلوی دهانه ی لوله ی توپ قرار داره و گلوله توپ از اون محل شلیک میشه)

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

من میدونم که واسه ساختن کورسر یا هدف گیر باید تکسچر یا عکس هدف گیر رو انتخاب کنم و بعد از منوی Component بهش یه Gui Texture نسبت بدم ، که بعدش جناب هدفگیر
وسط صفحه میاد و یه جورایی به دوربین وصله و هرجا بره اونم میره ، ولی به آبجکت وصل نیست ! پس با بازی های اول شخص فرق میکنه که کورسر رو به همین ترتیب تعریف میکردیم و بعد کورسر هرجا میرفت اسلحه هم میرفت .

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

به روش ساخت کورسر واسه بازی های اول شخص کورسر ساختم و اونو فرزند لوله قرار دارم ولی بازم اتفاقی نیافتاد (یعنی اصلا کورسر محو شد)


امید وارم توضیحاتم کامل بوده باشه لطفا کمکم کنید ... ممنون

_________________
http://gm-dev-design.weebly.com/index.html
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: 2 شنبه 23 آذر 1388
تعداد ارسالها: 1034


2 شنبه 10 مرداد 1390 - 01:15
پاسخ بصورت نقل قول
sobhan1991,

اول در مورد محو شدن Gui Texture بگم که مکان GUI روی صفحه با مقدار Position آبجکت رابطه مستقیم داره ... مقدار x و y ه position معمولا باید بین 0 و 1 باشن و مقدار z هم اولویت رندر gui Texture ها محسوب میشه ... ( بهتر شما بزاری همون 0 و 0 و0 و آبجکت رو child آبجکت دیگه نکنی )

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

كد:
Camera.main.WorldToScreenPoint(Vector3);


بجای Vector3 هم مکانی که از برخورد Ray بدست اومده رو بگذارید بعد این تابع یه Vector3 به شما برمیگردونه که میتونید تو تابع OnGUI اون Crosshair رو با استفاده از x , y اش رندر کنید ...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: 3 شنبه 8 دي 1388
تعداد ارسالها: 104
محل سكونت: تو بازی!


2 شنبه 10 مرداد 1390 - 05:46
پاسخ بصورت نقل قول
Unity3d جان ممنون از جوابت ولی چند تا مطلب !

شما گفتین : "محل برخورد گلوله محاسبه میشه و crosshair اونجا رندر میشه ، یعنی قبل از شلیک گلوله ، کورسر غیر فعاله ؟ ( منظورم اینه که تا گلوله شلیک نشه کورسر ظاهر نمیشه و درست عمل نمیکنه ؟؟؟؟)


بعد از کد هم نوشتین : " بجای وکتور3 مکانی که از برخورد ray بدست اومده رو بذارید بعد این تابع یه وکتور3 به شما برمیگردونه که میتونید تو تابع OnGui اون کورسر رو با استفاده از y,xاش رندر کنید ..."

خب من چطور این مکان رو پیدا کنم ؟!!! و کدش رو بنویسم ؟!!!!!

_________________
http://gm-dev-design.weebly.com/index.html
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: 2 شنبه 23 آذر 1388
تعداد ارسالها: 1034


2 شنبه 10 مرداد 1390 - 11:46
پاسخ بصورت نقل قول
نقل قول:
شما گفتین : "محل برخورد گلوله محاسبه میشه و crosshair اونجا رندر میشه ، یعنی قبل از شلیک گلوله ، کورسر غیر فعاله ؟ ( منظورم اینه که تا گلوله شلیک نشه کورسر ظاهر نمیشه و درست عمل نمیکنه ؟؟؟؟)


نقل قول:
بعد از کد هم نوشتین : " بجای وکتور3 مکانی که از برخورد ray بدست اومده رو بذارید بعد این تابع یه وکتور3 به شما برمیگردونه که میتونید تو تابع OnGui اون کورسر رو با استفاده از y,xاش رندر کنید ..."

خب من چطور این مکان رو پیدا کنم ؟!!! و کدش رو بنویسم ؟


نه اصلا ربطی به شلیک نداره ...
شما توی Update یه raycast بنداز و مکان برخورد رو بگیر ...
توی manual کلمه raycast رو سرچ کن نمونه کد گذاشته ...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: جمعه 7 مرداد 1390
تعداد ارسالها: 4


2 شنبه 10 مرداد 1390 - 13:01
پاسخ بصورت نقل قول
سلام
يه سوال داشتم اينه كه چطور ميشه رابط گرافيكي نشان دادن يك دايره باشه كه با انجام كاري ان دايره به صورت دوراني رنگش تغير كنه بهترين مثال رزيدنت اويل 4و 5 است كه خون كاراكتر يه دايره است كه با اسيب ديدن شخصيت رنگ سبز به صورت چرخشي كم ميشه Laughing
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: 3 شنبه 8 دي 1388
تعداد ارسالها: 104
محل سكونت: تو بازی!


2 شنبه 10 مرداد 1390 - 14:26
پاسخ بصورت نقل قول
Unity3D نوشته:
نقل قول:
شما گفتین : "محل برخورد گلوله محاسبه میشه و crosshair اونجا رندر میشه ، یعنی قبل از شلیک گلوله ، کورسر غیر فعاله ؟ ( منظورم اینه که تا گلوله شلیک نشه کورسر ظاهر نمیشه و درست عمل نمیکنه ؟؟؟؟)


نقل قول:
بعد از کد هم نوشتین : " بجای وکتور3 مکانی که از برخورد ray بدست اومده رو بذارید بعد این تابع یه وکتور3 به شما برمیگردونه که میتونید تو تابع OnGui اون کورسر رو با استفاده از y,xاش رندر کنید ..."

خب من چطور این مکان رو پیدا کنم ؟!!! و کدش رو بنویسم ؟


نه اصلا ربطی به شلیک نداره ...
شما توی Update یه raycast بنداز و مکان برخورد رو بگیر ...
توی manual کلمه raycast رو سرچ کن نمونه کد گذاشته ...


Unity3D جان من که پاک گیج شدم ! میشه به پیام های شخصیت یه نگاه بندازی؟
ممنون.

_________________
http://gm-dev-design.weebly.com/index.html
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


تاريخ عضويت: جمعه 7 مرداد 1390
تعداد ارسالها: 4


5 شنبه 13 مرداد 1390 - 21:07
پاسخ بصورت نقل قول
لطفا يكي جواب بده
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

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


 
پرش به:  


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


unity3d

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