Opublikowano 29 Marca 20241 r Implementacja obsługi formatu .gif w kliencie gry możesz zastosować do animowanych interfejsów itp. Implementacja 📂 Lokalizacja pliku: 'EterLib -> GrpImage.cpp' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterLib -> GrpImage.h' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterLib -> Resource.cpp' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterLib -> Resource.h' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindow.cpp' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindow.h' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindowManager.cpp' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindowManager.h' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindowManagerModule.cpp' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'ScriptLib-> Resource.cpp' 🔎Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'UserInterface -> UserInterface.cpp' ➕Dodaj na górze 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'root -> ui.py' ➕Doda na dole 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Przykład użycia 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Pobieranie 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Skan 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się
Opublikowano 29 Marca 20241 r Elegancko, przydatne rozwiązanie, czy załadowany plik gif jest automatycznie odtwarzany w pętli? Ułatwi to implementację animowanych elementów. Ps; fajnie gdybyś używał podświetlania składni wybierając język w jakim kod został napisany, będzie bardziej estetycznie, a po za tym sztos poradnik.
Opublikowano 29 Marca 20241 r Autor 18 minut temu, Sevence napisał(a): Elegancko, przydatne rozwiązanie, czy załadowany plik gif jest automatycznie odtwarzany w pętli? Ułatwi to implementację animowanych elementów. Ps; fajnie gdybyś używał podświetlania składni wybierając język w jakim kod został napisany, będzie bardziej estetycznie, a po za tym sztos poradnik. Po załadowaniu pliku GIF, nie ma domyślnego automatycznego odtwarzania w pętli. Aby osiągnąć to zachowanie, konieczne będzie dodanie kodu obsługującego pętlę odtwarzania animacji w klasie CGifImageBox. Możliwe jest także dodanie metod do sterowania odtwarzaniem animacji, takich jak Play, Pause i Stop. Dodatkowo, można dodać parametr do metody LoadGif, aby umożliwić kontrolę nad pętlą odtwarzania, na przykład bool loop = true, który domyślnie byłby ustawiony na true. jest to jednorazowe wywolanie gifa ale mozna cos z tym pokminic np loga gildi animowane czy logo serwera przy logowaniu na przezroczystym tle zamiast miliona obrazkow udających animacje jak ma wiekszosc serwerów. Kod z turka aczkolwiek działa i nie zamula clienta loadem obrazków Edytowane 29 Marca 20241 r przez Sasori
Opublikowano 18 Lipca 202418 Lip Programista W dniu 29.03.2024 o 18:46, Sasori napisał(a): Po załadowaniu pliku GIF, nie ma domyślnego automatycznego odtwarzania w pętli. Aby osiągnąć to zachowanie, konieczne będzie dodanie kodu obsługującego pętlę odtwarzania animacji w klasie CGifImageBox. Możliwe jest także dodanie metod do sterowania odtwarzaniem animacji, takich jak Play, Pause i Stop. Dodatkowo, można dodać parametr do metody LoadGif, aby umożliwić kontrolę nad pętlą odtwarzania, na przykład bool loop = true, który domyślnie byłby ustawiony na true. jest to jednorazowe wywolanie gifa ale mozna cos z tym pokminic np loga gildi animowane czy logo serwera przy logowaniu na przezroczystym tle zamiast miliona obrazkow udających animacje jak ma wiekszosc serwerów. Kod z turka aczkolwiek działa i nie zamula clienta loadem obrazków Właśnie, że domyślnie obrazek jest odtwarzany w pętli, bo klasa CGifImageBox dziedziczy po klasie CAniImageBox. Wystarczy zwrócić uwagę na metodę CAniImageBox::OnUpdate() w której jest iteracja po klatkach przy użyciu pola m_bycurIndex, które po osiągnięciu maksymalnego indeksu wraca z powrotem do 0, a dokładniej w tym miejscu: ++m_bycurIndex; if (m_bycurIndex >= m_ImageVector.size()) { m_bycurIndex = 0; OnEndFrame(); } A zatem jeśli ktoś potrzebuje to może sobie dopisać funkcję do pojedynczego odtworzenia animacji, do zatrzymania po X czasie lub do wznowienia animacji. Warto dodać, że to rozwiązanie nie działa na spakowane gify. Gif będzie wyświetlony tylko w momencie gdy będzie on luźno wrzucony do klienta. W przeciwnym wypadku dostaniemy informację zwrotną w postaci błędu podczas wczytywania gifa
Opublikowano Niedziela o 17:363 dn W dniu 18.07.2024 o 11:25, KoYGeR napisał(a):Właśnie, że domyślnie obrazek jest odtwarzany w pętli, bo klasa CGifImageBox dziedziczy po klasie CAniImageBox. Wystarczy zwrócić uwagę na metodę CAniImageBox::OnUpdate() w której jest iteracja po klatkach przy użyciu pola m_bycurIndex, które po osiągnięciu maksymalnego indeksu wraca z powrotem do 0, a dokładniej w tym miejscu: ++m_bycurIndex; if (m_bycurIndex >= m_ImageVector.size()) { m_bycurIndex = 0; OnEndFrame(); } A zatem jeśli ktoś potrzebuje to może sobie dopisać funkcję do pojedynczego odtworzenia animacji, do zatrzymania po X czasie lub do wznowienia animacji. Warto dodać, że to rozwiązanie nie działa na spakowane gify. Gif będzie wyświetlony tylko w momencie gdy będzie on luźno wrzucony do klienta. W przeciwnym wypadku dostaniemy informację zwrotną w postaci błędu podczas wczytywania gifa+1 dzięki!
Opublikowano Niedziela o 17:443 dn 7 minut temu, Arta napisał(a):+1 dzięki!ta ja też dziękuje, podwójnie za kolegę wyżej.
Implementacja obsługi formatu .gif w kliencie gry możesz zastosować do animowanych interfejsów itp.
Implementacja
📂 Lokalizacja pliku: 'EterLib -> GrpImage.cpp'
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterLib -> GrpImage.h'
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterLib -> Resource.cpp'
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterLib -> Resource.h'
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindow.cpp'
🔎Szukaj
➕Dodaj
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindow.h'
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindowManager.cpp'
🔎Szukaj
➕Dodaj
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindowManager.h'
🔎Szukaj
➕Dodaj
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'EterPythonLib -> PythonWindowManagerModule.cpp'
🔎Szukaj
➕Dodaj
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'ScriptLib-> Resource.cpp'
🔎Szukaj
➕Dodaj
📂 Lokalizacja pliku: 'UserInterface -> UserInterface.cpp'
➕Dodaj na górze
📂 Lokalizacja pliku: 'root -> ui.py'
➕Doda na dole
Przykład użycia
Pobieranie
Skan