diff --git a/vpet.py b/vpet.py index 398748d..c691418 100644 --- a/vpet.py +++ b/vpet.py @@ -137,6 +137,9 @@ class VPet: self.frames = Frames() self.activity = Activity() + self.animation_start = 0 + self.animation_end = 0 + def action_loop(self): if self.activity.is_interacting_with_user: self.is_busy = True diff --git a/window_qt.py b/window_qt.py index 2317252..4cc1661 100755 --- a/window_qt.py +++ b/window_qt.py @@ -11,61 +11,63 @@ from vpet import VPet def get_primary_monitor(): - m = next((monitor for monitor in get_monitors() if monitor.is_primary), None) - print(m.height) - print(m.width) - print(int(m.width/2)) - return m + return next((monitor for monitor in get_monitors() if monitor.is_primary), None) class MainWindow(QMainWindow): - def __init__(self): - super().__init__() - self.FPS = 60 - self.primary_monitor = get_primary_monitor() - # self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) - self.setWindowFlags(Qt.WindowStaysOnTopHint) - # self.setAttribute(Qt.WA_TranslucentBackground) - self.click_event_time = 0 - self.v_pet = VPet(self.move, self.pos, self.draw, self.primary_monitor, x=int(self.primary_monitor.width/2), y=self.primary_monitor.height) - self.loop_timer = QTimer(self) - self.loop_timer.setSingleShot(False) - self.loop_timer.setInterval(self.FPS) - self.loop_timer.timeout.connect(self.loop) - self.loop_timer.start() + def __init__(self): + super().__init__() + self.interval = 60 + self.primary_monitor = get_primary_monitor() + # self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) + self.setWindowFlags(Qt.WindowStaysOnTopHint) + # self.setAttribute(Qt.WA_TranslucentBackground) + self.click_event_time = 0 + self.v_pet = VPet(self.move, + self.pos, + self.draw, + self.primary_monitor, + x=int(self.primary_monitor.width / 2), + y=self.primary_monitor.height) - def mousePressEvent(self, event): - self.click_event_time = time.time() - self.v_pet.activity.set_interacting_with_user() - if event.button() == Qt.LeftButton: - self.drag_position = event.globalPos() + self.loop_timer = QTimer(self) + self.loop_timer.setSingleShot(False) + self.loop_timer.setInterval(self.interval) + self.loop_timer.timeout.connect(self.loop) + self.loop_timer.start() - def mouseReleaseEvent(self, event): - time_delta = time.time() - self.click_event_time - if time_delta <= 0.2: - if event.button() == Qt.LeftButton: - print('Click left') - if event.button() == Qt.RightButton: - print('Click right') - else: - if event.button() == Qt.RightButton: - print('Click long right') + def mousePressEvent(self, event): + self.click_event_time = time.time() + self.v_pet.activity.set_interacting_with_user() + if event.button() == Qt.LeftButton: + self.drag_position = event.globalPos() - self.click_event_time = 0 - self.v_pet.activity.is_interacting_with_user = False + def mouseReleaseEvent(self, event): + time_delta = time.time() - self.click_event_time + if time_delta <= 0.2: + if event.button() == Qt.LeftButton: + print('Click left') + if event.button() == Qt.RightButton: + print('Click right') + else: + if event.button() == Qt.RightButton: + print('Click long right') - def mouseMoveEvent(self, event): - if event.buttons() == Qt.LeftButton: - delta = event.globalPos() - self.drag_position - self.move(self.pos() + delta) - self.drag_position = event.globalPos() - self.click_event_time = 0 + self.click_event_time = 0 + self.v_pet.activity.is_interacting_with_user = False - def draw(self, img): - img = img.rotate(Rotate.up) - self.resize(img.width, img.height) - self.setCentralWidget(TransparentGLWidget(img)) + def mouseMoveEvent(self, event): + if event.buttons() == Qt.LeftButton: + delta = event.globalPos() - self.drag_position + self.move(self.pos() + delta) + self.drag_position = event.globalPos() + self.click_event_time = 0 - def loop(self): - self.v_pet.action_loop() - self.show() + def draw(self, img): + img = img.rotate(Rotate.up) + self.resize(img.width, img.height) + self.setCentralWidget(TransparentGLWidget(img)) + + def loop(self): + self.v_pet.action_loop() + self.show()