إذن ، ما هي الطريقة الأكثر فاعلية للقيام بذلك باستخدام Pixi؟ أريد
شكرا مقدما
اصنع حاوية "الكاميرا" ، ضع كل شيء هناك.
camera.position.set(renderer.screen.width/2, renderer.screen.height/2);
camera.pivot.copy(player.position);
//EVERY FRAME
var targetPivot = player.position;
//LERP IT, dt is something between 0 and 1.
// i use dt = 1 - Math.exp(-deltaInMillis / 100);
// or you can just assign targetpivot to pivot
camera.pivot.x = (targetPivot.x - camera.pivot.x) * dt + camera.pivot.x;
camera.pivot.y = (targetPivot.y - camera.pivot.y) * dt + camera.pivot.y;
//big square
var mapRect = new PIXI.Rectangle();
mapRect.x = camera.pivot.x - renderer.screen.width/2;
mapRect.y = camera.pivot.x - renderer.screen.height/2;
mapRect.width = renderer.screen.width;
mapRect.height = renderer.screen.height;
mapRect.pad(400,400); // -this line was updated
//every time camera changes position
var newRect = new PIXI.Rectangle();
newRect .x = camera.pivot.x - renderer.screen.width/2;
newRect .y = camera.pivot.x - renderer.screen.height/2;
newRect .width = renderer.screen.width;
newRect .height = renderer.screen.height;
if (newRect.x < mapRect.x || newRect.right > mapRect.right ||
newRect.y < mapRect.y || newRect.bottom > mapRect.bottom) {
mapRect = newRect;
//ADJUST THE BACKGROUND AND STUFF
//CLEAR AND FILL THE TILEMAP: https://github.com/pixijs/pixi-tilemap
}
شخص ما ، من فضلك اجعل هذا مقال pixi wiki. أعتقد أنني أشرح هذا الشيء للمرة العاشرة ، نحتاج إلى برنامج تعليمي حول هذه الأشياء
شكرا جزيلا. إنه يقوم بالمهمة ولكني لست قادرًا على تحقيق 2. نقطة. نتيجة mapRect.enlarge (400) ؛ هو NaN. وفقًا للوثائق من المفترض أن يكون هناك مستطيل آخر.
إذا كان بإمكانك شرحها بمزيد من التفصيل ، فسيكون ذلك رائعًا.
شكرا جزيلا.
حسنًا ، استخدم "pad (400،400)" "بدلاً من ذلك ؛)
يبدو أنه لا تزال هناك مشكلة لأنه في كل إطار سيكون newRect.x دائمًا أكبر. أفتقد شيئًا ضخمًا هنا على ما أعتقد :(
تضمين التغريدة
mapRect = newRect;
mapRect.pad(400,400);
تأكد أيضًا من إنشاء newRect في كل مرة. إذا لم تقم بذلك ، فيرجى استخدام "mapRect.copy (newRect)؛" بدلا من الاحالة.
لقد كتبت رمزًا زائفًا. أتمنى أن تقوم بنسخ هذه الأشياء إلى وظائف مختلفة مثل gameStart أو gameFrame أو نحو ذلك؟ ليس من المفترض أن يكون في وظيفة واحدة.
مرحبا! إغلاق هذه القضية في الوقت الحالي بسبب عدم نشاطها. لا تتردد في إرسال كزة إلينا إذا كنت ترغب في إعادة فتح هذه المشكلة. شكرا 👍
تم قفل سلسلة الرسائل هذه تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح قضية جديدة للأخطاء ذات الصلة.
التعليق الأكثر فائدة
شخص ما ، من فضلك اجعل هذا مقال pixi wiki. أعتقد أنني أشرح هذا الشيء للمرة العاشرة ، نحتاج إلى برنامج تعليمي حول هذه الأشياء