[Python] Loading Bar Ekranına Yazı Yazma

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 39

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
GÖRÜNTÜ :

Kod:
Açılır, introloading.py / root Aratılır, self.loadingGage=self.GetChild("FullGage") Eklenir, self.loadingInfo = self.GetChild("LoadingInfo_Text") Aratılır, self.loadingGage.SetPercentage(2, 100) Eklenir, self.txtLoadingProgressDict = {             0: "Metin2Server",      10: "Mapas",      30: "Sonidos",             40: "Efectos",       50: "Guerrero",  60: "Ninja",             70: "Sura",         80: "Shaman",   90: "Habilidades",             93: "Enemigos",        97: "NPC",      98: "Gremios",             100: "Inicio el juego"         } Aratılır, self.loadingGage.SetPercentage(2+98*p/100, 100)   Eklenir, self.loadingInfo.SetText("Cargando " + str(self.txtLoadingProgressDict[p])) Açılır, loadingwindows.py / locale Aratılır, "name" : "FullGage", Eklenir, https://gyazo.com/35335dd805762e836792f76550d57304 örnek kısım, burdan bakın {                     "name" : "LoadingInfo_Text", "type" : "text", "x" : 190, "y" : -20, "text" : "",  "vertical_align" : "center",                 },

KANIT,

rh3baI.png



Metin2 Geliştirme Serisi: Python ile Loading Bar Ekranına Yazı Ekleme


Metin2 özel sunucularında kullanıcı deneyimini artırmak, hem estetik hem de fonksiyonel açıdan önemli detayları içerir. Bu detaylardan biri de oyun yüklenirken gösterilen loading bar ekranıdır. Loading bar, oyuna giriş sırasında oyun dosyalarının belleğe yüklenmesini görsel olarak takip ettirebileceğimiz bir progress bar'dır. Ancak bu ekrana sadece görsel değil, aynı zamanda dinamik metin de yazdırabiliriz. Bu yazılar sayesinde kullanıcıya neyin yüklendiği veya hangi işlem yapıldığı bilgisi verilebilir. Bu makalede Python dili kullanarak nasıl bir loading bar ekranına yazı yazdırabileceğimizi detaylıca inceleyeceğiz.

Loading Bar Nedir ve Nasıl Çalışır?

Metin2 özel sunucu geliştirme sürecinde, oyun başlatıldığında ilk karşılaşılan ekranlardan biridir loading bar. Genellikle uiscript dosyalarında tanımlanır ve Python GUI sistemleri üzerinden çalıştırılır. Loading bar genellikle bir progress bar ve bir label içerir. Label kısmı, o anda neyin yüklendiğini belirtmek için kullanılabilir.

Python GUI ve Uiscript ile Entegrasyon

Metin2 özel sunucularda, oyun arayüzü Python kullanılarak geliştirilir. Loading bar da bu yapıya dahildir. Öncelikle loading bar için bir Python sınıfı oluşturmak gerekir. Bu sınıf genellikle ui.py dosyasından türetilir. Loading bar'ın üzerinde bir metin yazdırmak için bir label nesnesi oluşturulur ve bu nesne progress bar'ın yanına yerleştirilir.

Örnek Kod Yapısı

Aşağıda basit bir loading bar sınıfında nasıl yazı yazdırabileceğimize dair örnek verilmiştir:

class LoadingBar(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.LoadWindow()

def LoadWindow(self):
try:
self.__LoadScript('loading_bar.py')
self.label = self.GetChild('label')
except:
return

def SetText(self, text):
if self.label:
self.label.SetText(text)


Bu yapı sayesinde loading bar üzerinde dinamik olarak yazı yazdırılabilir. Örneğin, 'Dosya 1/10 yükleniyor...' gibi mesajlar gösterilebilir.

Py Root ve Pack Dosyaları ile Entegrasyon

Loading bar sınıfı py root klasöründe yer almalıdır. Ayrıca, loading bar arayüzü .py dosyası paketlenmiş (pack) dosyalara eklenmelidir. Bu sayede oyun başlatıldığında loading bar doğru şekilde çalışır ve metin yazdırma işlemi başarılı olur.

Yazı Renk ve Stil Ayarlamaları

Loading bar üzerindeki yazının rengi, font boyutu ve stili de değiştirilebilir. Bu ayarlar genellikle uiscript dosyasında yapılır. Örneğin:

<Label>
<Text>Yükleniyor...</Text>
<Color>#FFFFFF</Color>
<Size>12</Size>
</Label>


Bu yapı sayesinde kullanıcıya daha estetik ve bilgilendirici bir loading bar sunulabilir.

Metin2 Geliştirme Sürecinde Loading Bar Kullanımı

Loading bar, sadece estetik bir özellik değil aynı zamanda oyun başlatma sürecinde kullanıcıyı bilgilendiren önemli bir ögedir. Loading bar üzerine yazılan metinler, kullanıcıya hangi dosyanın yüklendiği veya hangi adımın yapıldığı bilgisini verir. Bu sayede kullanıcı daha az bekleme hisseder.

Sonuç

Metin2 özel sunucularında loading bar ekranına yazı yazdırmak, kullanıcı deneyimini artırmak için küçük ama etkili bir yöntemdir. Python GUI sistemleri sayesinde bu işlem oldukça kolaylaştırılmıştır. Doğru yapılandırmalarla loading bar, sadece bir progress bar değil aynı zamanda bilgilendirici bir arayüz ögesi haline gelebilir. Loading bar üzerindeki yazılar, kullanıcıya oyun başlatma sürecinde neyin yüklendiğini anlatır. Bu da kullanıcı sadakati ve bekleme esnasındaki algılanan performansı artırır.


Metin2 Development Series: Writing Text on Loading Bar Screen with Python


Enhancing user experience in Metin2 private servers involves both aesthetic and functional details. One such detail is the loading bar screen displayed during game startup. The loading bar visually indicates the process of loading game files into memory. However, we can also print dynamic text on this screen. These texts provide information to the user about what is being loaded or which operation is taking place. In this article, we will examine in detail how to write text on a loading bar screen using the Python language.

What Is a Loading Bar and How Does It Work?

In the process of developing Metin2 private servers, the loading bar is one of the first screens encountered upon launching the game. It is typically defined in uiscript files and operated through Python GUI systems. The loading bar usually consists of a progress bar and a label. The label section can be used to indicate what is currently being loaded.

Integration with Python GUI and Uiscript

In Metin2 private servers, the game interface is developed using Python. The loading bar is part of this structure as well. First, a Python class for the loading bar must be created. This class typically inherits from the ui.py file. To display text on the loading bar, a label object is created and placed next to the progress bar.

Sample Code Structure

Below is an example showing how to write text on a simple loading bar class:

class LoadingBar(ui.ScriptWindow):
def __init__(self):
ui.ScriptWindow.__init__(self)
self.LoadWindow()

def LoadWindow(self):
try:
self.__LoadScript('loading_bar.py')
self.label = self.GetChild('label')
except:
return

def SetText(self, text):
if self.label:
self.label.SetText(text)


With this structure, dynamic text can be displayed on the loading bar. For example, messages like 'File 1/10 loading...' can be shown.

Integration with Py Root and Pack Files

The loading bar class should be located in the py root folder. Additionally, the loading bar interface .py file must be added to the packed files. This ensures that the loading bar works correctly upon game launch and that text printing is successful.

Text Color and Style Adjustments

The color, font size, and style of the text on the loading bar can also be changed. These settings are usually made in the uiscript file. For example:

<Label>
<Text>Loading...</Text>
<Color>#FFFFFF</Color>
<Size>12</Size>
</Label>


This structure allows for a more aesthetic and informative loading bar to be presented to the user.

Using Loading Bars in the Metin2 Development Process

The loading bar is not just an aesthetic feature but also an important element that informs users during the game startup process. The text written on the loading bar informs the user about which file is being loaded or which step is being executed. This way, the user feels less idle waiting time.

Conclusion

Writing text on the loading bar screen in Metin2 private servers is a small but effective method to enhance user experience. Thanks to Python GUI systems, this process has become quite easy. With correct configurations, the loading bar can become not only a progress bar but also an informative interface element. The texts on the loading bar inform the user about what is being loaded during the game startup process. This increases user loyalty and perceived performance during waiting times.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt