TO_mek
Użytkownicy-
Postów
346 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
1
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez TO_mek
-
Z pierwszych testów wynika, że gra zwisa na funkcji która sprawdza czy na dysku istnieje plik z highscore i jak tak to go ładuje do ds_grida a jak nie to tworzy pusty plik. Pytanie czy coś z obsługą plików nie tak czy może jednak ds_xxx robi problem.
-
Jako exe działa pod HTML5 bez problemu. Co ma się wyświetlić po naciśnięciu F9? Ani IE9 ani FF8 nie reagują. Próbowałem z poziomu file:/// jak i z serwera.
-
Witam! Próbuję przekonwertować jedną z moich gier robionych w gm 8.0 do HTML5. Najpierw odpaliłem ją w GM 8.1 i tam bez problemu się uruchomiła więc ją zapisałem jako gm81. Następnie zrobiłem import do HTML5 i niestety w FF 8.0, IE 9.0.x pojawia się czarne okienko loading i to by było na tyle. Wiem, że niewiele osób korzysta z najnowszego dzieła yoyogames ale może ktoś już co nieco wie na ten temat i spróbuje mi pomóc. Gra posiada jeden room, kilka obiektów, 4 krótkie dźwięki, jednym słowem pchełka. Zresztą chodzi o to więc jak widać nie zżera wielu zasobów. Ma ktoś pomysł co może być nie tak? EDIT: Sprawdziłem, że HTML5 potrafi konwertować od razu z GM 8.0 ale to niczego nie zmienia bo gierka dalej nie działa.
-
Ale przeportowanie projektu z gm 8.1 na html5 to dużo roboty (pomijam dll, dzwięki 3d itd. których html5 nie obsługuje)? No i czy nie lepiej (taniej) poczekać na wersję STUDIO? Są jakieś przecieki co do ceny?
-
Wracając do wątku mam kilka pytań. Czy wersja HTML5 to coś jakby wycinek wersji Studio? Czy HTML5 = GM8.1 +kompilacja pod HTML5? Czy wersja HTML5 kompiluje gry pod androidy, ipody, ifony czy tylko pod PC (win, linux itp.) czy może tylko i wyłącznie pod windowsy?
-
Przecież wyraźnie liczyłem pokemony od ZERA. := to to samo co = { to to samo co begin } to to samo co end GML to język wielu składni C, Pascala itp. Ja mam przyzwyczajenia z pascala więc piszę z dwukropkiem. W delphi jesli napiszesz if costam=100 then {costam=200} nie zadziała bo powinno być if costam==100 then {costam:=200} == oznacza przyrównanie := oznacza przypisanie w GMLu jest to dowolne ale nie raz mniej czytelne. PS.Co niby jeszcze jest źle :)?
-
Nie widziałem nigdy pokemona ani gry o pokemonach ale chodzenie pewnie jest na tej zasadzie: GML x=mouse_x div 32 *32 y=mouse_y div 32 *32 Wrzuć to do step dowolnego obiektu a mysz zacznie skakać co kratkę. Menu zazwyczaj robię na osobnym roomie na którym albo wstawiam obiekty reagujące na naciśniecie klawiszy myszy albo tylko rysuję i przy kliknięciu sprawdzam współrzędne. Co do zmiennych to daj w create zmienne hp, atak, obrona. Podczas tworzenia obiektów instance_create(x,y,obj) zwracane jest ID danego obiektu. Przechowuj te ID w tabeli. GML //Tworzy 10 instancji obiektu pokemon_obj for (i=0; i<10; i+=1){ tabela_z_id_pokemonow:=instance_create(((irandom(room_width) div 32) *32),((irandom(room_height) div 32) *32),pokemon_obj); Do zmiennych danego obiektu odwołujesz się poprzez ID.hp, ID.atak czyli: tabela_z_id_pokemonow[0].hp:=100; //nadaje hp=100 dla pokenona nr 0 tabela_z_id_pokemonow[5].atak:=250; //nadaje atak=250 dla pokenona nr 5 jaka_obrona:=tabela_z_id_pokemonow[8].oborna;//odczytuje do zmiennej jaka_obrona wartosc zmiennej obrona dla pokemona 8 Podobnie możesz operować na wszelkich zmiennych dostępnych dla każdego z obiektów.
-
Zapomniałem napisać, że mam 2 viewy a obiekt w stepie ma jeszcze: GML x=mouse_x div 128 *128 y=mouse_y div 8 *8 czyli obiekt jest doklejony do myszy. Wydawało mi się, że view_current właśnie do tego służy by odczytać na którym widoku rysuje się dany sprajt. Może napiszę co chcę uzyskać. Mam rooma 5000x800 i 2 widoki: view0 zaczepiony w 0,0 o wymiarach 200,800 ale wyświetlający kawałek rooma z pozycji 4800,800, view1 o wymiarach 1080,800 zaczepiony w punkcie 201,800, pokazujący room od 0,0 do 4800,800 (ten widok jest ruchomy). Czyli oba widoki tworzą na ekranie okno o wymiarach 1280,800, z lewej zawsze mam view0 w stałym miejscu 0,0 a z prawej mam ruchomy view1. Do kursora myszy mam podpięty obiekt który ma m.in. zastąpić rysunek kursora (czyli ten obiekt o którym pisałem wyżej) i chcę uzyskać taki efekt by sprajt zmieniał się nad widokiem 0 na jakiś wskaźnik_spr a nad widokiem 1 na inny sprajt. I to działa bez problemu. Ale przy okazji chcę także przekazywać zmienną w której zapisane będzie nr widoku nad którym aktualnie znajduje się obiekt i to już niestety nie działa (pokazuje wartość jakby zawsze był view0 aktywny). EDIT: Na razie sprawdzanie widoku zrobiłem inaczej. W step dałem GML if mouse_x < 4800 then { aktywny_widok:=1; } else { aktywny_widok:=0; }
-
Witam! W DRAW mam: GML draw_sprite(sprite0,0,x,y); if view_current==1 { draw_text(mouse_x,mouse_y,"v1"); } if view_current==0 { draw_text(mouse_x,mouse_y,"v0"); } i dziala OK jednak jak dorzuce do tego nadanie zmiennej to przestaje wszystko dzialac GML draw_sprite(sprite0,0,x,y); if view_current==1 { draw_text(mouse_x,mouse_y,"v1"); zmienna=1; } if view_current==0 { draw_text(mouse_x,mouse_y,"v0"); zmienna=0; } w create GML zmienna=-1 w step GML if zmienna<>-1 then { show_message("dziala"); zmienna=-1; Czy nie można w 1 obiekcie uzyskać tego by w draw nadawało zmiennej wartość a w stepie jej używało. Tu nawet nie działa pierwsze wyświetlenie zaraz po utworzeniu obiektu A wystarczy zaremować nadawanie wartości zmiennej zmienna w draw i zaczyna działać
-
Proponuje poczytać tą stronę a w szczególności temat "Giganty Świata 2D", gdzie jest wyjaśniona idea taśmociągu. Wprawdzie to delphi ale logika jest podobna i tak jak poprzednicy pisali, dla wielkiego świata wcale nie musisz mieć dużego rooma i obiekty mapy mogą się ruszać a postać zostaje w centrum malutkiego ekranu.
-
Witam! Nie wiem temat oddaje to o co mi chodzi ale zastanawiam się czy GM ułatwia w jakiś sposób tworzenie projektów wyglądających jak okienka systemowe, formatki w delphi itp. Chodzi mi o to w jaki sposób uzyskać okno wyglądające jak np. edytor roomow w GMie czyli okno które zawiera na gorze ikony bądź menu, z lewej części kawałek okna z wieloma zakładkami (czyli w edytorze rooma: backgrounds, views, objects, settings, tiles) oraz po prawej główne okno edycyjne. Albo inny przykład główne okno edytora GM z górnym menu, drzewkiem resoruces z lewej i oknem wyników.
-
Sorki. Bo myślałem, że clanowy shoutbox odświeża się automatycznie i po 30 min czekania założyłem temat :). Przynajmniej będzie dla potomnych (File-Export Resources a następnie File-Import Resources).
-
Witam! W jaki sposób można zapisać projekt z GM8.1 do GM8.0?
-
Czy licencja umożliwia równoczesne używanie GM8.1 na 2-3 różnych komputerach. Nie chodzi mi o używanie przez 3 różne osoby ale o sytuacje w jakiej ja jestem czyli głównie używam GM na kompie stacjonarnym ale od czasu do czasu potrzebuję użyć GMa w netbooku lub sporadycznie na innym starszym komputerze stacjonarnym (naprawdę sporadycznie ale w miarę regularnie czyli raz na kilka tygodni). W FAQ na yoyo znalazłem "BE AWARE that there is limited uses for entering your activation and misuse or entering too many times will invalidate your license and you will not be able to continue using GameMaker." czyli jak dobrze zrozumiałem to można ale jest limit. Ile wynosi ten limit, czy reinstalacja systemu i aktywacja na tym samym sprzęcie to także zmniejszenie licznika o jeden i czy na czas reinstalacji można w jakiś sposób zabezpieczyć informację o aktywacji by ponownie je nie wykonywać (wpis w rejestrze lub coś innego)?
-
Fajny efekt choć nieco uproszczony ale dobrze pokazuje jak zastosować particle. Znalazłem drobiazg w create radaru, który w tym przypadku nie ma wpływu na wyświetlanie particla ale może nieco prowadzić w błąd (tym bardziej, że później w stepie wcale nawiasów nie dajesz): GML part_emitter_region(pss,pee,(x+lengthdir_x(odl,i))/skala,(x+lengthdir_x(odl,i))/skala,(y+lengthdir_y(odl,i))/skala,(y+lengthdir_y(odl,i))/skala,ps_shape_rectangle,0) a raczej powinno być GML part_emitter_region(pss,pee,x+(lengthdir_x(odl,i)/skala),x+(lengthdir_x(odl,i)/skala),y+(lengthdir_y(odl,i)/skala),y+(lengthdir_y(odl,i)/skala),ps_shape_rectangle,0) W stepie dodałem zmienne tymczasowe bo wydaje mi się, że tak będzie odrobinę szybciej, gdyż niepotrzebnie 2 razy wyliczasz składowe lenghtdir GML var _x, _y, _xs, _ys; for(i=0;i<360;i+=1){ _x:=lengthdir_x(odl,i); _y:=lengthdir_y(odl,i); if(collision_point(xx+_x,yy+_y,sciana,0,1)){ _xs:=_x/skala; _ys:=_y/skala; // part_emitter_region(pss,pee,x+(_x/skala),x+(_x/skala),y+(_y/skala),y+(_y/skala),ps_shape_rectangle,0) //bez uzycia zmiennych _xs i _ys - nawiasy powinny byc tak lub pominiete part_emitter_region(pss,pee,x+_xs,x+_xs,y+_ys,y+_ys,ps_shape_rectangle,0) part_emitter_burst(pss,pee,ptt,1) } } if(odl<maxodl){ odl+=1; }else{ odl=0; } xx=hero.x; yy=hero.y;
-
Z tego co wyczytałem to na particlach nie ma wykrywania kolizji ale mogę się mylić bo dopiero zaczynam czytać o efektach na particlach. Możecie troszkę bardziej rozwinąć swoje wizje jak by to miało wyglądać na particlach? Czy chodzi Wam o to, żeby utworzyć efekt okręgu który się rozszerza a w miejscach obiektów utworzyć changery, które będą robiły za wykrywacze kolizji? Ale jak odwzorować dokładny kształt obiektu bo z tego co widzę to kształt changera definiuje się jako prostokąt, elipsa, rąb a moje obiekty mogą mieć dużo bardziej wymyślne kształty. A może zupełnie nie o to chodzi.
-
Nie jestem multikontem :) Co do radaru, podając przykład amerykański mnie oświeciłeś, że może niezbyt jasno wytłumaczyłem o co mi dokładnie chodzi. Ja chcę uzyskać w miarę szybki sposób wykrywania kolizji z obiektami (ich zarysem od strony nadchodzącej fali). Najprościej to sobie wyobrazić, że wrzucam kamień do wody który generuje falę (okrąg) która napotykając przeszkodę (u mnie są one niewidoczne) w tym miejscu "rozświetla się" i rozchodzi się dalej (opcja nr 1) lub odbija (opcja nr 2). Na razie mam coś podobnego na obiektach z tym, że odbicia nie są realne (zmieniam kierunek o 180 stopni nie uwzględniając kąta padania). Po dodaniu przez Was kilku pomysłów sprawdzam collision_point + lenghtdiry + zwykly draw_line co na pewno będzie dużo szybsze (chociaż na tym chyba podaruję sobie odbicia i "dziurawe" okręgi czyli opcję nr 2). Co do particli to najmniej znam temat więc zostawiam go sobie na koniec (albo może wcześniej ktoś rzuci przykładem).
-
A mógłbyś nieco bardziej rozwinąć temat. Collision_line wykrywa czy na danej linii nie ma kolizji z danym obiektem i zwraca ID tego obiektu. Czyli w efekcie mam pozycję całego obiektu-przeszkody a konkretnie jego współrzedne x,y a mnie interesuje konkretny punktu tego obiektu przeszkody (czyli miejsce kolizji) i podświetlenie tego punktu na ekranie. W kolejnym kroku chcę by podświetlony był następny punkt tej przeszkody itd. (w przypadku gdy mówimy o opcji nr 1 bo w opcji nr 2 pierwsze wykrycie kolizji ma w zasadzie podświetlić ten punkt i już dalej nie "przenikać" obiektu). Podejrzewam, że "strzelanie" tymi liniami powinno być w jakiś sposób powiązane z lenghtdirami i próbkowanie powinno następować co ustalony krok (w zależności od prędkości rozchodzenia się okręgu). Pomijam to, że im dalej od punktu wystrzału tym większe przerwy między próbkowanymi miejscami (w moim obiektowym rozwiązaniu ma to tak zrobione, że obiekty robią się coraz większe im dalej od środka okręgu).
-
Nie pisałem wcześniej bo nie chciałem nikogo zasugerować ale wcześniej zrobiłem coś takiego na na obiektach. Wystrzeliwuję 360 obiektów co 1 stopień (bądź wielokrotność co odpowiedni ułamek stopnia) ale boję się o prędkość działania takiego rozwiązania - puszczając 5 takich okręgów z dokładnością do pół stopnia (czyli 5 x 720 obiektów), już widać spadek fpsów a to do tego dojdzie jeszcze trochę innych obiektów i efektów. Co do particli to tu akurat przydałby się mały przykład jak to wykorzystać.
-
Witam! Zastanawiam się jak uzyskać coś w rodzaju radaru ale nie mini mapki jak w większości gier. Chodzi mi o to aby uzyskać taki efekt: - widok z góry, 2d, - obiekt-gracz "strzela" z radaru, - strzał to rozchodzący się okrąg (do jakiejś ograniczonej długości promienia, potem zanika) o grubości powiedzmy kilku pikseli, - gdy ten okrąg napotyka na niewidoczny obiekt-przeszkodę to wtedy następuje taki efekt (2 różne pożądane rozwiązania): -opcja 1 - okrąg zmienia w miejscu styku z danym obiektem-przeszkodą kolor na inny (ale tylko na tym łuku na którym jest kolizja z przeszkodą) lub -opcja 2 - następuje odbicie fali i wycinek okręgu powraca do gracza reszta kręgu (już bez tej odbitej części) dalej się rozchodzi aż zanika. Poproszę o jakieś pomysły. Mile widziane przykłady.
-
Jak myślisz o zrobieniu gry w celach zarobkowych (nawet gdyby miała kosztować tylko 1zł za licencję) to absolutnie nie możesz użyć grafiki z googli bo w końcu ktoś kiedyś tą grafikę zrobił a zazwyczaj trudno autora takiej grafiki odnaleźć. W przypadku drugim zależy jak brzmi ta "zgoda" ale zazwyczaj bezpieczniej jest podać źródło. Loga klubów to grafiki zastrzeżone których nie możesz wykorzystać. Generalna zasada: wszelkie materiały jakie chcesz użyć w grze, choćby krótki dźwięk skrzypiących drzwi lub strzału, powinny być Twoje lub powinieneś mieć najlepiej pisemną zgodę autorów których umieszczasz w creditsach.
-
To proponuję jeszcze prościej. Użyj zamiast zwykłej tablicy ds_list. Potem do tego ds_list_write i ds_list_read. Dane zapisują się w postaci mało czytelnej więc może to wystarczy.
-
Witam! Szukam jak zastosować wzór na siłę grawitacji w układzie słonecznym. Czyli im większa odległość rakiety od Ziemi tym mniejsza siła grawitacji więc stała siła ciągu silnika w efekcie zmniejszania siły grawitacji powoduje coraz mocniejsze przyspieszenie. Aby troszkę skomplikować chciałbym jeszcze uwzględnić także kolejne zależności czyli wpływ Księżyca a później innych planet i samego Słońca. Ale na dzień dobry przydałby się przykład ruchu rakietki w obrębie stałej grawitacji (czyli w niewielkiej odległości od Ziemi np. malutki model rakiety). Liczę na to, że ktoś już wcześniej "wyważył te drzwi i są już otwarte" :)
-
Ogromny swiat 2D - jakies pomysly na "ożywione obieky"
TO_mek odpowiedział(a) na TO_mek temat w Pytania początkujących
No tak to powiedzmy jest to jakiś pomysł na takie przypadki jakie podałeś ale: - takie postacie gdy są dezaktywowane nigdy nie wyjdą same na aktywny ekran nawet jeśli ich ścieżka na to pozwala, - takie obiekty nie mają interakcji między sobą (wilk nie zapoluje na zająca bo się z nim nie spotka). Ale faktycznie obiekty nieruchome (np. rośliny które mają rosnąć, zmieniać wygląd) można w ten sposób zrobić. Ewentualnie nasuwa się pomysł aby cały świat poza widocznym ekranem był "ożywiany" (aktywowany) co jakiś przedział czasowy, wykonywały się obliczenia i ponownie "zamrażał" (deaktywował) tylko to nie bardzo będzie współgrać z aktywnym ekranem gdzie chciałbym by widoczne obiekty poruszały się w czasie rzeczywistym a nie "turowo". -
Wydaje mi się że nie obejdzie się bez dll'ki. Polecam rodzimą produkcję autorstwa ΨΧΞ. Użycie jest naprawdę banalne.