コード例 #1
0
class ChatBubble:
    def __init__(self, text, unit):
        self.creation_time = datetime.now()
        font = MainFont()
        frame_padding = 0.3
        half_frame_length = len(text) * 0.1 + frame_padding
        self.bubble_text = DirectLabel(
            text=text,
            pos=(0, 0, 0.66),
            scale=0.04,
            parent=unit.base_node,
            text_bg=(0, 0, 0, 0),
            text_fg=(1, 1, 1, 1),
            frameColor=(0, 0, 0, 0),
            text_font=font,
        )
        self.bubble_frame = DirectFrame(pos=(0, 0.01, 0.67),
                                        scale=0.1,
                                        parent=unit.base_node,
                                        frameColor=(0, 0, 0, 0.5),
                                        frameSize=(-half_frame_length,
                                                   half_frame_length, -0.5,
                                                   0.5))

        self.bubble_text.set_compass(core.instance.camera)
        self.bubble_frame.set_compass(core.instance.camera)

    def destroy(self):
        self.bubble_text.destroy()
        self.bubble_frame.destroy()