- Katılım
- 26 Eki 2021
- Konular
- 196
- Mesajlar
- 909
- Çözüm
- 6
- Online süresi
- 3mo 6d
- Reaksiyon Skoru
- 962
- Altın Konu
- 39
- Başarım Puanı
- 184
- Yaş
- 28
- MmoLira
- 5,274
- DevLira
- 36
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Butonları sizin için otomatik olarak düzenleyen ve açılma/kapanma animasyonuna sahip dinamik bir kenar çubuğu (Sidebar).
Bunu zamanında can sıkıntısından yazmıştım, belki birilerinin işine yarar. Kodun tamamı tarafımdan yazılmıştır. Şu anda hâlâ bazı "magic number" değerleri bulunuyor; eğer talep olursa bunları daha düzgün ve yapılandırılabilir şekilde düzenleyebilirim.
Kod optimizasyonu önerileri memnuniyetle kabul edilir.
Kod:
IS_ANIMATED = True
Animasyonun etkin olup olmadığını belirler.
ANIMATION_SPEED = 15
Animasyon hızı (her güncellemede kaç piksel hareket edeceği).
MAX_ROW_COUNT = 7
Yeni bir sütuna geçmeden önce bir satırda bulunabilecek maksimum buton sayısı.
VISIBLE_WIDTH_ON_COLLAPSE = 8
Sidebar kapalı durumdayken ekranda görünür kalacak genişlik (piksel cinsinden).
HOVER_MARGIN = 0
Fare ile üzerine gelme (hover) algılama alanını genişletir (piksel cinsinden).
Dosyayı İndir:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Virustotal :
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Python: uidynamicsidebar.py
Kod:
self.buttonConfig = [
{
"NORMAL": "d:/ymir work/ui/game/taskbar/character_button_01.sub", # Normal Button Image
"OVER": "d:/ymir work/ui/game/taskbar/character_button_02.sub", # Over Button Image
"DOWN": "d:/ymir work/ui/game/taskbar/character_button_03.sub", # Down Button Image
"EVENT": lambda: self.interfaceInstance.ToggleCharacterWindow("STATUS"), # Function to call on click
"TOOLTIP": "Character", # Tooltip Text on hover
},
{
"NORMAL": "d:/ymir work/ui/game/taskbar/inventory_button_01.sub",
"OVER": "d:/ymir work/ui/game/taskbar/inventory_button_02.sub",
"DOWN": "d:/ymir work/ui/game/taskbar/inventory_button_03.sub",
"EVENT": lambda: self.interfaceInstance.ToggleInventoryWindow(),
"TOOLTIP": "Inventory",
},
{
"NORMAL": "d:/ymir work/ui/game/taskbar/community_button_01.sub",
"OVER": "d:/ymir work/ui/game/taskbar/community_button_02.sub",
"DOWN": "d:/ymir work/ui/game/taskbar/community_button_03.sub",
"EVENT": lambda: self.interfaceInstance.ToggleInventoryWindow(),
"TOOLTIP": "Community",
},
{
"NORMAL": "d:/ymir work/ui/game/taskbar/system_button_01.sub",
"OVER": "d:/ymir work/ui/game/taskbar/system_button_02.sub",
"DOWN": "d:/ymir work/ui/game/taskbar/system_button_03.sub",
"EVENT": lambda: self.interfaceInstance.ToggleInventoryWindow(),
"TOOLTIP": "System",
},
]
Python: interfacemodule.py
Kod:
import uiDynamicSidebar
Kod:
self.wndChat = None
Altına Ekle
self.wndDynamicSidebar = None
Kod:
wndChatLog = uiChat.ChatLogWindow()
Altına Ekle
wndDynamicSidebar = uiDynamicSidebar.DynamicSidebar()
wndDynamicSidebar.BindInterface(self)
wndDynamicSidebar.ForceClose()
Kod:
self.wndChatLog = wndChatLog
Altına Ekle
self.wndDynamicSidebar = wndDynamicSidebar
Kod:
del self.wndChat
Altına Ekle
del self.wndDynamicSidebar


