berzahx 2
berzahx
xranzei 1
xranzei
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
romegames 1
romegames
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Best Studio 1
Best Studio
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Smooth Dynamic Sidebar

  • Konuyu başlatan Konuyu başlatan Silverhand
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 76

Silverhand

SilveriusPanel
TC Kimlik Numarası Doğrulanmış Üye
Moderator
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
Ticaret - 0%
0   0   0

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: Virustotal :

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
 

Şu an konuyu görüntüleyenler (Toplam : 2, Üye: 2, Misafir: 0)

Geri
Üst