Exemplo n.º 1
0
    def __init__(self, numbertext):
        # 加载人物头像,并修改宽高
        dialog_path = os.path.join("resource1", 'dialog_two.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1", 'font', '迷你简粗宋.TTF')
        font = pygame.font.Font(font_path, 20)
        if numbertext == 1:
            text = "           欢迎来到find_the_truth游戏!           "\
                   "                                       " \
                   " 现在是23世纪,你是国家历史研究院的一名研究人员" \
                   " 你将乘坐时光穿越机前往唐朝寻找历史信息来帮助教" \
                   " 授研究历史人物杨贵妃的死因,穿越器有时间限制,在" \
                   " 唐朝,你最多只能去往四个地方"\
                   " 游戏成功条件为你成功穿越回来并带回有用的资料 Y/N"
        else:
            text = "无"

        blit_text(dialog, text, (50, 25), font)  # 设置文章段落格式

        # 设置框架的宽高
        self.surface = pygame.Surface((dialog_w, dialog_h))  # 默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0, 0, 0))
        self.dialog = dialog
    def __init__(self, numbertext):
        # 加载人物头像,并修改宽高
        img_path = os.path.join("resource1", 'head1.tga')
        temp_header = pygame.image.load(img_path)
        header_w = temp_header.get_width() // 2
        header_h = temp_header.get_height() // 2
        header = pygame.transform.scale(temp_header, (header_w, header_h))
        dialog_path = os.path.join("resource1", 'dialog.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1", 'font', '迷你简粗宋.TTF')
        font = pygame.font.Font(font_path, 18)
        if numbertext == 1:
            text = "是的,当时我在马嵬驿,不过我"\
                   " 认为贵妃脖子上的勒痕不像是 上吊自杀的,像是被人用绳子 弄的,前面的营帐有神奇的力 量能穿越到贵妃的墓冢,说"\
                   " 不定你能找到更多线索"
        else:
            text = "无"

        blit_text(dialog, text, (20, 25), font)  # 设置文章段落格式

        # 设置框架的宽高
        if header_h > dialog_h:
            h = header_h
        else:
            h = dialog_h
        w = dialog_w + header_w
        self.surface = pygame.Surface((w, h))  #默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0, 0, 0))

        self.surface.blit(dialog, (header_w, 0))
        self.surface.blit(header, (0, 0))
Exemplo n.º 3
0
 def __init__(self, width, height, text, loop=False):
     header_h = 0
     header_w = 0
     if loop:
         img_path = os.path.join('resources', 'img', 'npc', '00000.png')
         temp_header = pygame.image.load(img_path)
         temp_header.set_colorkey((255, 255, 255))
         header_w = temp_header.get_width()//2
         header_h = temp_header.get_height()//2
         header = pygame.transform.scale(temp_header, (header_w, header_h))
     dialog_path = os.path.join('resources', 'img', 'dialog', 'dialog2.png')
     temp_dialog = pygame.image.load(dialog_path)
     dialog_w = width
     dialog_h = height
     dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
     font_path = os.path.join('resources', 'font', 'msyh.ttf')
     font = pygame.font.Font(font_path, 18)
     blit_text(dialog, text, (40, 30), font, (255, 255, 254))
     h = max(header_h, dialog_h)
     w = header_w + dialog_w
     self.surface = pygame.Surface((w, h))
     self.surface.set_colorkey((255, 255, 255))
     if loop:
         self.surface.blit(header, (0, 0))
     self.surface.blit(dialog, (header_w, 0))
    def __init__(self, numbertext):
        # 加载人物头像,并修改宽高
        img_path = os.path.join("resource1", 'head2.tga')
        temp_header = pygame.image.load(img_path)
        header_w = temp_header.get_width() // 2
        header_h = temp_header.get_height() // 2
        header = pygame.transform.scale(temp_header, (header_w, header_h))
        dialog_path = os.path.join("resource1", 'dialog.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1", 'font', '迷你简粗宋.TTF')
        font = pygame.font.Font(font_path, 18)
        if numbertext == 1:
            text = "悄悄告诉你贵妃根本没有死 她被送去了蓬莱,你可以到那里去看看" \
                   " 去往蓬莱 Y/N"
        else:
            text = "无"

        blit_text(dialog, text, (20, 25), font)  # 设置文章段落格式

        # 设置框架的宽高
        if header_h > dialog_h:
            h = header_h
        else:
            h = dialog_h
        w = dialog_w + header_w
        self.surface = pygame.Surface((w, h))  # 默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0, 0, 0))

        self.surface.blit(dialog, (header_w, 0))
        self.surface.blit(header, (0, 0))
Exemplo n.º 5
0
    def __init__(self, text_num):
        # 1 头像照片
        img_path = os.path.join('resource', 'image', 'magicman', 'dialog.png')
        header = pygame.image.load(img_path)
        header_w = header.get_width()
        header_h = header.get_height()
        # # 头像缩小一半 参数:(原图像,(size))
        # header = pygame.transform.scale(temp_header, (header_w, header_h))
        # 2 对话框图片
        dialog_path = os.path.join('resource', 'image', 'dialoguebox.png')
        dialog = pygame.image.load(dialog_path)
        dialog_w = dialog.get_width()
        dialog_h = dialog.get_height()
        # # 缩小一半
        # dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        # 3 绘制汉字
        font_path = os.path.join('resource', 'font', '迷你简粗宋.TTF')
        # 根据字体文件创建一个字体(Font)对象 font相当于是一个字体
        font = pygame.font.Font(
            font_path, 18
        )  # font类详解:https://blog.csdn.net/qq_41556318/article/details/86303502
        if text_num == 1:
            text = "年轻人,也许我能告诉你点什么...\n按y键继续。"
        elif text_num == 2:
            text = "冒险者,成功除了勇气,往往运气是走向成功的第一步。 只有通过运气之神考验的人才能继续寻宝之旅。 你需要先在宝箱中找到开封的宝剑,小心隐身的幽灵哦。 但这并没有结束," \
               "找到宝剑之后,你需要在四扇大门中找到真正的宝藏之门。 在探索未知的路上,你可能会遇到许多危险,在尝试打开宝藏之门之前,请谨慎! 记住千万别碰到岛屿上的其他人类,他们将吃掉你,祝你好运~"
        elif text_num == 3:  # 场景2
            text = "幸运的冒险者,你来到了这一关,代表你离成功又进了一步。 在走向成功的道路上,运气虽然重要,但光有运气是走不长远的。 同时也需要拥有面对成功路上所有荆棘的勇气。 "\
                    "注意,千万别碰到勇气之神为了考验寻宝者而留下的地刺,沟壑和宝藏守护者们, 他们会阻止你获得宝藏。 加油,年轻人!\n按y键继续..."
        elif text_num == 4:  # 场景3
            text = "勇敢的冒险者,恭喜你已经通过了宝藏前两关 -- 运气与勇气的考验。 再通过坚持之神的考验你将能获得珍贵的宝藏。 本关卡由于受到坚持之神的重力颠倒,你将会一直向下跌,你需要不断的跳跃, 防止自己落入骷髅大军的虎口,同时本关卡的法师塔的观察范围也极广,如果被他 发现,你将被塔上的法师用来祭天,最后记得绕开蝙蝠守护灵和空中的机关陷阱。 按y键继续..."
        """
        遇空格换行
        参数:
        1. surface
        2. 文本
        3. 文本显示的左上角位置
        4. 字体
        """
        blit_text(dialog, text, (130, 10), font)

        # 4 生成surface并绘制
        h = header_h
        w = dialog_w
        self.surface = pygame.Surface((w, h), pygame.SRCALPHA)  # 黑图片  fill
        # 5 设置关键色,形成透明图片
        # self.surface.set_colorkey((0, 0, 0))  # pygame.SRCALPHA
        # 6 把头像 对话框绘制上去
        self.surface.blit(dialog, (0, 0))
        self.surface.blit(header, (0, 0))
Exemplo n.º 6
0
    def __init__(self, text_num):
        # 1 头像照片
        img_path = os.path.join('resource', 'image', 'door.png')
        header = pygame.image.load(img_path)
        header_w = header.get_width()
        header_h = header.get_height()
        # # 头像缩小一半 参数:(原图像,(size))
        # header = pygame.transform.scale(temp_header, (header_w, header_h))
        # 2 对话框图片
        dialog_path = os.path.join('resource', 'image', 'dialoguebox.png')
        dialog = pygame.image.load(dialog_path)
        dialog_w = dialog.get_width()
        dialog_h = dialog.get_height()
        # # 缩小一半
        # dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        # 3 绘制汉字
        font_path = os.path.join('resource', 'font', '迷你简粗宋.TTF')
        # 根据字体文件创建一个字体(Font)对象 font相当于是一个字体
        font = pygame.font.Font(font_path, 18)  # font类详解:https://blog.csdn.net/qq_41556318/article/details/86303502
        if text_num == 1:
            text = "只有开封的宝剑才能打开通往宝藏的大门,你将受到神的制裁,生命值减20...\n禁忌之门从此封印直到你找到开封的宝剑..."
        elif text_num == 2:
            text = "很不幸,神并没有眷顾你,你将受到神的制裁,生命值减20...\n禁忌之门破碎..."
        elif text_num == 3:
            text = "禁忌之门已封印..."
        elif text_num == 4:
            text = "禁忌之门已破碎..."

        """
        遇空格换行
        参数:
        1. surface
        2. 文本
        3. 文本显示的左上角位置
        4. 字体
        """
        blit_text(dialog, text, (130, 10), font)

        # 4 生成surface并绘制
        h = header_h
        w = dialog_w
        self.surface = pygame.Surface((w, h), pygame.SRCALPHA)  # 黑图片  fill
        # 5 设置关键色,形成透明图片
        # self.surface.set_colorkey((0, 0, 0))  # pygame.SRCALPHA
        # 6 把头像 对话框绘制上去
        self.surface.blit(dialog, (0, 0))
        self.surface.blit(header, (0, 0))
Exemplo n.º 7
0
    def __init__(self, numbertext):
        dialog_path = os.path.join("resource1", 'dialog_one.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        self.dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1", 'font', '迷你简粗宋.TTF')
        font = pygame.font.Font(font_path, 18)
        if numbertext == 1:
            text = "是否进入墓穴 Y/N"
        else:
            text = "无"

        blit_text(self.dialog, text, (20, 25), font)  # 设置文章段落格式

        # 设置框架的宽高
        self.surface = pygame.Surface((dialog_w, dialog_h))  #默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0, 0, 0))
    def __init__(self, numbertext):
        # 加载人物头像,并修改宽高
        if numbertext==1:
            img_path = os.path.join("resource1",'1029-7732.png')
        elif numbertext==2:
            img_path = os.path.join("resource1", 'villager2.png')
        temp_header = pygame.image.load(img_path)
        header_w = temp_header.get_width() // 2
        header_h = temp_header.get_height() // 2
        header = pygame.transform.scale(temp_header,(header_w,header_h))
        dialog_path = os.path.join("resource1", 'dialog.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1",'font','迷你简粗宋.TTF')
        font = pygame.font.Font(font_path,18)
        if numbertext==1:
            text = "你说杨贵妃的死因吗?我猜原 来服侍过她的宫女知道,那个 宫女现在在宫殿中"\
                   " 是否去往宫殿 Y/N"
        else:
            text = "你可以去桃花谷看看,她的墓冢 在那里,说不定能找到些什么"\
                   " 是否去往桃花谷 Y/N"

        blit_text(dialog,text,(20,25),font)  # 设置文章段落格式

        # 设置框架的宽高
        if header_h > dialog_h:
            h = header_h
        else:
            h = dialog_h
        w = dialog_w + header_w
        self.surface = pygame.Surface((w,h)) #默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0,0,0))

        self.surface.blit(dialog,(header_w, 0))
        self.surface.blit(header,(0,0))
Exemplo n.º 9
0
    def __init__(self, numbertext):
        # 加载人物头像,并修改宽高
        img_path = os.path.join("resource1", 'professor_head.png')
        temp_header = pygame.image.load(img_path)
        header_w = temp_header.get_width() // 2
        header_h = temp_header.get_height() // 2
        header = pygame.transform.scale(temp_header, (header_w, header_h))
        dialog_path = os.path.join("resource1", 'dialog.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1", 'font', '迷你简粗宋.TTF')
        font = pygame.font.Font(font_path, 18)
        if numbertext == 1:
            text = "研究员,你好,教授拜托你穿 越到唐朝去,找到马嵬驿兵变杨 贵妃死亡的真相"\
               " 你准备好进入时光机了吗?Y/N"
        elif numbertext == 2:
            text = "感谢你带回这封信,这对我们 的研究帮助很大" \
                   "谢谢你 Y/N"
        else:
            text = "很遗憾你没有带回有用的研究 信息 Y/N"

        blit_text(dialog, text, (20, 25), font)  # 设置文章段落格式

        # 设置框架的宽高
        if header_h > dialog_h:
            h = header_h
        else:
            h = dialog_h
        w = dialog_w + header_w
        self.surface = pygame.Surface((w, h))  #默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0, 0, 0))

        self.surface.blit(dialog, (header_w, 0))
        self.surface.blit(header, (0, 0))
Exemplo n.º 10
0
    def __init__(self, numbertext):
        # 加载人物头像,并修改宽高
        dialog_path = os.path.join("resource1", 'dialog_one.png')
        temp_dialog = pygame.image.load(dialog_path)
        dialog_w = temp_dialog.get_width() // 2
        dialog_h = temp_dialog.get_height() // 2
        dialog = pygame.transform.scale(temp_dialog, (dialog_w, dialog_h))
        font_path = os.path.join("resource1", 'font', '迷你简粗宋.TTF')
        font = pygame.font.Font(font_path, 18)
        if numbertext == 1:
            text = "由于时光机故障,你穿越到了安史之乱之后"\
                   " 你决定去询问前面的村民关于杨贵妃的死因"\
                   " Y/N"
        else:
            text = "无"

        blit_text(dialog, text, (20, 25), font)  # 设置文章段落格式

        # 设置框架的宽高
        self.surface = pygame.Surface((dialog_w, dialog_h))  # 默认生成黑图片
        # 设置关键色为透明,否则为全黑
        self.surface.set_colorkey((0, 0, 0))

        self.surface.blit(dialog, (0, 0))