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
53 minuty temu, gnysek napisał:

@nowy_user dodane 6 sierpnia, jak na zamówienie, sprawdza ile ekranów jest: https://marketplace.yoyogames.com/assets/8517/display_measure

Właściwie to chyba nawet na zamówienie, bo zadałem podobne pytanie na GMC i ten użytkownik też mi tam odpisał...  :D asset działa tylko na Windowsa, a mi zależało też na MAC'u, ale możliwe, że skorzystam z tego programu.

 

Pozdrawiam,

nowy_user 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Gdy klikam aby wystartować grę to gra po naładowaniu włącza się tak jak widać na załączonym obrazku.

Byłbym bardzo zadowolony gdyby ktoś mógł mi wytłumaczyć czemu tak się dzieje i jak to naprawić.

Przechwytywanie2.PNG

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wygląda na to że masz ustawione w pierwszym room width i height room albo view na bardzo małą wartość. Pokaż screena

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Width i height mam ustawione na 1080 na 720 więc nie wydaje mi się żeby to było tak mało :/

Przechwytywanie3.PNG

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A twój view?

  • Lubię (+1) 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A mógłbym się dowiedzieć gdzie jest view bo dopiero zacząłem używać tego programu i nie wszystko jeszcze ogarniam

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie było tam nigdzie napisu VIEW ? :)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No właśnie nie wiem gdzie ma być to view. Czy ktoś może powiedzieć dokładnie gdzie to jest?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

image.png

 

Drugi tab. Wiesz, że ten program ma coś takiego jak dokumentacja (przycisk F1 podaj, Menu Help też ma skrót) i tam jakbyś wpisał view to wszystko jest opisane?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

jeśli tworze var x=buffer_create(), a potem go nie usuwam, to on ciągle siedzi w pamięci, do wyłączenia gry?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jak piszą w dokumentacji do polecenia buffer_create - "pamiętaj aby usunąć z pamięci", więc tak, siedzi tam ciągle i nie ma garbage collectora. Garbage collector w GMie jest na instancje z niezaznaczonym persistent i tablice.

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ę.

×