أطعم Pishi بإصبعك في Scratch
استخدم إصبع السبابة لتحريك الكرة، والتقاط السمكة، وإطعام Pishi في لعبة Scratch يتم التحكم فيها عبر الكاميرا.
مستوى الصعوبة
متوسط
الوقت التقديري
20–25 دقيقة
الإضافة
HANDPOSE
📖 ما الذي ستتعلّمه
- كيفية تتبع اليد لاكتشاف موضع طرف إصبع السبابة
- كيفية التحكم في كائن (sprite) في Scratch باستخدام إصبعك
- كيفية جعل كائن (sprite) يحمل كائناً آخر
- كيفية إنشاء لعبة نقاط محددة بوقت
- كيفية استخدام الرسائل المذاعة لجعل الشخصيات تتفاعل
🧰 ما الذي تحتاج إليه
- جهاز كمبيوتر أو حاسوب محمول مزود بكاميرا ويب
- متصفح Chrome، أو Firefox، أو Edge، أو أي متصفح حديث آخر
- Scratch على موقع Pishi.ai (ابدأ مشروعًا جديدًا)
- إضافة HandPose (اطّلع على دليل المساعدة)
- مساحة واضحة تكون فيها يدك مرئية للكاميرا
- كائنات Pishi و Fish و Ball المضمنة بالفعل في المشروع
يمكن لـ HandPose إرجاع إحداثيات X وY لكل keypoint من النقاط المرجعية لليد على منصة Scratch (Stage). في هذا المشروع، تُستخدم keypoint 8، وهي طرف إصبع السبابة، للتحكم في الكرة (Ball)، بحيث تتبع Ball موضع إصبعك على المنصة (Stage).
🛠️ أنشئ مشروعك
1. إعداد Pishi واللعبة
ضع Pishi على الجانب الأيسر من المنصة (Stage) وأنشئ ثلاثة متغيرات:
- score (النقاط)
- time (الوقت)
- locked
في كائن Pishi، اجعل score و locked مساوية لـ 0 عند نقر العلم الأخضر.
2. جعل الكرة تتبع إصبعك
أضف كائن Ball. ستعمل هذه الكرة كمؤشر يتبع طرف إصبع السبابة.
استخدم كتل HandPose الخاصة بـ X و Y مع:
- Keypoint: 8 (طرف إصبع السبابة)
- Hand number: 1
تضمن كتلة تعيين time إلى 0 بدء تتبع Ball لإصبعك فوراً عند بدء لعبة جديدة.
بينما تحرك إصبع السبابة أمام الكاميرا، تتبع Ball موقعها على المنصة (Stage).
3. إضافة السمكة (Fish)
أضف كائن Fish يحتوي على عدة مظاهر (costumes) للأسماك.
عند بدء اللعبة:
- صفّر المؤقت (Reset the timer)
- استمر في اللعبة حتى يصل المؤقت إلى 20 ثانية
- تحقق مما إذا كانت السمكة تلامس Ball
عندما تلامس Ball السمكة، اجعل المتغير locked مساوياً لـ 1.
بعد ذلك، طالما أن locked = 1، انقُل السمكة إلى الموضع X و Y الخاص بـ Ball.
هذا يجعل السمكة تبقى متصلة بـ Ball وتتبع طرف إصبعك بسلاسة أثناء تحريك يدك.
4. إنهاء اللعبة بعد انتهاء الوقت
داخل الحلقة نفسها (loop)، تحقق مما إذا كانت السمكة تلامس Pishi.
عندما تصل إلى Pishi:
- أعد تعيين locked إلى 0
- زِد score بمقدار 1
- أذِع الرسالة message1
- انقُل السمكة إلى موضع عشوائي
- غيّر إلى مظهر السمكة التالي
يؤدي ضبط locked على 0 إلى تحرير السمكة من Ball، بحيث يمكنها الظهور في مكان آخر على المنصة (Stage).
في كل مرة يتم فيها إطعام Pishi، تزداد النقاط (score) وتظهر سمكة جديدة في موضع مختلف. كما أن تغيير المظاهر (costumes) يجعل الأمر يبدو وكأن Pishi يتغذى على أنواع مختلفة من الأسماك.
5. إضافة المؤقت
أثناء تشغيل اللعبة، انسخ قيمة مؤقت (timer) Scratch باستمرار إلى المتغير time.
بعد 20 ثانية، اجعل المتغير time مساوياً لكلمة FINISH، ثم أذِع الرسالة message1.
يخبر استخدام FINISH الكائن Ball بالتوقف عن تتبع إصبع اللاعب ويخبر Pishi أن اللعبة قد انتهت.
6. جعل Pishi يتفاعل
عندما يستقبل Pishi الرسالة message1، اجعله ينتقل إلى costume2 لفترة وجيزة، ثم يعود إلى costume1.
إذا انتهت اللعبة:
- انقُل Pishi إلى وسط المنصة (Stage)
- اعرض النتيجة النهائية للاعب (final score)
يتفاعل Pishi الآن في كل مرة يأكل فيها سمكة ويعلن عن النتيجة (score) عندما ينتهي الوقت.
🚀 جرب مشروعك!
انقر على العلم الأخضر واسمح بالوصول إلى الكاميرا.
ثم:
- ارفع إحدى يديك أمام الكاميرا بحيث تكون ظاهرة بوضوح.
- حرك إصبع السبابة حتى تصل Ball إلى السمكة.
- احمل السمكة نحو Pishi.
- المَس Pishi بالسمكة لتسجيل نقطة.
- أطعم Pishi أكبر عدد ممكن من الأسماك قبل انتهاء المؤقت.
🤖 كيف يعمل؟
تتبع إضافة HandPose النقاط على يدك.
في هذا المشروع، تتبع:
طرف إصبع السبابة
↓يحدد HandPose الموضعين X و Y
↓تتحرك Ball إلى تلك الإحداثيات
↓تلامس Ball السمكة وتحملها
↓تصل السمكة إلى Pishi
↓يزداد الـ score
تمثل keypoint 8 طرف إصبع السبابة. يحول HandPose موقعها في الكاميرا إلى إحداثيات يمكن استخدامها مباشرة على منصة (Stage) Scratch.
💡 اجعله أفضل!
- التحكم في اللعبة باستخدام يد واحدة أو كلتا اليدين استخدم كتلة عدد الأيدي لاكتشاف ما إذا كانت يد واحدة أو يدان مرئيتين. على سبيل المثال، استخدم يداً واحدة لتحريك Ball واعرض سمكة مكافأة عند اكتشاف يدين.
- إضافة إيماءة بالأصابع استخدم كتلة المسافة بين النقاط المرجعية لاكتشاف تقارب الإبهام وطرف إصبع السبابة. يمكن لهذه الإيماءة تجميد السمكة، أو تفعيل مغناطيس، أو جمع سمكة قريبة تلقائياً.
- إنشاء مستوى صعوبة يتحكم به اللاعب استخدم كتلة الزاوية بين النقاط المرجعية لتغيير صعوبة اللعبة. على سبيل المثال، قد يؤدي تدوير يدك إلى جعل حركة الأسماك أسرع أو تقليل الوقت المتبقي.
- تحسين التتبع عند اختفاء اليد غيّر إعداد العودة عند عدم العثور على x/y. يمكنك جعل Ball تظل في موقعها الأخير أو نقلها إلى موضع آمن عندما لا تتمكن الكاميرا من اكتشاف طرف الإصبع.
- إضافة المزيد من الأسماك والمكافآت الخاصة أنشئ المزيد من مظاهر الأسماك أو استنساخها. أضف سمكة ذهبية تساوي ثلاث نقاط واجعلها تظهر فقط عند اكتشاف إيماءة يد خاصة.
🔗 شارك إبداعك
هل أنهيت مشروعك؟ غيّر الأسماك، والخلفية، والمؤقت، وقواعد النقاط لإنشاء لعبتك الخاصة لإطعام الكائن بالتحكم بالإصبع.
