لوضع مصفوفة من نوع  GameObject
	كود PHP:
	
var  arrayofgameobject  :  GameObject[] ; 
 
هنا عدد GameObject غير محدد  
-----------------------------------------------------------------------------------------------------------------
ماذا لو اردنا وضع عدد  لــــ GameObject 
 مثلا يكون 20 GameObject في مصفوفة arrayofgameobject
ملاحظه
 (في المصفوفه يتم العد من الرقم صفر  انظر  => 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 فيصبح المجموع 20 خانة)
  لاضافة عدد  20 GameObject هذا السكربت سيعطيك خطأ  
	كود PHP:
	
var  arrayofgameobject  :  GameObject[19] ; 
 
لاضافة عدد  20 GameObject وهذا السكربت  الصحيح  
	كود PHP:
	
var arrayofgameobject  : GameObject[]= new  GameObject[19] ; 
 
 الان قارن بين السكربت الصحيح والسكربت الخطأ 
 قبل ان ننطلق في شرحنااا 
يجب ان تعرف كيف تحدد  طول هذه المصفوفة  واقصد عدد GameObject في مصفوفة arrayofgameobject 
 من خلال الامر التالي 
	كود PHP:
	
print(arrayofgameobject.Length) 
 
-----------------------------------------------------------------------------------------------------------------
 الان كيف احدد  GameObject معين  في مصفوفة arrayofgameobject 
 يتم ذلك بتحدد الخانة لهذه   GameObject
	كود PHP:
	
arrayofgameobject [4] 
 
بعد ان حددنا GameObject في السكربت السابق ماذا بعد
 
صلو على النبي علشان نكمل
 نريد مثلا استدعاء اسم هذا القيم GameObject وطباعة
 فنكتب التالي 
	كود PHP:
	
print(arrayofgameobject[4].name); 
 
 نريد ان نحدد مثلا  موقعه وطياعتة
	كود PHP:
	
print(howmany[0].transform.position); 
 
-----------------------------------------------------------------------------------------------------------------
الان نريد ان نحدد GameObject  ونضعهم في مصفوفة باسم arrayofgameobject 
 عن طريق tag  لهذا GameObject  
 نضع مربع  ودائره  واسطوانة  ونغير  التاج  لهم  ونجعله  tag من نوع Player
 الان نضع هذا السكربت 
	كود PHP:
	
var arrayofgameobject  : GameObject[] ;
function Start () {arrayofgameobject  = GameObject.FindGameObjectsWithTag("Player")  ;} 
 
 الان ادخلناهم  في المصفوفة 
  وماذا بعد
 اذكرو الله  اولا.... ثم نعود للشرح
 مثلا نريد طباعة جميع اسماء GameObject في مصفوفة التي تحمل اسم nameofgameobject
 نسختدم هذا السكربت
	كود PHP:
	
for(var nameofgameobject : GameObject in arrayofgameobject ){print(nameofgameobject.name);} 
 
 هنا قمنا بتعريف متغير باسم nameofgameobject  وحددنا نوعه وهو GameObject 
 وقلنا له ان هذا nameofgameobject   يساوي GameObject   الاول في مصفوفة arrayofgameobject
ولكن for سوفة تستمر بالدوران وتجل nameofgameobject  يساوي   GameObject   الثاني في مصفوفة arrayofgameobject
 وهكذا  سيكون هنالك  loop    خلال  الامر  () for
 
الان  سنرى طريقة  اخرى ::::
 او نستخدم هذا السكربت
	كود PHP:
	
for(var i =0 ;i < arrayofgameobject.Length ; i++){print(arrayofgameobject[i].name);} 
 
 الان قارن بين السكربتين
سيتم التحديث قريبااااااااااااااااااا  والتفصيل اكثر  رقم 1  
لقد تعرفنا على طريقة اضافة GameObject باستخدام tag  الي مصفوفة باسم arrayofgameobject  
	كود PHP:
	
var arrayofgameobject  : GameObject[] ;
function Start () {arrayofgameobject  = GameObject.FindGameObjectsWithTag("Player")  ;} 
 
 الان سنتعرف على طريقة اخرى  لاضافة GameObject   الي مصفوفة باسم arrayofgameobject  
 سنحتاج الي تحديد عدد معين من الخانات هكذا 
	كود PHP:
	
var arrayofgameobject  : GameObject[]= new  GameObject[19] ; 
 
بالتالي سينتج لنا  20 خانة فاضية  تستوعب  عدد 20 GameObject
 ثم نقوم بملأ هذه الخانات  بـــGameObject نحدده بعينة ويتم ذلك
 طريقة تحديد GameObject بعينة يتم بهذا الكود .... بسحب الكائن وافلاته
	كود PHP:
	
var anygameobject  :  GameObject ; 
 
او 
بالبحث عن الكائن عن طريقة اسمه 
	كود PHP:
	
var anygameobject : GameObject;anygameobject = GameObject.Find("اسم الكائن"); 
 
 الان استطعنا تحديد  GameObject بالطريقتين السابقتين   سوف ندخلة الي مصفوفة باسم arrayofgameobject  
ويكون الكود كالتالي 
	كود PHP:
	
var  arrayofgameobject  :  GameObject[] = new GameObject[19]; ;var anygameobject  :  GameObject ;
function Start () {arrayofgameobject[4]=anygameobject ;} 
 
او
	كود PHP:
	
var  arrayofgameobject  :  GameObject[] = new GameObject[19]; ;var anygameobject : GameObject;anygameobject = GameObject.Find("اسم الكائن");
function Start () {arrayofgameobject[4]=anygameobject ;} 
 
 قارن بين الاثنين:::::: انتهيت من المقارنه صلي على النبي واذكر الله نرجع لدرسنااااااا
  الان رئيتهم الية  ادخال  GameObject في الخانة رقم 4  .......
ملاحظه ( يمكن عمل  ما ذكر سابقا  بسحب GameObject وافلاته في الخانة رقم  4 مباشره )
سيتم التحديث قريبااااااااااااااااااا  والتفصيل اكثر  رقم 2 
--------------------------------------------------------------------------------------------------------
  الان سنطبق كل ما تعلمناه في سكربت واحد  .....  سنصنع سكربت  وضيفة
ان يقوم باللتقاط كل  GameObject   نحدده  عليه بالفأره  ونضغط على زر الماوس الايسر
فيتم ادخال هذا  GameObject    في مصفوفة لمرة واحد فقط ...........
 
بالبداية نحدد  المصفوفة وعدد الخانات   ونضي ايضا متغير  لتحديد رقم الخانة  ويكون هذا المتغير  من نوع int  
	كود PHP:
	
var  arrayofgameobject  :  GameObject[] = new GameObject[19]; var numberofgameobjectinarray = 0; 
 
 الان نضع دالة  function Update  ونضع بداخلها شرط  ...
 اذا تم الضغط على الزر الايسر من الفاره   Input.GetButtonDown ("Fire1") 0_0
سيتم استدعاء دالة إضافة GameObject للمصفوفه وهي باسم getgameobjectandPutinarray() 0_0
 ويكون الكود كالتالي 
	كود PHP:
	
var  arrayofgameobject  :  GameObject[] = new GameObject[19]; var numberofgameobjectinarray = 0; function Update() {if (Input.GetButtonDown ("Fire1")) { getgameobjectandPutinarray(); }  } 
 
 الان نقوم بكتابة  دالة getgameobjectandPutinarray المختصه في   إضافة GameObject الي المصفوفة 
	كود PHP:
	
function getgameobjectandPutinarray() {
 } 
 
اولا نقوم بتحديد  احداثي مؤشر الفارة   واللذي  يبتدي او  ينطلق من الكاميرا   بهذا الكود 
بذلك  نكون عرفنا   متغير  نوعة  احداثي Vector3 .....( وضيفتة ان يقوم بتحديد موقع مؤشر الفاره بالنسبة للكاميرا )
	كود PHP:
	
var ray = Camera.main.ScreenPointToRay (Input.mousePosition); 
 
ثانيا نعرف متغير من نوع شعاع تصادمي   ... (وضيفته ان يقوم بجلب المعلومات عن  المجسمات التي اصتدمت به)
 بهذا الكود
	كود PHP:
	
  var hit : RaycastHit; 
 
 الان نضع شرط  اذا اصتدم الشعاع  بــGameObject  يتم  جلب هذا ال GameObject  ووضعة في مصفوفة
نكتب الكود الشرط بهذه الطريقة
	كود PHP:
	
  if (Physics.Raycast (ray, hit)) 
 ملاحظه  (لوضع شعاع التصادم يتطلب منك  ثلاث اوامر   على الاقل 
الاول تحديد مكان شعاع التصادم اللذي ينطلق منه  والامر الثاني يطلب منك تحديد  اتجاه انطلاقة  وقد استخدمنا  ray لذلك الامرين
واما الامر الثالث فهو يطلب منك طول هذا الشعاع  وقد وضعنا  او استخدمنا  hit لذلك وهذا يعني انه  طولة الي ماله نهاية وبدايته من الكاميرا  المفعلة)
 
بذلك نحصل على الكود الابتدائيه بهذه الصوره 
	كود PHP:
	
function getgameobjectandPutinarray() {    var ray = Camera.main.ScreenPointToRay (Input.mousePosition);   var hit : RaycastHit;    if (Physics.Raycast (ray, hit))        {        هنا سنع بعض الاوامر  لاضافة القيم اوبجكت لمره واحده فقط        { 
 } 
 
 الان  نكمل في   اوامر اضافة الجيم اوبجكت عن اصتدامه بالشعاع وإضافة الي المصفوفة  لمره واحده فقط
اولا قبل اضافة الجيم اوبجكت نحدد هل هو موجود في المصفوفة او لا
 عن طريق عمل loop  لاستعراض جميع الجيم اوبجكت في المصفوفة ومقارتنتها بالجيم اوبجكت اللذي اصتدم بالشعاع هل يساوي او لا
 بهذا الكود 
	كود PHP:
	
              for(var i = 0;i < arrayofgameobject.length;i++)        {         if(hit.collider.gameObject == arrayofgameobject[i])          return;              } 
 
 هنا الاحتمال الاول ::
 ستم عمل لوب اوستعراض جميع الجيم اوبجكت وماقرنتها مع  الجيم اوبجكت اللذي اصتدم به الشعاع
فاذا كان  احد هذه الجيم اوبجكت  يساويه 
فانه  الامر return  سيوقف عمل loop  والدالة بالكامل
 ولن يتم قراة الدالة function getgameobjectandPutinarray بالكامل 
 هنا الاحتمال الثاني::
 ستم عمل لوب اوستعراض جميع الجيم اوبجكت وماقرنتها مع  الجيم اوبجكت اللذي اصتدم به الشعاع
فاذا كان  احد هذه الجيم اوبجكت  لا يساويه 
فانه  الامر return  لن يعمل وسوف تستمر loop الي النهاية ثم سيتم قراءة الدالة function getgameobjectandPutinarray   بالكامل
 وهنا مربط الفرس   اذا  كان الاحتمال الثاني صحيح  فاننا  نضع هذا الامر لاضافة الجيم اوبجكت الي المصفوفة
	كود PHP:
	
           arrayofgameobject[numberofgameobjectinarray] = hit.collider.gameObject;           numberofgameobjectinarray++; 
 
 الان  نضع السكربت دالة function getgameobjectandPutinarray  بالكامل 
	كود PHP:
	
function getgameobjectandPutinarray() {    var ray = Camera.main.ScreenPointToRay (Input.mousePosition);   var hit : RaycastHit;    if (Physics.Raycast (ray, hit))        {              for(var i = 0;i < arrayofgameobject.length;i++)        {         if(hit.collider.gameObject == arrayofgameobject[i])          return;              }              arrayofgameobject[numberofgameobjectinarray] = hit.collider.gameObject;           numberofgameobjectinarray ++;                             } 
 } 
 
 والان نضيف السكربت بالكامل  
	كود PHP:
	
var  arrayofgameobject  :  GameObject[] = new GameObject[19]; var numberofgameobjectinarray = 0; function Update() {if (Input.GetButtonDown ("Fire1")) { getgameobjectandPutinarray(); }  }
function getgameobjectandPutinarray() {    var ray = Camera.main.ScreenPointToRay (Input.mousePosition);   var hit : RaycastHit;    if (Physics.Raycast (ray, hit))        {              for(var i = 0;i < arrayofgameobject.length;i++)        {         if(hit.collider.gameObject == arrayofgameobject[i])          return;              }              arrayofgameobject[numberofgameobjectinarray] = hit.collider.gameObject;           numberofgameobjectinarray ++;                             } 
 } 
 
انتهى  الدرس  سيييي يووووو
 وهذه اضافة لمن طبقو  الدرس 
	كود PHP:
	
               if(numberofgameobjectinarray<arrayofgameobject.length-1)             
   numberofgameobjectinarray ++;