Skocz do zawartości

Threef

Moderatorzy
  • Postów

    2 911
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    14

Treść opublikowana przez Threef

  1. To akurat jest przykład screenów które nic nie wnosza
  2. Takie poruszanie, jakie opisałeś nie jest łatwe. Zaczynając od tego, że musisz rysować swój joystick na ekranie. Czego sposobów jest sporo. Najprostszy to rysowanie na warstwie GUI na stałej pozycji. ///Draw GUI //oczywiście koordynanty dobierz pod rozdzielczość i UI _x = 64 _y = 720-64 _r = 32 draw_circle(_x,_y,_r,1) Tu będziesz miał od razu ustawione pozycje joysticka jako zmienne. Możemy je teraz wykorzystywać przy wykrywaniu inputu. Pytanie jest jednak jak w ogóle porusza się twoja postać? Bo sposobów są setki. if(mouse_check_button(mb_left)) { var mx = display_mouse_get_x(); var my = display_mouse_get_y(); if(point_in_circle(mx,my,_x,_y,_r)) { direction = point_direction(_x,_y,mx,my) speed = point_distance(_x,_y,mx,my) } } Oczywiście ustawienie direction i speed to tragiczne rozwiązanie... ale to jest kierunek w jakim ten przykład będzie podążać. Samo wykrywanie joysticka też jest tylko konceptem który jest tragiczny. Traci input gdy wyjedziesz palcem poza joystick. Musisz sprawdzać czy pierwsze dotknięcie jest na joysticku i czy gracz kontynuuje trzymanie palca Jakbyś pokazał screen to rozwiał byś 80% pytań.
  3. My potrzebujemy więcej informacji. Nie mamy pojęcia, jaką masz kamerę, nie wiemy jak chcesz sterować i co znaczy "będę mógł obracać obiektem o 360 stopni i poruszać nim". Opisz problem lepiej, jeśli oczekujesz "szczegółowych" odpowiedzi.
  4. Bo pisał z Linuksa z jakiejś przeglądarki. Tam domyślnie do postów na forach dodawało twoją stopkę.
  5. Ja to zawsze robię przez jeden nadrzędny obiekt kontroler. Nazwijmy go sobie "oControl". Teraz u ciebie po kliknięciu będziesz przypisywał do niego ID oMonster. /// oMonster - STEP with(instance_nearest(mouse_x, mouse_y, oMonster){ // Musiałem tego użyć, żeby poruszał się objekt, którego klikam if(mouse_check_button_pressed(vk_left) && collision_ponit(mouse_x, mouse_y, oMonster, true, false)){ animuj = true; oControl.monster = id } } Trzeba to jeszcze rozwinąć o sprawdzenie, czy tylko jeden może być kliknięty: /// oControl - CREATE monster = noone /// oMonster - STEP with(instance_nearest(mouse_x, mouse_y, oMonster){ // Musiałem tego użyć, żeby poruszał się objekt, którego klikam if(mouse_check_button_pressed(vk_left) && oControl.monster==noone && collision_ponit(mouse_x, mouse_y, oMonster, true, false)){ animuj = true; oControl.monster = id } } Brakuje jeszcze odznaczania. Więc gdzieś musisz ustawiać oControl.monster = noone. Wyświetlanie oczywiście już nie jest takie jak dałeś, a: /// oMonster - DRAW if(oControl.monster == id){ y += swith; // na starcie swith=1 if(y >= 110){ swith = -1; } else if(y <= 100){ swith = 1; } }
  6. "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.
  7. Threef

    Szukam programu

    Ja nagrywam gify tak: if(keyboard_check(vk_f9)) { screen_save("rec/"+string(100000000000+(get_timer()/1000))+".png") } A montuję tak: mencoder.exe "mf://*.png" -mf fps=30 -o output.avi -ovc xvid -xvidencopts bitrate=9999999 Potrzebny Ci tylko mencoder.exe który jest ogólnie dostępny
  8. Nie Chell, to nie będzie już działać. Żeby wykorzystać to co pisałem potrzebujesz podstawowej znajomości PHP, jakiegoś serwera WWW z PHP i tylko kilku funkcji. W GM wysyłasz mail funkcją http_get() na adres twojego skryptu z parametrami GET. Wygląda to tak: wiadomosc = "Test maila" http_get("http://www.mojastrona.pl/skrypty/slijmail.php?wiadomosc="+string(wiadomosc)) Potem twój slijmail.php musi umieć to odtworzyć czyli odczytać parametry GET. http://php.net/manual/en/reserved.variables.get.php $message = $_GET['wiadomosc']; Ostatnia rzecz to podstawienie odebranych wiadomości pod funkcję mail() http://php.net/manual/en/function.mail.php mail('caffeinated@example.com', 'Temat', $message);
  9. Możesz wysyłać GET i PUSH przez HTTP. Więc możesz przekazywać dane do PHP i tam wysyłać. Pewnie są też jakieś rzeczy w Marketplace do tego.
  10. GM. Czekam właśnie na grafiki od artysty i muszę poprawić algorytmy wyszukiwania ścieżki. Później zacząć robić tryb online :/
  11. W innym projekcie mam same prace polishingowe więc nie miałem co pokazać. Ale tydzień temu zacząłem nowy projekt na miesięczny konkurs. Dziś w nocy napisałem większość menu.
  12. Nie. Najprawdopodobniej potrzebujesz całego kontrolera i maszyny stanu do sprawdzania czy pojawia się okienko by zablokować wszystko inne w tle. Potem w jakiś sposób musisz rysować okienko i zbierać input. Funkcje tobie potrzebne: mouse_x, mouse_y, mouse_check_button_released(), draw_sprite()
  13. I pytanie czy po zmianie ścieżek ustawiłeś znów poprawne zmienne środowiskowe?
  14. Nie istnieje bo ścieżka jest za długa by mógł być przekazany do parametru. A gdzie masz Android SDK? Bo jak w C:/Program Files/... to za długo i powienieneć mieć jak najkrócej. Na przykład c:/Android SDK
  15. Ale nawet do prostych się nie nadaje. Jak tylko tgo użyjesz to zobaczysz że dwa cienie będę na siebie nachodzić brzydko
  16. @gnysek i @Uzjel w dalszym ciągu stary SDK Manager działa bardzo dobrze i Android studio jest tylko niepotrzebnym gigabajtem danych. @MaxGaming twój problem to za długie ścieżki dla cache i temp. Zmień je w ustawieniach GM:S i wyczyść by projekty używały ich od nowa. To jest na pewno jeden z twoich problemów może być więcej. No i ściągnij SDK tylko to co jest podane w artykułach wyżej.
  17. Bardzo, bardzo prymitywne. I w zupełności nie wydajne. Jedyny plus taki że możesz kontrolować osobno depth cieni (czego na razie nie robisz), ale niestety masz przez to 2 razy więcej obiektów.
  18. collision_circle() zwraca tylko jedno ID obiektu. Pierwsze jakie się trafi. To co ty chcesz zrobić to iterować przez wszystkie obiekty i sprawdzać czy spełniają warunek czyli czy są dostatecznie blisko. instance_activate_all() with(obj_dzewo) { if(point_distance(x,y,other.x,other.y) < 120) { instance_deactivate_object(id) } }
  19. Możesz to zrobić na wiele sposóbów. Po swojemu to potrzebujesz server z PHP na którym wrzucisz plik czas.php a w nim to co podał gnysek. Później twoja gra odpytuje ten plik na twoim serwerze przy pomocy funkcji http_get(). Drugie rozwiązanie to odpytywanie jakiegoś publicznego API takie jak to http://api.geonames.org/timezoneJSON?formatted=true&lat=47.01&lng=10.2&username=demo&style=full Zwraca ci ono informacje jako JSON. Możesz je odczytać przy pomocy funkcji json_encode() która zamienia te dane w ds_map który potem możesz odczytać. Wszystkie przykłady są w dokumentacji przy każdej z tych funkcji.
  20. Chyba że pobierasz więcej danych niż sam unix time, albo jeszcze szyfrujesz jakimś banalnym sposobem.
  21. Wystarczy zapytanie do serwera o czas.
  22. Ja jak najbardziej rozumiem. Jest spore ryzyko wrzucając swój pierwszy własny projekt i strach że się popełni jakieś błędy. Na przykład kliknięcie publish przy nie gotowej apce albo opisach. Ja na przykład sam zrobiłem podobnie wrzucając coś bardzo bardzo starego ale dodając tam highscore z Play Services i chyba mały baner reklamowy. Nie wiem o co ból dupy?
  23. OK. No to dość proste. Czym są u ciebie puste dane? Możemy znać że to "0"? W takim razie pozycję x znajdujesz poprzez: _x=ds_grid_width(index); for(_x=ds_grid_width(index); _x>0; _x--) { if(ds_grid_get_min(index, _x, 0, _x, ds_grid_height(index))>0) { exit } } Y podobnie. Jeżeli operujesz na stringach to musisz zamiast ds_grid_get_min() zrobić znów for i przelecieć przez wszystko w y
  24. OK no to pozycją jaką szukasz jest średnica koła
×
×
  • Dodaj nową pozycję...