موضوع: مشكلة بالوقت - الأكواد موجودة احتاج لتعديل فقط-

ردود: 7 | زيارات: 977
  1. #1

    مشكلة بالوقت - الأكواد موجودة احتاج لتعديل فقط-

    http://www.4shared.com/rar/2ITyj53C/Desktop.html

    الأكواد موجودة في الرابط .
    time1>>كود الوقت
    time2>> كود القائمة

    الكود time 2 عند كلمة Here!!! مشكلتي
    عندي قائمة esey والهارد والميدوم , لمن نضغط على اي واحد من الثلاثه فإن المتغير gametime.timer
    يأخذ قيمة معينة وهي قيمة الوقت المتاح للعب هذا كلو تمام
    طيب في نفس القائمة في زر play ابغى لمن يضغط عليه يتحمل مشهد جديد وفي المشهد الجديد يظهر الوقت اللي حددنا قيمته في المشهد السابق
    حطيت الكود التالي :
    Application.LoadLevel("level1");
    gametime.RunTheTimer = true;
    لكن الوقت لم يظهر في المشهد الجديد اللي هو اللعبة
    كيف المشهد الجديد يتعرف على المتغير gametime.RunTheTimer ؟ يعني هل في شي ناقص المفروض نكتبه في المشهد الجديد عشان يصير فيه اتصال او تواصل بين مشهد القائمة ومشهد اللعبة حتى يسطتيع مشعد اللعبة التعرف على متغير الوقت واظهاره
    ماالعمل ؟
    احتاج حل سريع


  2. #2
    عضو متميز
    صور رمزية QatariGameDev
    تاريخ التسجيل
    Dec 2009
    المنطقة
    الدوحة - قطر
    العمر
    33
    ردود
    2,085
    هذا وين ؟ في Visual Basic أو تستخدمون محرك العاب ؟ ام ماذا @_@ ؟

    طيب ماهي لغة البرمجة ؟

    يرجى وضع تفاصيل بشكل دقيق حتى نساعدك.
    :: Social Services Links ::

    YOUTUBE
    TWITTER
    FACEBOOK

    I heard it once said that if 3D is our world then Script is the glue that holds it all together

  3. #3
    محرك الألعاب الوينتي
    البرمجة بالجافا سكربت
    عفوا نسيت وضع هذه الأشياء المهمه
    بانتظاركم

  4. #4
    انتظر مساعدتكم بفارغ الصبر ..

  5. #5
    عضو متميز
    صور رمزية Shiny Arrow
    تاريخ التسجيل
    Apr 2008
    المنطقة
    Egypt
    ردود
    1,066
    طيب انا هديك جواب عام نسبياً.

    ملحوظة قبل ما نبدأ : لما يتم استدعاء Scene/Level جديد بيتم تدمير كل الـGameObjects اللى فى الـScene اللى قبله وتنزل الـGameObjects الجديدة الخاص بالـScene ده..
    فمن الطبيعى ان السين التانى ميقدرش يوصل للمتغير ده لأن الـGameObject الموجود فيه تم تدميره.


    ______________________________________________________________________________________

    فإنت هتحتاج تستخدم الـFunction دى : DontDestroyOnLoad()
    واللى الـFunction دى بتعمله هو انها بتمنع تدمير الـObject المطلوب لما يتم إستدعاء Scene جديد.

    عملياً انت هتكتب كدة:
    كود:
    function Awake () {
            DontDestroyOnLoad (transform.gameObject);
        }
    زى ما هو موجود فى الـDocumentation, وهتكتبه فى الـScript الخاصة بالوقت .. اللى هى time1 على ما اعتقد.
    ______________________________________________________________________________________

    بس هتحتاج تبدل السطرين دول فى الـtime2
    كود:
    Application.LoadLevel("level1");
    gametime.RunTheTimer = true;
    خليهم كدة :
    كود:
    gametime.RunTheTimer = true;
    Application.LoadLevel("level1");
    تحسباً بس عشان لو ملحقش يوصلهم...

    بس كدة.

  6. #6
    عضو نشيط
    صور رمزية Sam-Ayoub
    تاريخ التسجيل
    Mar 2013
    المنطقة
    ســوريــا
    العمر
    26
    ردود
    450
    لا يمكن تشغيل التايمر قبل تحميل الScene الجديد
    إلا في حال استخدمت DontDestroyOnLoad في السكريبت الخاص بتشغيل التايمر..

    يعني مثل ما قال الاخ Shiny Arrow

    ضع RunTimer True قبل LoadLevel

  7. #7
    الله يعطيكم العافيه جميعا ..
    شككككرررا جزيلا ..

Bookmarks

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

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