أضف التمرير إلى منصة في pygame
يتم تحقيق هذا التأثير من خلال التمرير ، والذي يسمح لعالم اللعبة بالانتقال بشكل مستقل عن موضع اللاعب.
تنفيذ التمرير:
لتنفيذ التمرير في pygame ، استخدم الكاميراثم يتم تطبيق هذه الإزاحة على موضع جميع كيانات اللعبة عند رسمها على الشاشة.
إنشاء فئة الكاميرا:def __init __ (self ، camera_func ، العرض ، الارتفاع): self.camera_func = camera_func Self.State = Rect (0 ، 0 ، العرض ، الارتفاع) DEF تنطبق (الذات ، الهدف): إرجاع Target.Rect.Move (Self.state.topleft) تحديث DEF (الذات ، الهدف): self.state = self.camera_func (self.state ، target.rect)
class Camera: def __init__(self, camera_func, width, height): self.camera_func = camera_func self.state = Rect(0, 0, width, height) def apply(self, target): return target.rect.move(self.state.topleft) def update(self, target): self.state = self.camera_func(self.state, target.rect)البكسل. l ، t ، _ ، _ = target_rect # l = left ، t = top _ ، _ ، w ، h = الكاميرا # w = العرض ، h = الارتفاع إرجاع Rect (-l half_width ، -t half_height ، w ، h)
تطبيق التمرير على الكيانات: الكاميرا = الكاميرا (complex_camera ، total_level_width ، total_level_height) # تحديث الكاميرا camera.update (لاعب) # تطبيق التمرير على جميع الكيانات ل e في الكيانات: screen.blit (e.image ، camera.apply (e))
اعتبارات إضافية:
الاحتياجات.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3