اذهب إلى المحتوى
  • 0

مشكلة في عدم عمل الكود لتحريك شخصية في اليونيتي

Im Drox

السؤال

السلام عليكم عندي سؤال 

انا جديد في اليونتي و البرمجة 

فعندما اكتب كود لتحريك الشخصية باستعمال الفيجوال ستوديو لا يعمل على الشخصية (مكعب)

رغم ان الكود صحيح و عندما اضغط على ازرار الكيبورد لا يعمل اتمنى ان تساعدوني 

16787270560526185501419188233644.jpg

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

من الصعب تحديد سبب المشكلة بدون رؤية الكود أرجو مشاركة الكود الخاص بك والذي به المشكلة.

 

وحاول تشغيل البرنامج في وضع التصحيح (Debugging mode) لمعرفة ما إذا كان هناك أي أخطاء في الكود.

على أي حال، إليك طريقة لكتابة كود لتحريك الشخصية في اليونيتي باستخدام الفيجوال ستوديو، يمكن إتباع الخطوات التالية:

1- قم بفتح الفيجوال ستوديو وإنشاء مشروع جديد.

2- قم بإنشاء كائن الشخصية (GameObject) الذي تريد تحريكه. يمكنك القيام بذلك عن طريق النقر بزر الماوس الأيمن على الهيكلية (Hierarchy) واختيار "Create Empty" ثم إعطائه اسمًا مناسبًا.

3- ثم، يمكنك إضافة مكون الحركة (Movement Component) إلى الشخصية التي أنشأتها. للقيام بذلك، قم بالنقر بزر الماوس الأيمن على كائن الشخصية، واختر "Add Component"، ثم ابحث عن مكون الحركة (Movement Component) واضغط على إضافة (Add).

4- الآن، يمكنك كتابة الكود اللازم لتحريك الشخصية. هناك العديد من الأساليب المختلفة التي يمكن استخدامها لتحريك الشخصية، وسنقدم لك مثالًا بسيطًا:

using UnityEngine;

public class MoveObject : MonoBehaviour {
    public float speed = 5.0f; // سرعة الحركة

    // يتم استدعاء هذا الدالة في كل إطار للعبة
    void Update() {
        // حصول على محور الحركة الرأسي والأفقي
        float horizontalInput = Input.GetAxis("Horizontal");
        float verticalInput = Input.GetAxis("Vertical");

        // إنشاء Vector3 جديد لتحديد الاتجاه الذي يجب تحريك الشخصية عليه
        Vector3 movementDirection = new Vector3(horizontalInput, 0, verticalInput);

        // تحريك الشخصية باتجاه المحور المحدد وبسرعة تعادل السرعة التي تم تحديدها
        transform.position += movementDirection * speed * Time.deltaTime;
    }
}

5- بعد الانتهاء من كتابة الكود، يمكن حفظه وتشغيل اللعبة للتحقق من تحريك الشخصية بشكل صحيح.

الكود السابق يعمل على تحريك الشخصية (المكعب) عند الضغط على الأسهم بلوحة المفاتيح. يتم استدعاء الدالة "Update" في كل إطار للعبة، وتستخدم لجمع إدخالات اللاعب من لوحة المفاتيح وتحديد الاتجاه الذي يجب تحريك الشخصية عليه، ثم تقوم بتحريك الشخصية باتجاه المحور المحدد بناءً على الاتجاه الذي حدده اللاعب.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

شكرا لكن المشكل الذي لدي ليس بالكود نفسه بل بالغيمبلاي لأنني عندما اضغط بدأ اللعبة و احاول التحكم باللاعب لا يعمل ولا اعرف سبب عدم عمل الحركة

16787316911901215572507317992444.jpg

16787317722784185486682261506016.jpg

تم التعديل في بواسطة Im Drox
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 59 دقائق مضت قال Im Drox:

شكرا لكن المشكل الذي لدي ليس بالكود نفسه بل بالغيمبلاي لأنني عندما اضغط بدأ اللعبة و احاول التحكم باللاعب لا يعمل ولا اعرف سبب عدم عمل الحركة

أرجو مشاركة الكود الذي تعتقد أن به مشكلة من خلال الضغط على علامة <> في محرر النص هنا.

ربما السبب  المشكلة  في اتصال الكود بالشخصية (المكعب) في اللعبة. يمكنك التأكد من أن الكود مرتبط بالشخصية بشكل صحيح، عن طريق التحقق من الأشياء التالية:

1- تأكد من أن المكعب المراد تحريكه لديه مكون "Rigidbody" مرتبط به في Unity، لأنه يسمح للشخصية بالتفاعل مع قوى الفيزياء في العالم الافتراضي.

2- تأكد من أن مكون "Collider" مرتبط بالشخصية، لأنه يمكنه التفاعل مع العناصر الأخرى في اللعبة.

3- تأكد من أن كود الحركة المذكور في السؤال مضاف إلى كائن يمثل الشخصية (المكعب) في Unity.

4- تأكد من أن الحركة المراد تطبيقها على الشخصية تم تحديدها بشكل صحيح في الكود، بحيث تتناسب مع اتجاه الحركة المراد تطبيقها.

5- تأكد من أن أي شروط أخرى قد تؤثر على الحركة (مثل تعليق أو إيقاف تشغيل الحركة) تم حلها.

وإذا لم يعمل ذلك، فيمكنك مراجعة مستندات Unity.

وأيضًا يمكنك مشاهدة المقال التالي:

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...