Skocz do zawartości

TO_mek

Użytkownicy
  • Postów

    346
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Treść opublikowana przez TO_mek

  1. O właśnie texture page szukałem w opcjach. Nie pomyślałem, że darmowy ma ograniczenie. W sumie podzieliłem tło na 4 mniejsze i wstawiłem 4 na rooma i jest ok.
  2. Witam! Mam problem z ostrością tła. ustawiam room na 2000x1500 i ładuję dokładnie takiej wielkości background. View ustawiam na 1024x768. Gdy w edytorze oglądam tło jest ostre jak żyleta, władowane w rooma w edytorze też. Odpalam projekt i .. wszystko nieostre. Bawię się na darmowym GM 1.4. Co jest nie tak?
  3. Mam m.in. GMS Master. Czy zniżka leci z automatu czy nie. Wyświetla mi ceny Desktop 99,99$, WEB 149,99$, UWP 399,99$, Mobile 399,99$. Czy to ceny po rabacie? Wczoraj gdzieś na głównej widziałem, że aktualizacje od 49$ więc coś nie halo. A może najpierw trzeba wpisać swoje licencje z palca na swoje konto i dopiero uwzględnia rabaty?
  4. Ktoś się orientuje jak wygląda zakup aktualizacji z Master do odpowiednika wersji GM 2? Trzeba kolejne moduły kupić czy w grę wchodzi licencja czasowa tylko?
  5. Promocja na zakup GM. Warto wrzucić informacje na główną stronę www. https://www.humblebundle.com/gamemaker-rebundle
  6. Już wiem o co chodzi. Wersja darmowa nie posiada tych ustawień. Przełączyłem się na moją licencję pro i są.
  7. Ok to będzie to ale gdzie to jest teraz ukryte w opcjach?
  8. Witam! Przeportowałem sobie ostatnio projekt z jakiegoś starszego GM Studio do wersji 1.4.1763 i mam problem z tłem. W minigierce mam dwa tła w użyciu dalszy i bliższy plan i efekt paralaxy. Ten szerszy ma 4500x800 i niestety obecnie jest wczysytwany bardzo rozmyty. W samym edytorze widać go prawidłowo natomiast po uruchomieni gierki jest strasznie rozmyty. Pamiętam, że kiedyś dało się ustawić ilość pamięci na pliki spr i tła ale obecnie nie mogę takiej opcji znaleźć w ustawieniach (a może to było tylko dla wersji HTML5). Gdzie może tkwić problem? Mam działającego exe ze starszej wersji i tam nadal wszystko jest prawidłowo więc to nie może być raczej nic sprzętowego.
  9. No tyle, że tam się też muszę zalogować. Pozostaje chyba założyć konto na innego maila i napisać.
  10. Nie działa przypominanie hasła bo system twierdzi, ze takiego maila nie ma w bazie.
  11. Witam! Ktoś się spotkał z podobnym problemem? Dziś chciałem zalogować się na yoyogames na moje konto na którym mam zarejestrowane wszelkie licencje na GM i niestety strona yoyogames twierdzi ze takie konto nie istnieje (przy próbie odzyskiwania hasła). W historii maili mam, że po raz ostatni otrzymywałem informacje o licencjach 28.01.2016r. i wtedy wszystko działało. Zresztą na tego maila przychodzą od nich różne wiadomości, ostatnia z 07.10.2016r. Czy w ostatnim czasie ktoś także stracił konto? Co proponujecie zrobić? Zakładać nowe konto na innym adresie email i pytać co się stało z moim adresem czy próbować zakładać na tym moim mailu ponownie konto (czy to nie pokasuje u nich moich licencji)?
  12. Ok. Pomijając koszty, jak się zabrać za wykorzystanie API. Z tego co widzę API ms bing translator ma pierwszy milion słów darmowy. W zupełności by to starczyło :)
  13. Witam! Jak się zabrać za zrobienie programu do tłumaczenia tekstów oraz odczytującego dźwięki, który korzystałby z Google Translatora? Czyli wpisuję wyraz po polsku a program łączy się z GT i tłumaczy na EN oraz dodatkowo odczytuje go po polsku i angielsku. Czy ktoś się już w coś takiego bawił i czy zna ktoś jakieś przykłady? Kiedyś Kryniak zrobił Google Porish Translator ale nie dawał źródeł, konto ma obecnie zbanowane, strona projektu nie działa a w upload u niego tez nic nie widzę.
  14. Przerabiałem to już jakiś czas temu w edit nr 2, gdy konwertowałem HS i SAVE z GM 8.1 na HTML5. Dla przykładu treść HigScore z mojej produkcji po zapisie ds_map_write() z GM:S GML {"width":6,"height":4,"body":["Zuzia umyła auto","Xperia html5 firefox","Zuzia","Retrospect Workshop","android gr","żźćąśęółńŃŁÓĆŹŻĄŚĘ Da", 851,751,688,637,614,599,3,5,2,5,4,1, "B:130.59 K:18.42 U:738.84 Br:640 Bt:257 Tl:22.35","B:123.88 K:17.16 U:644.38 Br:1578 Bt:232 Tl:23.75","B:129.84 K:51.51 U:609.23 Br:1922 Bt:692 Tl:21.75", "B:115.81 K:41.72 U:563.02 Br:2403 Bt:564 Tl:26.27","B:109.97 K:35.05 U:538.94 Br:2469 Bt:442 Tl:26.20","B:137.58 K:11.54 U:472.95 Br:3295 Bt:155 Tl:19.35"]} Więc format jak najbardziej czytelny. W GM 8.1 to był ciąg cyfr.
  15. I w ten sposób w stepie wykonuje ci zbędny kod co krok. Spróbuj w create obiektu enemy1_body_head ustawić alarm[0]:=1; a do alarmu wrzuć przypisanie image_angle=cialo.image_angle. Jeśli to pomoże to oznacza, że pierwsza linijka obiektu body tworząca głowę tworzy obiekt, który od razu wykonuje kod ze swojego create a przypisanie own_head.cialo=self.id w body następuje później. Z tym, że w GM 8.1 był zupełnie inny format zapisu danych (dla laika nieczytelny), natomiast te funkcje w GM:S zapisują już w formacie JSON (czytelny niemal jak zwykłe ini) i zapisy są niekompatybilne. Trop: sprawdź czy plik wykonywalny pod task managerem zużywa coraz więcej pamięci w windowsie. Ja tak kiedyś miałem jak źle zwalniałem pamięć przy ładowaniu kolejnych backgroundów z pliku u używaniu surfejsów. Chodzi o samą filozofię budowania ogromnych światów. Sprawa sprowadza się do wyświetlania w jednym czasie tak naprawdę tylko jednego rooma o wielkości Viewa a reszta jest przechowywana w tabelach. Podczas "przesuwania" ekranu tak naprawdę przesuwasz same obiekty generując je na bieżąco na podstawie danych w tabelach. Przykłady w artykułach są dla Delphi ale polecam przeczytać całość i zaadaptować dla swoich potrzeb. Budując świat w ten sposób można praktycznie zrobić grę o przeogromnej mapie na przysłowiowy wyświetlacz z pralki.
  16. Odkopię temat ale swego czasu bardzo pomocne przy tworzeniu ogromnych lokacji były dla mnie artykuły o "Gigantach świata 2d" na stronie epomoce.pl GML http://www.epomoce.pl/spisgieromega.php?Lewy=1
  17. Witam! Czy załadowany do pamięci background lub wczytany na surface jest przechowywany w jakiejś dostępnej tabeli w pamięci? Chodzi mi o to czy jeśli chcę stworzyć tablicę zawierającą wartości wszystkich pikseli z obrazka to muszę je kolejno odczytywać poprzez funkcje getpixel czy może jest sprytniejszy sposób dostępu do informacji o kolorach bez konieczności ich kopiowania?
  18. Podany teledysk jest odwrotnością tego co piszesz powyżej. W teledysku przesuwa się tło a postać stoi w miejscu (jak na starych filmach widok przesuwającego się tła widoczny w oknie nieruchomego samochodu). To w końcu ten Twój gracz stoi w jednej pozycji (jak w teledysku) czy chodzi po ekranie i dochodzi do krawędzi? W pierwszym przypadku wystarczy wyświetlać dwa tła i w DRAW dać: GML draw_background(background0,poz_x,0); //rysuje tlo nr1 draw_background(background0,poz_x-room_width,0);//rysuje drugie tlo przesuniete wzgledem pierwszego o szerokosc rooma draw_sprite(sprite0,-1,x,y);//wyswietla sprajt obiektu gracza a w klawiszach sterujących LEFT GML //Left poz_x++;//przesuwa tla w prawo if poz_x>room_width then poz_x:=0 RIGHT GML //Right poz_x--;//przesuwa tla w lewo if poz_x<0 then poz_x:=room_width w CREATE musi być zdefiniowana zmienna poz_x GML //Create image_speed:=0.1//predkosc animacji psa na biezni poz_x:=0;//pozycja poczatkowa tla W drugim przypadku, gdy postać jednak idzie po ekranie i dochodzi do krawędzi, tło jest nieruchome a jedynie potrzebujesz wyświetlać dodatkowo sprajt gracza po przeciwnej stronie ekranu (jeśli zależy Ci na tym by niewidoczna część gracza przy prawej krawędzi była już równocześnie widoczna przy lewej) lub zwyczajnie zamieniać pozycję x obiektu gracza po wyjściu za ekran (załóżmy gdy gracz jest szerokości 64px i origin masz na środku to idąc w prawo dajesz coś w rodzaju: GML if x > (room_width+32) then x:=-32 a idąc w lewo GML if x<-32 then x:=room_width+32
  19. No chyba nie do końca tak przy takim widoku z boku jak na tym niewyraźnym screenie. Jeśli obiekt nie będzie symetryczny (np. bron w prawej ręce) to w lustrze będzie nieprawidłowe odbicie. Podobnie gdy obiekt który się porusza ma efekt taki,że jak stanie to w tym momencie zwraca się "twarzą do ekranu" - wtedy w lustrze powinny być widoczne plecy. Tak czy siak wystarczy użyć rysowania sprajta (a nie tworzenia zbędnego drugiego obiektu) ewentualnie odpowiednio przeskalowanego i przesuniętego względem punktu obiektu gracza oraz pilnowania by wyświetlały się sprajty lustrzane.
  20. Witam Jest jakaś gotowa funkcja do sprawdzania zgodności "podsiatki" w siatce? Czyli jest siatka i chciałbym aby funkcja sprawdzała zgodność mniejszej siatki (0,0 1,1) i zwracała ilość zgodnych wartości (4 dla wszystkich trafień, 0 dla braku zgodności).
  21. Czyli także kolizje obiektu z reklamą odpadają? Jeśli znana jest pozycja i rozmiar to obiekt bez grafiki tylko na kolizje coś da? Chodzi mi o to czy przy kolizji z tym obiektem można zasymulować kliknięcie w reklamę i jej normalne otwarcie jak przy prawdziwym dotknięciu ekranu palcem?
  22. "Płaci mi reklamodawca". Czyli należy zawrzeć z nim umowę (umowa poprzez założenie konta internetowego)? Jeśli umowa to podlega opodatkowaniu i należy rozliczyć się z US zwykłym PITem i na 100% nie potrzeba działalności? Jak to wygląda w praktyce nie mając działalności bo trudno zakładać działalność stawiając jedynie na aplikacje mobilne (przynajmniej na początku to nie ma sensu)? Interesuje mnie google, applestore i winphone. Opłaty roczne za AS są najwyższe (99$/rok) za WP 19$/rok za Google jednorazowo 25$. Gdyby okazało się, że faktycznie płatne aplikacje w WP można rozliczać zwyczajnie na PIT bez działalności to dla testów chyba najrozsądniej tam coś próbować (mimo najmniejszego rynku) a Google jedynie w przypadku aplikacji wyłącznie darmowych zawierających reklamy. AppStore już w momencie gdy aplikacja jest pewna i przyniesie zyski wyższe niż opłaty roczne (i wciąż bez działalności). Na samym końcu płatne aplikacje w Google po założeniu DG. Spotkałem się z pytaniem czy czasem aplikacja wyświetlająca reklamę nie jest już "wynajęciem powierzchni reklamowej" (antyweb), co podlega już pod DG. EDIT: Co do reklam to znalazłem dosyć ciekawy artykuł też na antyweb I jeszcze jedna opinia: W Windows Phone Store, aby wypłacać pieniądze, trzeba wypełnić dokument W8B i wysłać go do Redmond (jest to warunek konieczny). Wtedy potrącone nam zostanie 30% kwoty podatku dochodowego w USA. Jeśli chcemy, żeby podatek nie był nam potrącany w USA ale płacony w Polsce, musimy mieć tzw. numer ITIN (Individual Taxpayer Identification Number). Można go uzyskać na kilka sposobów. Jednym z nich jest udanie się do ambasady (Źródło).
  23. Po co zapisywanie reklam? Coś na zasadzie: która z reklam była wyświetlana podczas gry, prawidłowa odpowiedź jakiśtam bonus. Wiem, że reklamy to i tak słaby pomysł bo ponoć 1000 kliknięć to około 1zł a statystycznie raz na 100 wyświetleń ktoś klika w reklamę czyli teoretycznie złotówka wymaga 100000 wyświetleń reklam. Kokosów z tego na pewno nie ma. Co do pytań. Czy zakupy w aplikacji są w jakiś sposób powiązane z kontem tak by pominąć oszustwa. Czy może powiązać grę z kontem na jakimś serwerze i wszelkie zapisy o bonusach, zakupionych dodatkach itp. trzymać w bazie a gra wymagałaby logowania. Do tego jeszcze jakieś powiązanie loginu z użytkownikiem na zasadzie sprawdzania nr telefonu czy coś podobnego. Tylko czy to ma sens jeśli gra nie ma być online, tzn. czy i tak ktoś tego nie przerobi tak aby całkiem omijało logowanie i bonusy wymaksuje. Na pewno ktoś już coś takiego też przerabiał.
  24. Witam! Ma ktoś jakieś doświadczenie z dodawaniem do aplikacji mikropłatności i/lub reklam pod androida iOS ewentualnie winphone8? Trzeba mieć już konto developerskie aby przetestować wyświetlanie reklam? Jak zabrać się za mikropłatności? Znacie jakieś tutoriale, które w prosty sposób krok po kroku uczą co i jak? Czy dana reklama wyświetla się jako animgif? Można takie reklamy zapisać do postaci sprajta by po czasie je ponownie wyświetlić już jako zwykła animacja?
  25. Witam! Jak prawidłowo powinna wyglądać obsługa kilku zdarzeń asynchronicznych. W moim projekcie mam na razie 2 typu dialog i już o jeden za dużo bo są konflikty. Pierwszy asynchron to: msg:=show_question_async('Quit?'); po wciśnięciu klawisza Backspace z obiektu w którym zdefiniowane jest zdarzenie dialog, drugi to: msg:=get_string_async("You get the best position in the High Score table! Enter the name. ","Retrospect Workshop"); pytanie o imię gracza w celu zapisu go do HS, wywoływane z innego obiektu. W evencie Dialog pierwszego obiektu mam: GML //blok obsługujący Backspace var i_d, stat; //Backspace dla wyscia z gry i_d = ds_map_find_value(async_load, "id"); if i_d == msg{ if ds_map_find_value(async_load, "status"){ game_end(); } } //blok obsługujący zapytanie o Imię do HS var i_d = ds_map_find_value(async_load, "id"); if i_d == msg { if ds_map_find_value(async_load, "status") { if ds_map_find_value(async_load, "result") != "" { drawer_obj._imie = ds_map_find_value(async_load, "result"); } } } Po pierwsze mimo, że drugie pytanie (o imię do HS) wywołuję z innego obiektu to i tak obsługuje go zdarzenie z pierwszego obiektu. Po drugie zarówno pierwszy jak i drugi próbuje obsłużyć cały kod - co wydaje się logiczne bo prawie niczym się nie różnią oba bloki i niby jak ma być to rozróżnione. Szukałem w dokumentacji ale tam nie znalazłem przykładów na kilka zdarzeń asynchronicznych a pewnie jest to banalne. Kolejna sprawa to samo działanie asynchroniczne. Wiem, że zadanie pytania o imię do HS nie zatrzymuje gry i wynika to m.in. przez to, że pytanie tradycyjne get_string zawiesza grę podczas gdy telefon traci fokus ale w poniższym pseudokodzie działanie asynchroniczne jest bez sensu i powoduje zawsze zapisanie gracza jako "Anonim". GML msg:=get_string_async("You get the best position in the High Score table! Enter the name. ","Retrospect Workshop"); _imie:=msg; //miejsce na petle ktora czeka na rezultat if string_length(_imie) < 1 then _imie:="Anonim"; ds_grid_set(global.hs,0,0,_imie);//i wpisz na 1 miejsce imie Gracza ds_grid_set(global.hs,0,1,score);// i jego punkty</span></span> Czyli i tak należy wykonywać jedną z pętli dopóki msg nie będzie miał asynchronicznie nadanej wartości? Ale czy to nie zawiesi gry w momencie utraty fokusa? EDIT: Brakowało w CREATE obu obiektów zadeklarowania zmiennych msg=-1; Dodatkowo zmienłlem nazwę zmiennej w drugim bloku GML //blok obsługujący zapytanie o Imię do HS var i_dd = ds_map_find_value(async_load, "id"); if i_dd == msg Pozostaje problem z zatrzymaniem wykonywania skryptu zapisującego HS do momentu, gdy użytkownik zdąży wpisać swoje imię.
×
×
  • Dodaj nową pozycję...