Pixi.js: لا يجب أن يؤدي تعيين الارتساء إلى إعادة رسم محتوى كائن العرض

تم إنشاؤها على ١١ أبريل ٢٠١٨  ·  4تعليقات  ·  مصدر: pixijs/pixi.js

أهلا،

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

var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb});
document.body.appendChild(app.view);

var bunny = PIXI.Sprite.fromImage('required/assets/basics/bunny.png');

var container = new PIXI.Sprite();
container.addChild(bunny);
container.x = 0;
container.y = 0;

app.stage.addChild(container);

bunny.anchor.set(0.5);
//bunny_c.pivot.set(15,5);

مع هذا المثال ، أتوقع أن يكون الأرنب مع المرساة التي تؤثر على دورانه ولكن لا يتم إعادة رسم الأرنب!

💾 v4.x (Legacy) 🤔 Question

ال 4 كومينتر

يحتوي كل عنصر على تحويل ، وهو الموضع / التدوير / المحور
تحتوي العفاريت على مرساة ، وهذا يعني "يجب أن تكون نقطة النسيج هذه في (0،0) من نظام الإحداثيات المحلي".

يكون محور الدوران دائمًا (0،0) لنظام الإحداثيات المحلي.

إذا كنت تريد سلوكًا مختلفًا ، فيمكنك تغيير فئة التحويل وإنشاء مثيلات من التحويل المصحح للعناصر المتأثرة.

https://github.com/pixijs/pixi.js/blob/dev/src/core/display/TransformStatic.js
https://github.com/pixijs/pixi.js/blob/dev/src/core/sprites/Sprite.js#L174

أيضًا ، الأرنب هو redrawn كل إطار في pixi. المكتبة ليس لديها آليات لتتبع جميع التغييرات ، إنها تعمل فقط. وإلا فقد تزن 3 ميغا بايت أو أكثر :)

بالنسبة لحالتك ، من الأفضل ضبط المحور على مركز الأرنب. تأكد من القيام بذلك عن طريق الثوابت ، استخدم bunny.texture.width فقط عند تحميله.

DavidGOrtega أغلق هذا لأنني أشعر أن سؤالك قد تمت الإجابة عليه. لا تتردد في إعادة الفتح إذا كان لديك أي مشاكل أخرى!

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

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات