WhatsApp Discord
SOURCE Inicial Launcher para Mu Online | Exclusivo MuSubwayCL - Source Mu - Mu Server Files
 

SOURCE Inicial Launcher para Mu Online | Exclusivo MuSubwayCL

Publicado por Dakosmu, Abr 04, 2026, 07:53 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Keywords Launcher

Dakosmu

SOURCE Inicial Launcher para Mu Online | Exclusivo MuSubwayCL

Regístrate para ver el enlace

Regístrate para ver el enlace

Descargar fondo png
Regístrate para ver el enlace

En esta publicación aprenderás a desarrollar un Game Launcher profesional utilizando Python y PyQt6, logrando una interfaz moderna con formas irregulares y transparencias que harán que tu proyecto destaque visualmente. Veremos paso a paso cómo integrar un diseño de fantasía con una estructura de código sólida y eficiente.

Características Principales del Launcher
  • Interfaz Orgánica: Diseño con bordes irregulares que simulan piedra y elementos de fantasía.
  • Transparencia Real: El launcher permite ver el escritorio de Windows a través de las zonas vacías del diseño.
  • Botones Interactivos: Sistema de botones invisibles posicionados estratégicamente sobre el arte del fondo.
  • Movilidad Personalizada: Implementación de lógica de arrastre manual al no poseer barra de título estándar.


Este proyecto ha sido desarrollado siguiendo estándares de codificación limpios y utilizando la librería PyQt6 para garantizar la compatibilidad con sistemas modernos.

Requisitos Previos
Es obligatorio tener instalado Python 3.x y la librería de interfaz gráfica para que el script pueda ejecutarse correctamente.

pip install PyQt6
Para lograr el efecto de transparencia, es fundamental que tu imagen esté en formato .png y tenga el fondo eliminado (transparente).

Guía de Implementación Paso a Paso
  • Preparación de Archivos: Coloca tu archivo de imagen (ej. mejorar.png) en la misma carpeta donde guardarás tu script de Python.
  • Configuración de la Ventana: Se utiliza el flag FramelessWindowHint para eliminar los bordes clásicos de Windows.
  • Mapeo de Botones: Se definen las coordenadas X e Y para que los clics coincidan exactamente con el dibujo de la roca o el botón "Play".

Código Fuente del Launcher (Beta 001)
import sys
import os
from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QLabel
from PyQt6.QtCore import Qt, QPoint
from PyQt6.QtGui import QPixmap

class ModernLauncher(QMainWindow):
def init(self):
super().init()
self.setWindowFlags(Qt.WindowType.FramelessWindowHint)
self.setAttribute(Qt.WidgetAttribute.WA_TranslucentBackground)

    image_path = "mejorar.png"
    self.pixmap = QPixmap(image_path)
    self.setFixedSize(self.pixmap.size())

    self.container = QWidget(self)
    self.container.setFixedSize(self.pixmap.size())

    self.bg_label = QLabel(self.container)
    self.bg_label.setPixmap(self.pixmap)
    self.bg_label.setGeometry(0, 0, self.pixmap.width(), self.pixmap.height())

    # Botón PLAY central
    self.btn_play = self.crear_boton_invisible(660, 365, 120, 120)
   
    self.old_pos = None

def crear_boton_invisible(self, x, y, w, h):
    btn = QPushButton("", self.container)
    btn.setGeometry(x, y, w, h)
    btn.setStyleSheet("background-color: rgba(0, 0, 0, 1); border: none;")
    return btn

def mousePressEvent(self, event):
    if event.button() == Qt.MouseButton.LeftButton:
        self.old_pos = event.globalPosition().toPoint()

def mouseMoveEvent(self, event):
    if self.old_pos is not None:
        delta = QPoint(event.globalPosition().toPoint() - self.old_pos)
        self.move(self.x() + delta.x(), self.y() + delta.y())
        self.old_pos = event.globalPosition().toPoint()
if name == "main":
app = QApplication(sys.argv)
launcher = ModernLauncher()
launcher.show()
sys.exit(app.exec())

El código incluye soporte para arrastrar la ventana con el ratón, solucionando el problema de movilidad al quitar los bordes.

Historial de Cambios (Changelog)
  • v0.0.1: Creación de la estructura base con PyQt6.
  • v0.0.2: Implementación de transparencia de ventana y eliminación de bordes nativos.
  • v0.0.3: Ajuste de botones invisibles sobre imagen orgánica PNG.
  • v0.0.4: Corrección de error de pantalla negra al cargar imágenes con canal alfa.

Descargas Relacionadas
Regístrate para ver el enlace
Regístrate para ver el enlace
Bon Dia

🡱 🡳
Real Time Web Analytics