Shin Opublikowano 24 Listopada 2013 Udostępnij Opublikowano 24 Listopada 2013 Witam. W jaki sposób zmodyfikować grę, aby ta po zakończeniu zwracała wynik(score) do aplikacji która ją wykonała? Opis szczegółowy: Mam aplikację w Javie oraz grę wyklikaną w GM. Aplikacja będzie uruchamiać grę, oczekuje ona na zakończenie gry oraz zwrócenie przez grę wyniku. Wynikiem tym ma być uzyskana lista punktów przez danego gracza(score). W związku z tym, poszukuje możliwości zwrócenia wyniku z gry. Odpowiednik return z main w c++. Drugie pytanie: jak odczytać w grze parametry przesłane jako argumenty podczas uruchamiania gry? w c++ było w mainie arc[] parameter_count() - liczba parametrów parameter_string(n) - kolejne parametry Mam nadzieję że ktoś wyjaśni mi w miarę łatwo jak tego dokonać. Z góry dziękuję i pozdrawiam Shin Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 24 Listopada 2013 Udostępnij Opublikowano 24 Listopada 2013 GM Ci tego nie umozliwi. podstawowe pytanie: w jakim celu w ogole musisz zrobic wrappera w Javie do odpalania GMowej apki? Możliwe rozwiązanie: przed wyjściem z gry, wysylasz broadcasta po sieci lokalnej i w apce Javowej odbierasz go i odczytujesz z niego wynik. Drugie możliwe rozwiązanie: zamiast broadcasta, robisz tymczasowe połączenie po sieci lokalnej z apką w Javie i wysyłasz jej wynik, a ona go odbiera. Trzecie możliwe rozwiązanie, zdaje sie najprostrze: tworzysz plik z ostatnim wynikiem gry i zapisujesz go przed wyjściem w folderze temp, skąd po wyjściu z gry, apka Javowa odczytuje ostatni wynik z tegoż pliku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 24 Listopada 2013 Autor Udostępnij Opublikowano 24 Listopada 2013 Dziękuję za szybką odpowiedź. Taki temat projektu na studiach, mam zrobić apkę, która "zarządza" grami. Jako że sama gra(docelowo kilka gier) nie są częścią projektu to postanowiłem uprościć sobie życie i je zrobić na szybko w GM zamiast od 0 pisać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 24 Listopada 2013 Udostępnij Opublikowano 24 Listopada 2013 ok, w takim razie Twój wrapper ma jakiś sens. tak więc najprostrzymi i najmniej problemowymi rozwiązaniami są te z plikiem i broadcastem (mimo to trudniejszy w więszej części od pliku). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 24 Listopada 2013 Autor Udostępnij Opublikowano 24 Listopada 2013 Opcja z plikiem mi przypadła do gustu. Niestety za łatwo być nie może i dostaje błąd "File not opened for writing." Kod: adres = "C:\%temp%\abc.txt"; plik = file_text_open_write(adres); file_text_write_real(plik, score); file_text_close(plik); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 24 Listopada 2013 Udostępnij Opublikowano 24 Listopada 2013 najprosciej uzyj woring_directory, lub temp_directory (nie pamietam, czy jest, czy nie, ale jak nie, to working_directory sie nada -> dokumentacja GMLa) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 24 Listopada 2013 Autor Udostępnij Opublikowano 24 Listopada 2013 No niestety. Mam problem sprawdzić, czy plik tam jest, ponieważ cały ten folder jest usuwany automatycznie po zakończeniu gry. Plik mam na pulpicie, stworzony jako gotowa aplikacja a nie plik instalacyjny. Tuż przed zapisem wyświetlam working_directory i dostaje takie coś: "C:\Users\Shin\AppData\Local\Temp\IXP000.TMP" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Listopada 2013 Udostępnij Opublikowano 24 Listopada 2013 spróbuj z tym GML plik = get_save_filename(filter, fname); plik = get_save_filename_ext(filter, fname, directory, caption); czy tam get_open_filename Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 24 Listopada 2013 Autor Udostępnij Opublikowano 24 Listopada 2013 Niestety w wersji którą mam nie ma tych funkcji :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Listopada 2013 Udostępnij Opublikowano 24 Listopada 2013 Tzn jakiej? Co do tych parametrów, taki przykład użycia prosto z mojej gry: GML if ( parameter_count() > 0 ) { param = parameter_string(1); switch ( param ) { case "-CvC": gGameMode = 0; break; case "-CvP": gGameMode = 1; break; case "-PvC": gGameMode = 2; break; case "-PvP": gGameMode = 3; break; default : gGameMode = 1; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 25 Listopada 2013 Autor Udostępnij Opublikowano 25 Listopada 2013 Korzystam z wersji darmowej. Co do samych parametrów dziękuję za przykład. Zechcesz może dodatkowo wytłumaczyć mi jak zrobić coś takiego. Jako parametr dostaję ścieżkę do pliku graficznego, który ma zastąpić obecnie wykorzystywany sprite w obiekcie o nazwie np oPilka. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Listopada 2013 Udostępnij Opublikowano 25 Listopada 2013 No tak ale free GMS czy free GM8.1? Bo różnica jest kolosalna. GMS jest sandboxowany więc nie przejdzie takie coś. Tylko za pomocą get_save i get_open da się wczytać pliki z poza sandboxa. Z drugiej strony żeby móc wykorzystać funkcje od wczytywania zasobów z zewnątrz w GM8.1 to trzeba mieć pro :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 25 Listopada 2013 Autor Udostępnij Opublikowano 25 Listopada 2013 Free Edition v1.2.1220 Pobrane z http://www.yoyogames.com/studio wersja darmowa - Studio Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Listopada 2013 Udostępnij Opublikowano 25 Listopada 2013 No to musisz mieć funkcje get_open i save edit: chyba że faktycznie nie było ich hmm sam już nie wiem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 25 Listopada 2013 Autor Udostępnij Opublikowano 25 Listopada 2013 Podpowiadać, podpowiada mi ją. Lecz kiedy ja wpisze, to na dole mam: ERROR at line 6 pos 11: Unknown function or script get_save_filename to samo jak chce użyć get_save_filename_ext Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 25 Listopada 2013 Udostępnij Opublikowano 25 Listopada 2013 Przeczytaj newsa na stronie głównej, jeszcze się załapiesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 25 Listopada 2013 Udostępnij Opublikowano 25 Listopada 2013 Nie możesz ich użyć w wersji Free. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 25 Listopada 2013 Autor Udostępnij Opublikowano 25 Listopada 2013 Dziękuję za pomoc. Jestem szczęśliwym posiadaczem wersji standard. Funkcja get_save_filename działa, zapisuje ładnie wynik do zmiennej adres. W następnym kroku próbuję sprawdzić czy nie zwróciła pustego ciągu... i tu kolejne schody bo ani if( adres != "") ani if( adres != 0 ) nie chce zadziałać. -------------------------------------------------------- Inne pyanie: Czy w tej wersji już można zrobić jakiś myk aby w zależności od parametru podczas uruchomienia piłeczka w grze miała inny kolor? Np. parameter_string(1) == 1 to piłeczka ma kolor czarny ( inny sprite, wczytana z pliku grafika etc) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 25 Listopada 2013 Udostępnij Opublikowano 25 Listopada 2013 parameter_string() nigdy nie zwroci pustego stringu, gdyz parametry te sa tworzone w sposob taki, iz string argumentow przekazanych do programu to jeden ciag znakow dzielony na pomniejsze stringi na zasadzie szukania spacji i tabulatorow i dzielenia stringa argumentow wedle nich. np: "-i input.file -a 1 -c" podzieli nam to na parametry: "-i", "input.file", "-a", "1", "-c" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shin Opublikowano 25 Listopada 2013 Autor Udostępnij Opublikowano 25 Listopada 2013 Poprawiłem te 2 pytania. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie 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ę poniżej.
Zaloguj się