أنا أعمل على لعبة حيث عندما يلتقي جسمان ، يمتص أحدهما الآخر ، وأخلق تأثير امتصاص باستخدام حاوية جسيمات وبعض العفاريت. ومع ذلك ، إذا كان لدي الكثير من هذه التأثيرات على الشاشة في وقت واحد ، فإنه يخلق انفجارًا مخدرًا لانهائيًا ، وهو نوع رائع ، ولكن ليس ما كنت أفعله حقًا. ومع ذلك ، إذا قمت بالتغيير من حاوية جسيم إلى حاوية عادية ، فإن المشكلة تختفي. أيضًا ، تحدث المشكلة فقط إذا كان هناك عدد كبير من حاويات الجسيمات على الشاشة في المرة الواحدة. إذا كان هناك أقل من ذلك ، فلن يحدث ذلك.
تحديث: لا يزال يحدث بالفعل مع حاوية البيكسي العادية عند تشغيل اللعبة في متصفح الهاتف المحمول ، فربما تكون هناك مشكلة في حد الذاكرة؟
هذا هو التسلسل الهرمي لطريقة العرض الخاصة بي لكل تأثير:
PIXI.Container // Effect main container. Gets scaled/positioned
PIXI.Sprite // This is an overall glow
PIXI.particles.ParticleContainer // This is the streaks effect
PIXI.Sprite[] // Individual streak of light. Gets rotated and alpha'ed
إليك صورة متحركة لما من المفترض أن تبدو عليه:
وإليك إحدى المشكلات:
pixi.js
: _e.g. 4.8.1هذا ليس خطأ ، هذه ميزة!
لذلك اتضح أنني غبية في هذا الأمر. بعد مطاردة بعض العملاء المحتملين المزيفين ، اكتشفت أن معلمة كثافة التأثيرات الخاصة بي كانت مرتبطة بشكل غير صحيح بمعدل الإطارات في محاولة لجعلها تتلاشى بشكل أسرع إذا كانت اللعبة متأخرة. ومع ذلك ، كانت حساباتي خاطئة وجعلتها في الواقع تزداد شدتها ، مما أدى إلى تأخر اللعبة أكثر ، مما أدى إلى بدء حلقة مفرغة. بالمناسبة ، اكتشفت أن الحاويات العادية تبدو أكثر أداءً قليلاً من حاويات الجسيمات في حالة الاستخدام الخاصة بي.
تم قفل سلسلة الرسائل هذه تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح قضية جديدة للأخطاء ذات الصلة.
التعليق الأكثر فائدة
لذلك اتضح أنني غبية في هذا الأمر. بعد مطاردة بعض العملاء المحتملين المزيفين ، اكتشفت أن معلمة كثافة التأثيرات الخاصة بي كانت مرتبطة بشكل غير صحيح بمعدل الإطارات في محاولة لجعلها تتلاشى بشكل أسرع إذا كانت اللعبة متأخرة. ومع ذلك ، كانت حساباتي خاطئة وجعلتها في الواقع تزداد شدتها ، مما أدى إلى تأخر اللعبة أكثر ، مما أدى إلى بدء حلقة مفرغة. بالمناسبة ، اكتشفت أن الحاويات العادية تبدو أكثر أداءً قليلاً من حاويات الجسيمات في حالة الاستخدام الخاصة بي.