موضوع: سؤال في سكريبتن اليونيتي التصادم

ردود: 14 | زيارات: 792
  1. #1
    عضو متميز
    صور رمزية cstlmode
    تاريخ التسجيل
    Jan 2008
    المنطقة
    morocco
    ردود
    1,222

    سؤال في سكريبتن اليونيتي التصادم

    السلام عليكم
    سؤال في سكريبتن اليونيتي لو سمحتو تساعدوني أريد أن أعمل تنشيط دائم ل function حاولت وضع السكربت في function FixedUpDate () أو function Update() لكن كان يرجعلي error
    هنا السكربت ما أحاول تنشيطه هنا هو دالة التصادم فهي تعمل فقط عند التلامس بين الجسمين لكن الشرط الآخر الذي فيه عدم تلامس بين الجسمين لايشغل وهذا لأن function OnCollisionStay(hit : Collision) تعمل فقط عند التلامس فهل من حل لتنشيطها أثناء عدم وجود تلامس

    كود:
    
    var tird : GameObject ;
    var player :  GameObject ;
    function FixedUpdate ()
    {
    player.transform.Translate(Input.GetAxis("Horizontal&quot.../100,0, Input.GetAxis("Vertical&quot.../100);}
    
    function OnCollisionStay(hit : Collision)
    { 
    if(hit.gameObject.tag == "sect&quot...
    {
    print("collision !!!&quot...;
    tird.transform.Rotate(0,20,0);
    }
    else if (hit.gameObject.tag != "sect&quot...
    {tird.transform.Rotate(20,0,0);
    print(" no collision !!!&quot...;
    \\هذا الشرط لا يعمل
    }
    }
    portfolio
    blogspot
    __________________________________
    و قال رسول الله صلى الله عليه وسلم مَثَلُ الْمُؤْمِنِينَ فِي تَوَادِّهِمْ وَتَرَاحُمِهِمْ وَتَعَاطُفِهِمْ مَثَلُ الْجَسَدِ؛ إِذَا اشْتَكَى مِنْهُ عُضْوٌ تَدَاعَى لَهُ سَائِرُ الْجَسَدِ بِالسَّهَرِ وَالْحُمَّى الْمُؤْمِن لِلْمُؤْمِنِ كَالْبُنْيَانِ يَشُدُّ بَعْضه بَعْضًا صدقت يا رسول الله و ابلغت الرسالة و اديت الامانة
    .::no pain no gain::.







  2. #2
    مشرف منبر Games Design
    صور رمزية general1
    تاريخ التسجيل
    Jun 2007
    ردود
    1,066
    ممكن ان نقوم بعمل طريقة مثل هذه :
    كود:
    var collisioned : boolean;
    
    function OnCollisionEnter()
    }
    if(hit.gameObject.tag == "sect&quot(
    }
    collisioned = true;
    {
    {
    
    function OnCollisionExit()
    {
    if(hit.gameObject.tag == "sect&quot(
    }
    collisioned = false;
    {
    }
    function Update()
    {
    if (!collisioned)
    {
    // هنا لم يتصادم المجسمان
    }
    }
    ملاحظة لم اجرب الكود ربما تجد اخطاء في الsyntax
    Egypt


    I Love Direct-X

    سبحان الله و بحمده سبحان الله العظيم
    اللهم صلي وسلم و بارك علي سيدنا محمد

  3. #3
    عضو متميز
    صور رمزية cstlmode
    تاريخ التسجيل
    Jan 2008
    المنطقة
    morocco
    ردود
    1,222
    كود:
    var tird : GameObject ;
    var player :  GameObject ;
    
    var collisioned : boolean;
    
    function OnCollisionStay(hit : Collision)
    {
    if(hit.gameObject.tag == "sect")
    {
    collisioned = true;
    }
    else if (hit.gameObject.tag != "sect")
    {
    collisioned = false;
    }
    }
    
    
    
     function OnCollisionExit(collisionexit : Collision)
    {
     if(collisionexit.gameObject.tag == "sect")
    {
    collisioned = false;
    }
    else 
    {
    collisioned = true;
    }
    }
    
    function Update()
    {
    player.transform.Translate(Input.GetAxis("Horizontal")/100,0, Input.GetAxis("Vertical")/100);
    if (collisioned==false)
    {
    
    tird.transform.Rotate(2,0,0);
    print(" no collision !!!");
    }
    else 
    {
    tird.transform.Rotate(0,2,0);
    print(" collision !!!");
    }
    }
    portfolio
    blogspot
    __________________________________
    و قال رسول الله صلى الله عليه وسلم مَثَلُ الْمُؤْمِنِينَ فِي تَوَادِّهِمْ وَتَرَاحُمِهِمْ وَتَعَاطُفِهِمْ مَثَلُ الْجَسَدِ؛ إِذَا اشْتَكَى مِنْهُ عُضْوٌ تَدَاعَى لَهُ سَائِرُ الْجَسَدِ بِالسَّهَرِ وَالْحُمَّى الْمُؤْمِن لِلْمُؤْمِنِ كَالْبُنْيَانِ يَشُدُّ بَعْضه بَعْضًا صدقت يا رسول الله و ابلغت الرسالة و اديت الامانة
    .::no pain no gain::.






  4. #4
    عضو متميز
    صور رمزية cstlmode
    تاريخ التسجيل
    Jan 2008
    المنطقة
    morocco
    ردود
    1,222
    شكرا لك يا أخي الكريم لق إعتمدت على فكرة كودك التي هي ذكيه وأنجزت هذا ونفع معي لك مني كل التقدير
    portfolio
    blogspot
    __________________________________
    و قال رسول الله صلى الله عليه وسلم مَثَلُ الْمُؤْمِنِينَ فِي تَوَادِّهِمْ وَتَرَاحُمِهِمْ وَتَعَاطُفِهِمْ مَثَلُ الْجَسَدِ؛ إِذَا اشْتَكَى مِنْهُ عُضْوٌ تَدَاعَى لَهُ سَائِرُ الْجَسَدِ بِالسَّهَرِ وَالْحُمَّى الْمُؤْمِن لِلْمُؤْمِنِ كَالْبُنْيَانِ يَشُدُّ بَعْضه بَعْضًا صدقت يا رسول الله و ابلغت الرسالة و اديت الامانة
    .::no pain no gain::.






  5. #5
    عضو متميز
    صور رمزية Pr MoHaMeD
    تاريخ التسجيل
    Jul 2010
    المنطقة
    الجزائر
    العمر
    22
    ردود
    1,204
    آسف على التأخر فطريقه جينيرال رائعه و ان احتجت سكريبت للفيزياء اخبرني سأعطيك
    كنت في المدرسه ههه
    تقبل تحياتي

  6. #6
    عضو متميز
    صور رمزية Pr MoHaMeD
    تاريخ التسجيل
    Jul 2010
    المنطقة
    الجزائر
    العمر
    22
    ردود
    1,204
    سأحاول ان كان لد
    ي وقت ان اصحح السكريبت الذي وضعته سأجربه و ان صححته سأخبرك
    تحياتي لك و ليجينرال

  7. #7
    عضو متميز
    صور رمزية naoufal
    تاريخ التسجيل
    Feb 2010
    المنطقة
    دولة الخلافة
    العمر
    23
    ردود
    1,141
    سلام يا اخوة اضن ان طريقة جينيرال جيدة وتحل مشكل
    ان اريد افهم كيف يعن هد جملة وبتفصيل
    Input.GetAxis("Horizontal&quot.../100,0, Input.GetAxis("Vertical&quot.../100);
    وماد تعني هد
    &quot..
    sect&quot...
    !!!&quot

    هل != تعن لا يساوي
    واخيرن اه هي gameobject.TAG
    gameObject.tag == "sect&quot...")

  8. #8
    مشرف منبر Games Design
    صور رمزية general1
    تاريخ التسجيل
    Jun 2007
    ردود
    1,066
    العلامة != تعني لا تساوي

    يعني مثلا

    var one = 1;
    var two = 2;
    if (one != two)
    }
    // ستكون النتيجة نعم
    {

    gameobject.TAG هذه عبار عن خاصية في اليونتي ان تعطي كل مجسم tag كعلامة او اسم , يعني مثلا تعطي لكل الاعداء tag يسمى enemy فيمكنك بسهولة ان تصل الى كل الأعداء بأن تبحث بواسطة الtag مثلا :

    GameObject.FindWithTag("enemy");

    يمكنك ان تعرف المزيد عن الtag من هنا :

    http://unity3d.com/support/documenta...agManager.html
    Egypt


    I Love Direct-X

    سبحان الله و بحمده سبحان الله العظيم
    اللهم صلي وسلم و بارك علي سيدنا محمد

  9. #9
    عضو متميز
    صور رمزية Pr MoHaMeD
    تاريخ التسجيل
    Jul 2010
    المنطقة
    الجزائر
    العمر
    22
    ردود
    1,204
    لقد سبقني جينرال دائما بسبب ضيق وقتي
    كما ققال الاخ جينرال يمكن للاعداء ان ترمز لهم بـ tag لتسهيل البحث عن الالعداء
    و لاي سؤال حول البرمجه انا حاضر على الرسائل او رد او موضوع و ايضا لكي لا تكتفي بما يوجد هنا ابحث في موقع اليونيتي فهو مليئ جدا ..
    تحياتي لكم

  10. #10
    عضو متميز
    صور رمزية Pr MoHaMeD
    تاريخ التسجيل
    Jul 2010
    المنطقة
    الجزائر
    العمر
    22
    ردود
    1,204
    ايضا توجد داله Input هي للازرار يمكن القرائه عليها في موقع اليونيتي
    و ايضا time & audio& & physics & player.............
    يمكن القرائه عليها هنا لمزيد من المعلومات
    http://unity3d.com/support/documenta...agerGroup.html

  11. #11
    عضو متميز
    صور رمزية naoufal
    تاريخ التسجيل
    Feb 2010
    المنطقة
    دولة الخلافة
    العمر
    23
    ردود
    1,141
    مشكووور يا حبايب والله لقيت اهتمام اكتر مما توقعت
    اك يا اخوة ممكن تقلولي

    Horizontal&quot.../100 Vertical&quot.../100
    يعن كيف
    &quot
    ولماد قيمة 100
    وشكرا للاهتمام

  12. #12
    مشرف منبر Games Design
    صور رمزية general1
    تاريخ التسجيل
    Jun 2007
    ردود
    1,066
    &quot اعتقد ان هذه خطأ في الموقع
    يعني الاخ كان كاتب كلام كتير و لكن تحول الى &quot لسبب او لآخر و ليس الكود هكذا
    Egypt


    I Love Direct-X

    سبحان الله و بحمده سبحان الله العظيم
    اللهم صلي وسلم و بارك علي سيدنا محمد

  13. #13
    عضو متميز
    صور رمزية naoufal
    تاريخ التسجيل
    Feb 2010
    المنطقة
    دولة الخلافة
    العمر
    23
    ردود
    1,141
    اه مشكووور اخي عل توضيح

  14. #14
    عضو متميز
    صور رمزية Pr MoHaMeD
    تاريخ التسجيل
    Jul 2010
    المنطقة
    الجزائر
    العمر
    22
    ردود
    1,204
    بالفعل هذا خطأ فهو كود كبير انا اسف لذلك اختصر يوم السبت سأرفقه لان النت انقطعت و انا في مقهى النت
    تحياتي لكم

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل