From: lbcmk <30442978+lbcmk@users.noreply.github.com> Date: Mon, 11 Jul 2022 03:15:18 +0000 (-0400) Subject: Created dialogue ui X-Git-Url: http://git.skullheadx.com/phil/index.html?a=commitdiff_plain;h=d8f800690072c8ddcddfca7813dce1db0b3afb5a;p=Pygame-Jam.git Created dialogue ui --- diff --git a/Game.py b/Game.py index bac0cb1..57dbacc 100644 --- a/Game.py +++ b/Game.py @@ -18,6 +18,8 @@ from UI.PotionUI import PotionUI from Function.Portal import Transition from Function.Fade import fade +from UI.Dialogue import DialogueUI + class Game: def __init__(self, level): @@ -42,11 +44,13 @@ class Game: self.level = level self.scene.level = self.level - self.Transition = Transition(-2, 0,0) + self.Transition = Transition() self.fade = self.Transition.fade self.fadeT = fade() self.next_level = 0 + self.dialogue = DialogueUI() + # def load_world(self, level): def update(self, delta): @@ -70,7 +74,12 @@ class Game: def draw(self, surf): screen.fill((0, 191, 255)) - self.Transition.draw(surf, self.player.position, [40, -250], 120, 625) + if(self.level == 1): + self.Transition.draw(surf, self.player.position, [40, -250], 120, 625) + self.dialogue.text = "enemy dialogue" + self.dialogue.draw(surf, get_display_point(self.enemies[0].position)[0] + self.enemies[0].width/2, get_display_point(self.enemies[0].position)[1]) + self.dialogue.text = "player dialogue" + self.dialogue.draw(surf, get_display_point(self.player.position)[0] + self.player.width/2, get_display_point(self.player.position)[1]) # screen.fill((255,255,255)) # sky = pg.image.load("Assets/world/SKY.png") @@ -86,9 +95,11 @@ class Game: self.healthBar.draw(surf, self.player.health) self.potionUI.draw(surf, self.player.potion_bag, self.player.potion_cooldown) - if self.player.dead: - self.scene.update() - self.scene.draw() + # print(self.player.get_collision_rect())s + # Debug Lines. DO NOT CROSS THEM! + pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(SCREEN_WIDTH, -Setup.camera_offset.y), 10) + pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(-Setup.camera_offset.x, SCREEN_HEIGHT), 10) + # self.pet.draw(surf) if(self.fade == True): self.fadeT.update(True) @@ -101,11 +112,7 @@ class Game: self.Transition.fade = False self.next_level = self.level + 1 self.level = -4 - # self.__init__(self.level) - - # print(self.player.get_collision_rect())s - # Debug Lines. DO NOT CROSS THEM! - pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(SCREEN_WIDTH, -Setup.camera_offset.y), 10) - pg.draw.line(surf, (255, 0, 0), -Setup.camera_offset, pg.Vector2(-Setup.camera_offset.x, SCREEN_HEIGHT), 10) - # self.pet.draw(surf) + if self.player.dead: + self.scene.update() + self.scene.draw() \ No newline at end of file diff --git a/UI/Dialogue.py b/UI/Dialogue.py new file mode 100644 index 0000000..1c1f7f1 --- /dev/null +++ b/UI/Dialogue.py @@ -0,0 +1,62 @@ +from Setup import * +from CommonImports.colours import white, black +from Function.createText import createText + +class DialogueUI: + + def __init__(self): + self.text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sit amet commodo leo." + self.old_text = "" + self.char = 0 + + self.skip = False + self.texts = [] + + self.drawText = [] + + def update(self): + return; + + def draw(self, surf, X, Y): + + self.createDialogue() + + for i in range(len(self.drawText)): + j = len(self.drawText) - i + text_rect = self.drawText[i].get_rect(center=(X, Y-(20*j))) + surf.blit(self.drawText[i], text_rect) + + def createDialogue(self): + if(self.text == self.old_text): + self.skip == True + else: + self.old_text == self.text + self.texts = [] + self.drawText = [] + self.char = 0 + self.skip == False + + if(self.skip == False): + iii = 0 + while iii < len(self.text): + n = 30 + if iii+n < len(self.text): + self.texts.append(self.text[iii:iii+n]) + else: + self.texts.append(self.text[iii:len(self.text)]) + iii += n + + for i in range(len(self.texts) - 1): + text = self.texts[i].split(" ")[-1] + self.texts[i+1] = self.texts[i][len(self.texts[i]) - len(text):] + self.texts[i+1] + self.texts[i] = self.texts[i][:len(self.texts[i]) - len(text) - 1] + + for i in range(len(self.texts)): + self.drawText.append(createText(0, 0, 20, white, "Regular", self.texts[i])[0]) + # if(self.char/30 > i): + # self.drawText.append(createText(0, 0, 30, white, "Regular", self.texts[i])[0]) + # else: + # self.drawText.append(createText(0, 0, 30, white, "Regular", self.texts[i][self.char%30:])[0]) + # self.char += 1 + + return;