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

السؤال

Recommended Posts

  • 1
نشر

لتشغيل موسيقى متكررة لكل خلفية بشكل منفصل دون تداخل في برنامج سكراتش (Scratch)، يمكنك استخدام الكائنات (Sprites)، القوائم (Lists)، أو المتغيرات للتحكم في تشغيل الموسيقى بناء على الخلفية المعروضة، أضف الخلفيات المختلفة إلى المسرح (Stage) في سكراتش، على سبيل المثال، خلفية1، خلفية2، خلفية3 ثم تأكد من تسمية الخلفيات بشكل واضح (مثل "Background1"، "Background2") لتسهيل الإشارة إليها، ثم قم بتحميل ملفات صوتية (موسيقى) إلى سكراتش لكل خلفية حيث يمكنك فعل ذلك من خلال علامة تبويب "الأصوات" (Sounds) في المسرح أو كائن معين ثم بتسمية الأصوات بشكل يربطها بالخلفيات، مثل "Music1" للخلفية1، "Music2" للخلفية2، وهكذا ومن ثم أنشئ متغيرًا يُسمى مثلاً "CurrentBackground" لتتبع الخلفية المعروضة حاليًا، عند تغيير الخلفية، قم بتحديث قيمة هذا المتغير لتعكس اسم الخلفية الحالية أو رقمها ثم في المسرح (Stage)، استخدم كتلة "عندما يتغير الخلفية إلى" (When backdrop switches to) للكشف عن تغيير الخلفية ثم أضف كتلة "إيقاف جميع الأصوات" (Stop all sounds) قبل تشغيل الموسيقى الجديدة لضمان عدم تداخل الأصوات ثم استخدم كتلة "تشغيل الصوت بشكل متكرر" (Play sound until done) أو "بدء الصوت" (Start sound) مع اختيار الصوت المرتبط بالخلفية الحالية ثم لجعل الموسيقى تتكرر، يمكنك إما استخدام ملف صوتي يحتوي على تكرار مدمج، أو إضافة كتلة "كرر باستمرار" (Forever loop) حول كتلة تشغيل الصوت.

  • 0
نشر

من خلال إنشاء متغير وتحديد قيمة له للإشارة إلى رقم الخلفية الحالية وعند الإنتقال للخلفية التالية يتم تعديل قيمة ذلك المتغير، ثم تشغيل وإيقاف الأصوات بناءًا على حلقة تكرار دائمة وشرط if.

لكن لو أضفت عدد خلفيات كبير فالأفضل استخدام الأحداث بمعنى إرسال حدث باسم الخلفية 2 مثلاً ثم تشغيل الصوت بناءًا على ذلك الحدث عند استقباله.

  • 0
نشر
بتاريخ On 26‏/4‏/2025 at 17:50 قال بلال زيادة:

لتشغيل موسيقى متكررة لكل خلفية بشكل منفصل دون تداخل في برنامج سكراتش (Scratch)، يمكنك استخدام الكائنات (Sprites)، القوائم (Lists)، أو المتغيرات للتحكم في تشغيل الموسيقى بناء على الخلفية المعروضة، أضف الخلفيات المختلفة إلى المسرح (Stage) في سكراتش، على سبيل المثال، خلفية1، خلفية2، خلفية3 ثم تأكد من تسمية الخلفيات بشكل واضح (مثل "Background1"، "Background2") لتسهيل الإشارة إليها، ثم قم بتحميل ملفات صوتية (موسيقى) إلى سكراتش لكل خلفية حيث يمكنك فعل ذلك من خلال علامة تبويب "الأصوات" (Sounds) في المسرح أو كائن معين ثم بتسمية الأصوات بشكل يربطها بالخلفيات، مثل "Music1" للخلفية1، "Music2" للخلفية2، وهكذا ومن ثم أنشئ متغيرًا يُسمى مثلاً "CurrentBackground" لتتبع الخلفية المعروضة حاليًا، عند تغيير الخلفية، قم بتحديث قيمة هذا المتغير لتعكس اسم الخلفية الحالية أو رقمها ثم في المسرح (Stage)، استخدم كتلة "عندما يتغير الخلفية إلى" (When backdrop switches to) للكشف عن تغيير الخلفية ثم أضف كتلة "إيقاف جميع الأصوات" (Stop all sounds) قبل تشغيل الموسيقى الجديدة لضمان عدم تداخل الأصوات ثم استخدم كتلة "تشغيل الصوت بشكل متكرر" (Play sound until done) أو "بدء الصوت" (Start sound) مع اختيار الصوت المرتبط بالخلفية الحالية ثم لجعل الموسيقى تتكرر، يمكنك إما استخدام ملف صوتي يحتوي على تكرار مدمج، أو إضافة كتلة "كرر باستمرار" (Forever loop) حول كتلة تشغيل الصوت.

السلام عليكم أخي بلال

طبقت كلامك - على حد فهمي - لكن المشكلة أن الأصوات مازالت تتداخل

هل التطبيق صحيح

وإن لم يكن أرجو الإشارة إلى المشكلة

 

لقطة شاشة 2025-05-07 124525.png

  • 0
نشر
بتاريخ 2 ساعة قال Omar Ahmed56:

السلام عليكم أخي بلال

طبقت كلامك - على حد فهمي - لكن المشكلة أن الأصوات مازالت تتداخل

هل التطبيق صحيح

وإن لم يكن أرجو الإشارة إلى المشكلة

وعليكم السلام ورحمة الله وبركاته.

لاحظ المشكلة الرئيسية لديك هنا :

image.png.9aa07fcf46a051925e56476f14b47ca4.png

هنا عندما يتم تغير الخلفية إلى Jungle يتم التحقق من قيمة الخلفية الحالية وسيجدها 1 ولهذا يتم تكرار تشغيل الصوت دائما .

حتى عند تغير الخلفية إلى عشب سيتم إيقاف الأصوات . ولكن حلقة كرر بإستمرار السابقة الموجودة في الخلفية jungle تظل تعمل .

ولهذا الحل الصحيح هو الإعتماد على المتغيرات دائما وليس الخلفية .

أى قم بوضع التحقق في كرر بإستمرار لتصبح شئ كالتالي :

image.png.ddd1c54a841f6aeb5ad637fb2eacf89b.png

إذا إستمرت المشكلة يمكنك إرفاق ملف البرنامج .

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...