Skocz do zawartości
Chell

Temat zbiorczy na drobnostki

Rekomendowane odpowiedzi

Hej mam naprawdę dziwny problem...

 

Ukończyłem projekt w GMS 1.4999, i eksportuję go do .exe (wybieram opcję Single runtime executable.) -eksport na platformę Windows. Do tego momentu wszystko jest w porządku, program eksportuje się do .exe i mam jeden plik - zgodnie z przewidywaniami. Pakuje go do zipa, i wrzucam na serwer.

 

Z ciekawości pobrałem tego zipa na mój inny komuter -  Macbook. Oczywiście wiem, że taki plik .exe przygotowany pod Windowsa nie odpali mi się na Macu, ale nie to jest tu sednem problemu. Wyobraźcie sobie, że z ciekawości rozpakowałem tego zipa za pomocą jakiegoś MAC'owskiego odpowiednika Winrara ( jakiś dekompresor) , i.... w co nie mogę do tej pory uwierzyć, rozpakowało mi paczkę w taki sposób, że w folderze pojawił się nie tylko plik .exe , ale także wszystkie included files — dokładnie tak jakbym przy tworzeniu apki wybrał opcję : 'Compressed Applications Zip', a ja przecież wybrałem  'Single runtime executable'.  To oznacza, że przy pomocy jakiegoś dekompresora, uzytkownicy mogą mieć dostęp do included files.

 

Czy ja mam jakieś zwidy, czy rzeczywiście można sobie tak łatwo zdekompresować pojedyńczy .exe stworzony w GMS 1.4999 ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

"Single runtime executable" to tak naprawdę samo rozpakowujący się zip, który odpala exe ze środka. Na Windowsie jak go odpalasz to rozpakowuje się chyba do folderu %appdata%

 

Dlatego nie jest to najfajniejsza opcja. Wręcz przeciwnie. Jeżeli z jakiegoś powodu komputer ci się wyłączy podczas gry to śmieci zostaną rozpakowane i ukryte "gdzieś".
Instalator pozwala na pełne odinstalowanie danych, a zip na ich usunięcie bo je widzisz.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Oki, dzięki za informacje, czyli po prostu przed stworzeniem zipa albo instalatora muszę pousuwać zbędne 'Included files' (zwłaszcza te dotyczące assetu GMLive ) oraz niektóre z  'Extensions' . Oby tylko nie zcrashowało mi to apki w najmniej oczekiwanym momencie.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To jest taki stary i mało znany feature ZIPa, że mógł być EXEkiem. Niektóre instalatory w rzeczywistości są zipami i można im zmienić rozszerzenie, aby je rozpakować. RAR tego już nie ma.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Hej jak w prosty sposób zrobić tak, żeby za każdym kliknięciem myszki zmienna zwiększała sie o 1, ale tylko do 10 i następne kliknięcie będzie zmniejszało zmienną o 1 aż do zera. Gdy będzie zero, to znowu będzie zwiększana i tak w koło.

Chodzi mi o to, czy jest jakaś funkcja od tego, coś jak funkcja clamp(x, 0, 10); która zwraca liczbę z przedziału od 0 do 10, nawet jak dalej będziemy zwiększać X. Tylko mi potrzeba jeszcze żeby robiła się pętla zwrotna.

 

EDIT: for() while() odpada, bo pętla wstrzymuje kod, aż do jej zakończenia, a nie o to mi chodzi.

 

y += add;
if(y == 10){ add = -1; }
else if(y == 0){ add = 1; }

chodzi o takie coś, ale skrócone :/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Są dwie opcje. Pierwsza:

//create
way =1;
 

//event myszki
if (way == 1) {
    y += 1;
    if (y == 10) way = 0;
} else {
    y-=1;
    if (y == 0) way = 1;
}

Druga:

//create
result = 1;


//event myszki
result++;
if (result==10) result = -10;
y = abs(result);

  • Super (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Hej, mam drobnostkę dotyczącą display_get_width / display_get_height. 

 

W przypadku podłączonego monitora do laptopa, program  odbiera za pomocą tych funkcji szerokość i wysokość tylko monitora z laptopa, nawet jeśli przeniosę okno z grą na drugi moniotr - znacznie większy. Czy ktoś wie, jakiej funkcji mam użyć, aby window_get_width / window_get_height dotyczyło monitora, na którym okno z grą jest aktualnie wyświetlane?

 

Z góry dzięki za pomoc i pozdawiwam,

Dawid Maj

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GM tego chyba nigdy nie obsługiwał. A nawet wydaje mi się, że display_get_width / display_get_height podają sumę rozmiaru obu monitorów

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×