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

السؤال

نشر

لقد واجهت صعوبة في انشاء خلفية متحركة على سكراتش مثلا خلفية super mario لأنني أريد انشاءها بتركيب أربعة صور كبيرة . لقد وجدت في اليوتيوب كيفة انشاءها باستعمال صورتين ولكن باستعمال أربع صور لم أجد و اصبح الامر صعبا

Recommended Posts

  • 0
نشر

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

والأفضل في تلك الحالة هي دمج الخلفيات التي لديك في برامج مثل ال phoshop أو أى برامج أخرى لتعديل الصور.

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

ولكن لو أردت 4 صور يمكنك إنشاء كائنين وفي كل كائن تقوم بوضع مظهرين أى تقوم بتوزيع الأربع صور على كائنين هكذا :

image.png.217b3fdcf0b02ffe5d8ba8474bd31255.png

بعد ذلك بداخل حلقة التكرار يمكنك تغير المظهر هكذا :

image.png.62a3d2a5faba1a0096ac979d402833c6.png

والآن يمكنك تحريك الأربع خلفيات كما تريد ولكن يجب عليك معرفة أن أول خلفية ستظهر ستكون أول مظهر في الكائن 1 وثاني خلفية هي أول مظهر في الكائن 2 وثالث خلفية هي ثاني مظهر في الكائن 1 وهكذا يمكنك ترتيب الخلفيات كما تريد.

وإليك ملف به الخلفيات والكود الخاص بكيفية تحريكها .

Animated_wallpaper.sb3

  • 0
نشر

للأسف فبيئة سكراتش لا تدعم خاصية التمرير التلقائي (scrolling background) بشكل مباشر ولكن مع ذلك يمكن تجاوز هذا القيد عبر استخدام أربع صور تمثل الخلفية، بحيث تعامل كل صورة على أنها كائن (Sprite) مستقل.

في البداية يجب أن تحمّل الصور الأربع إلى سكراتش بحيث تضع كل واحدة منها في Sprite منفصل بعد ذلك يتم ترتيب هذه الصور بجانب بعضها البعض أفقيا بحيث تتصل نهايات الصور ببدايات الصور التالية دون وجود فجوات ويفضّل أن تكون الصور مصممة مسبقا لتتناسق بصريا عند الاتصال، مما يضمن عدم ظهور أي خطوط فاصلة بين كل صورتين عند الحركة.

لنقل مثلا أن كل صورة بعرض 480 بكسل، فستكون مواضع الصور في البداية كالتالي:

  • الصورة الأولى في x = 0
  • الثانية في x = 480
  • الثالثة في x = 960
  • الرابعة في x = 1440

بعد ترتيب الصور يجب كتابة كود برمجي لكل Sprite على حدة، يجعلها تتحرك بشكل مستمر نحو اليسار بمقدار ثابت مثلا -5 في كل تكرار للحلقة. ويمكن استخدام الكتلة "عندما تبدأ الراية الخضراء" لبدء الحركة، متبوعة بكتلة "كرر إلى الأبد"، ثم كتلة "غير x بمقدار -5"، مما يجعل الصورة تنزلق إلى اليسار مع الزمن.

والجزء الأهم في هذه التقنية هو التحقق من موقع كل Sprite بشكل مستمر فإذا تجاوزت الصورة الطرف الأيسر للشاشة أي إذا أصبح موضعها أقل من x = -480 مثلا فهذا يعني أنها خرجت من مجال الرؤية، وهنا يجب أن تعاد إلى أقصى يمين الخلفية لتستمر في الحركة بشكل دائري.

ولتحقيق ذلك نضيف شرطا داخل حلقة التكرار مثل: إذا كانت x < -480، فإننا نعيد الصورة إلى x = 1440 (أي بعد آخر صورة).

وهذا يمكّن الخلفية من الدوران بلا توقف، ما يمنح انطباعا بحركة لا نهائية، وهي الطريقة المعتمدة في الكثير من ألعاب المنصات.

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

وإن كان هناك عناصر مرئية مثل الأشجار أو الجبال، فيفضّل أن تكون امتداداتها من صورة إلى أخرى طبيعية وسلسة.

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...