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





صفحه اول انجمنها -> ساخت بازی با نرم افزار Unity -> دسترسی آبجکت در آرایه ای از اعداد
 

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

دسترسی آبجکت در آرایه ای از اعداد
نويسنده
پيغام
pro 3dgame studio7
بازی ساز
بازی ساز


تاريخ عضويت: شنبه 19 مرداد 1387
تعداد ارسالها: 199


جمعه 27 بهمن 1391 - 15:03
پاسخ بصورت نقل قول
سلام دوستان
یه آرایه تک بعدی دارم که 5 تا عضو داره و نوعش هم int هست.
حالا 5 تا هم آبجکت دارم . مقدار بردار x مربوط به هر آبجکت رو ریختم توی آرایه .با استفاده از حلقه for
تا اینجاش که مشکلی ندارم .
میخوام بدونم چطوری به صورت خیلی سریع میشه به آبجکتی که در عنصر مثلا سوم آرایه هست دسترسی داشت؟ یعنی کدوم آبجکت بوده که رفته نشسته جای عنصر سوم آرایه؟
اینو هم میدونیم که آرایه ی ما عنصرهاش int هستن نه آبجکت.
اگر به همراه کد نمونه توضیح بدید خیلی بهتره.
ممنون. Very Happy
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


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


جمعه 27 بهمن 1391 - 16:46
پاسخ بصورت نقل قول
سلام

pro 3dgame studio7,

واضحتر بگو ، من که متوجه نشدم!
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل
 

توضیح
نويسنده
پيغام
pro 3dgame studio7
بازی ساز
بازی ساز


تاريخ عضويت: شنبه 19 مرداد 1387
تعداد ارسالها: 199


جمعه 27 بهمن 1391 - 22:25
پاسخ بصورت نقل قول
یه آرایه دارم با 5 تا عنصر ،
حالا 5 تا هم آبجکت دارم مثلا cube هستن.

که اومدم مقدار بردار موقعیت x ، هر کدوم از آبجکت ها رو ریختم توش.
كد:

public  int[] IntArray ;
      GameObject[] Box ;
      Box = GameObject.FindGameObjectsWithTag("Cube");
       foreach(GameObject Cube in Box)
        {
         IntArray[ (int)(Cube.transform.position.x)];
      }


مثلا خروجیش اینه:
0و1و2و3و4و5
خوب حالا یه آرایه دارم که مقادیر int داره ولی این کاره منو راه نمیندازه .
من میخوام بفهمم که مثلا عدد 4 که الان عضو چهارم این آرایه هست ، مربوط به کدوم آبجکت بوده .یعنی این عدد 4 ، موقعیت ایکسه کدوم آبجکت بوده ؟

شاید اصلا روش من اشتباهه!!! ، شما یه جور دیگه که میدونید اصولی تره بهش نگاه کنید .
ممنون.

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

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


تاريخ عضويت: شنبه 2 مهر 1390
تعداد ارسالها: 161


جمعه 27 بهمن 1391 - 23:36
پاسخ بصورت نقل قول
کلا فکر می کنم نگاهی که به قضیه دارید اشتباهه. اما من نمی دونم مسئله ی شما چیه پس شایدم دارید درست کار می کنید. اما برای حل این مشکل یک راه حل ساده اینه که یک کلاس custom تعریف کنید که یک int و gameObject درش داره. به این ترییب موقعیت هر کدوم رو در int بریزید و خود گیم آبجکتم بهش بدید تا بعدا بتوانید بفهمید مال کدوم آبجکت بوده.

_________________
امید خودتو هیچوقت از دست نده . وگرنه بدان هیچوقت موفق نخواهی شد...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

نويسنده
پيغام
pro 3dgame studio7
بازی ساز
بازی ساز


تاريخ عضويت: شنبه 19 مرداد 1387
تعداد ارسالها: 199


شنبه 28 بهمن 1391 - 00:27
پاسخ بصورت نقل قول
ممنون از راهنماییتون
همین کلاسی که گفتید رو برام پیاده کنید ممنون میشم. Very Happy
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


تاريخ عضويت: شنبه 2 مهر 1390
تعداد ارسالها: 161


شنبه 28 بهمن 1391 - 22:18
پاسخ بصورت نقل قول
برای مثال کد ساده ی زیر کاری شبیه به آنچه می خواستید انجام می دهد.
كد:


public class Container
{
   public int x;
   public GameObject obj;
}

public class Test : MonoBehaviour {
   
   Container[] objs;
   
   void Start ()
   {
      objs = new Container[2]{new Container(),new Container()};
      objs[0].x = (int)transform.position.x;
      objs[0].obj = gameObject;
   }
}



حال هر موقع خواستید بدانید که x کدام آبجکت بوده کافی است از obj که در کلاس هست بفهمید.

_________________
امید خودتو هیچوقت از دست نده . وگرنه بدان هیچوقت موفق نخواهی شد...
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي
 

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


 
پرش به:  


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


unity3d

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