
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
-
Już wcześniej myślałem o draw_text_transformed z parametrem angle. Czyli pozostaje mi odczytywać ze stringa znak po znaku i rysować każdy z osobna. A w jaki sposób mogę odczytać długość stringa ale nie chodzi mi o ilość znaków (string_length(str)) tylko o rzeczywistą długość w pikselach przy wybranym foncie.
-
Poruszanie bohatera prostopadle do podłoża
TO_mek odpowiedział(a) na matik97 temat w Pytania początkujących
A nie możesz nadać dla podłoża odpowiedniej wartości dla direction (lub innej zmiennej w przypadku gdy używasz direction np. do nadawania kierunku dla ruchomych platform) i w momencie kolizji odczytywać tej wartości (other.direction) i odpowiednio korygować nachylenie bohatera? To zadziała pod warunkiem że podłoże składa się u Ciebie z prostych obiektów (prostokąty) bo przy obiektach nieforemnych to się nie sprawdzi. -
Powyższe powoduje tylko, że tekst w całości przesuwa się w górę/dół w rytm sinusoidy. Ja potrzebuje efektu gdzie każda z liter będzie traktowana osobno i na ekranie uzyskam "wykres sinusoidy z liter" -wariant 2. W wariancie 3 dodatkowo litery powinny się pochylać pod odpowiednim kątem (czyli ich podstawa powinna być "doklejona" do niewidocznej linii sinusoidy).
-
To jeszcze tak jak candy pisze spróbuj. Albo o surface poczytaj. Albo jeśli to stałe miejsce to przygotuj odpowiednio spreparowane tło i podmieniaj "w locie".
-
Zamiast tworzyć obiekt, rysuj samego sprajta na ekranie przez draw_sprite z jakiegoś obiektu odpowiedzialnego tylko za rysowanie.
-
Kurcze dałbym sobie rękę uciąć że kilka dni temu czytałem jakiś wątek w którym Gnysek pisał o animacjach flash w GMie tylko że problem był pełny ekran (że działało tylko na full screen albo odwrotnie) ale teraz nie potrafię tego znaleźć.
-
No ale mi konkretnie o to chodzi właśnie aby odczytywać aktualną klatkę czyli wartości od 0-59 :). Pytałem tylko czy sam sobie taki licznik mam zdefiniować czy istnieje jakaś zmienna predefiniowana.
-
GML _x = (mouse_x-x) - lcdScreenWrapX; _y = (mouse_y-y) - lcdScreenWrapY; // Taka sobie strzałeczka draw_arrow( _x+10, _y+14, _x, _y, 10 ); Zarówno współrzędne myszy jak i strzałka są niemal niezbędne w przykładzie ;) Ok. To rozwiązuje wariant 1 i przy zastosowaniu odpowiedniego fontu LCD na upartego wersje na matrycy LCD (ale nie o to mi chodziło a o rysowanie punkt po punkcie - coś jakby tablica 100x60 a najlepiej większa i włączanie/wyłączanie odpowiednich punktów w celu uzyskania napisu bądź grafiki czyli efektu takiego jak na prawdziwych reklamach LCD) Co do wariantów 2-5 nadal nie wiem jakby się za to zabrać, tzn. już nie o samo wyświetlanie bo akurat Twój przykład to rozwiązuje, ale o samo rysowanie tekstu na sinusoidzie czy na ścieżce. Wariant 5 to przypuszczam zupełnie odrębna historia (czy GM ma wbudowaną obsługę flasha?)
-
Witam! Czy w GM jest jakaś predefiniowana stała przetrzymująca aktualną wartość kroku (step)? Chodzi mi o to, że dla room_speed=60 wykonuje się 60 klatek na 1 sekundę to czy istnieje jakaś stała która zlicza te kroki w danej sekundzie? Czy mam sobie po prostu zdefiniować zmienna "aktualny_step", nadać jej 0 i wstawić: GML aktualny_step:=(aktualny_step mod room_speed)+1; w step obiektu znajdującego się zawsze na roomie?
-
Witam! Potrzebuje zrobić przesuwany tekst w kilku wariantach. Tekst ma się wyświetlać na sprajcie telewizora (o wielkości 100x60) lub w wersji trudniejszej na matrycy lcd (większej). Jak zrobić następujące warianty: Wariant 1 Tekst przewija się od prawej do lewej, gdy dotyka krawędzi ekranu tv znika - czyli standardowy scroll tekstu jakie nie raz widać w serwisach informacyjnych. Wariant 2 Tekst przewijany na funkcji sinus, litery cały czas w pionie Wariant 3 Jak w wariancie 2 ale litery "pochylają" się pod odpowiednim kątem Wariant 4 Jak w wariantach 2 i 3 ale tekst przewija się nie po funkcji sinus a po ścieżce (path) Wariant 5 Wyświetlanie na ekranie tego tv animacji flash zrobionej w swishu W wersji na "matrycę LCD" teksty powinny składać się z punktów.
-
https://forum.gmclan.org/index.php?showtopic=23094
-
Menu nie na obiektach a na draw_sprite
TO_mek odpowiedział(a) na TO_mek temat w Pytania początkujących
Spoko. Chciałem się tylko upewnić że nic takiego nie ma coby nie wywarzać otwartych drzwi (a raczej malutkich drzwiczek ;) ) -
Algorytm ładowania spritów o podobnej nazwie
TO_mek odpowiedział(a) na Nirvan temat w Pytania początkujących
A nie ma tam być czasem stringów? GML p=variable_global_get(string(argument0)+string(argument1)+string(r)); -
Witam! Robię menu składające się z kilku guzików ale nie na obiektach a na sprajtach rysowanych przez draw. Jak powinienem wykrywać kolizję klikania na danym guziku? Czy w poniższy sposób czy też jest jakiś prostszy? 1.rysuję kilka guzików za pomocą draw_sprite, guziki to prostokąty o tych samych wymiarach, origin w lewym, górnym rogu (x1,y1). 2.w obiekcie rysowania (bądź dowolnym innym który jest na roomie) w evencie myszy global_left_pressed pobieram wspólrzędne kursora myszki, 3.sprawdzam po kolei czy wartości x,y myszy znajdują się w obrębie narysowanych guzików menu - robię to ręcznie coś na zasadzie jeśli (xmyszki > x1 i < niż x1+szerokość guzika) AND (ymyszki > y1 i < niż y1+wysokosc guzika) to kliknięto guzik A itd. Pytanie czy nie ma może w GM8 gotowej komendy do sprawdzania klikniecia rejonu x1,y1,x1+szerokosc,y1+wysokosc? A może zrobić to inaczej (nie chcę robić osobnych obiektów na poszczególne guziki).
-
Nieaktywna strona www po otwarciu przez splash_show_web
TO_mek odpowiedział(a) na TO_mek temat w Pytania początkujących
Docelowo plik gry ma być w postaci jednego pliku exe zawierającego wszelkie grafiki, dźwięki i inne niezbędne elementy więc chyba taki sposób odpada. -
Zastąpienie warunków przez div i mod
TO_mek odpowiedział(a) na TO_mek temat w Pytania początkujących
No właśnie mnie przed chwilką olśniło i doszedłem do tego samego czyli licznik:=(licznik mod 3)+1; To tak jest jak się nad czymś siedzi a oczy ma się na zapałkach. -
a gdzie masz wywolanie tego kodu w kliknieciu myszy? moze dac selected=false przed pierwszym kodem
-
Witam! Wiem że banalne ale wapniaki tak mają że siedzą godzinę i wciąż nie potrafią wpaść na rozwiązanie. Mam zmienna "licznik" która ma przyjmować wartości 1, 2 lub 3. Wartości zmieniać się mają o 1 po naciśnięciu strzałek lewo (-1)/prawo (+1). Mam warunek dla wciśnięcia strzałki w lewo: {licznik-=1; if licznik < 1 then licznik=3} ,dla wciśnięcia strzałki w prawo: {licznik+=1; if licznik > 3 then licznik=1} I teraz niech mi ktoś to zamieni na 1 komendę z kombinacją dzielenia przez DIV i MOD tak coby nie było warunków "if" bo już mnie powoli złość bierze. EDIT: Nie chciałem nic błędnie sugerować ale widzę że sporo osób czyta wątek ale nikt nie odpisuje, więc podam jak to zrobiłem dla strzałki w lewo: GML licznik:=((licznik+1) mod 3)+1 i to działa ok czyli licznik przyjmuje wartości 1,3,2,1,3,2,1,3,2 itd. ale za chiny nie mogę wpaść na sekwencję odwrotną czyli 1,2,3,1,2,3,1,2,3 itd.
-
Nieaktywna strona www po otwarciu przez splash_show_web
TO_mek odpowiedział(a) na TO_mek temat w Pytania początkujących
Ale niby gdzie to mam wpisać? Nie bardzo rozumie, na stronie źródłowej czyli na wp.pl (raczej chyba nie bardzo)? -
Nieaktywna strona www po otwarciu przez splash_show_web
TO_mek opublikował(a) temat w Pytania początkujących
Witam! Mam drobny problem z otwieraniem strony www w grze. Po otwarciu strony poprzez komendę splash_show_web('http://wp.pl',-1); otwiera się wszystko tak jak mi pasuje na pełnym ekranie gry ale niestety strona jest nie do końca aktywna do momentu gdy nie kliknie się na niej w dowolnym miejscu. Ta nieaktywność objawia się tym, że nie działają klawisze strzałek do przesuwania strony w górę/dół oraz także nie jest aktywna rolka w myszy. Trzeba dopiero kliknąć myszą w puste miejsce na stronie (uważając by nie był to jakiś aktywny link bo następuje przekierowanie do innej części strony) i dopiero wszystko działa tak jakbym chciał. Czy można jakoś wymusić by strona od razu była aktywna bez potrzeby klikania myszką? -
Problem z obsługą zwalnianego klawisza spacji
TO_mek odpowiedział(a) na TO_mek temat w Pytania początkujących
No w sumie jest to logiczne :). Wrzucam do stepa i będzie ok. Dzięki. -
Witam! Przerobiłem obsługę klawiszy z poszczególnych zdarzeń wciskanych klawiszy na jeden skrypt wywoływany w zdarzeniu "any key" i niby wszystko działa tak samo ale nie jest obsługiwane zdarzenie puszczania klawisza. Konkretnie mam obsługę spacji podzieloną na 3 części: 1. moment wciśnięcia klawisza: if keyboard_check_pressed(vk_space) { nadanie wartości zmiennej globalnej "rysuj" = 1, zmiennej "laduj" = global.czas_ladowana (np. 10xroom_speed)} 2. moment trzymania klawisza spacji wciśniętego: if keyboard_check(vk_space) { dekrementacji zmiennej laduj, oraz gdy zmienna laduj dojdzie do 0 wykonanie akcji zaladowania broni} 3. moment puszczenia klawisza: if keyboard_check_released(vk_space) { nadanie zmiennej laduj wartosci -1, zmiennej rysuj 0} No i działa wciskanie klawisza spacji, trzymanie wciśniętego ale nie działa puszczanie klawisza spacji - i nie następuje wyzerowanie zmiennej rysuj ani zmienna ładuj także nie przyjmuje wartości -1. Zauważyłem, że w momencie gdy mam wciśnięty klawisz spacji i równocześnie wcisnę inny klawisz (np. "K") i puszczę spację mając wciąż wciśnięty ten inny klawisz ("K") to obsługa puszczenia klawisza spacji działa ok. Czemu to tak działa i jak temu zaradzić?
-
Uruchom grę w trybie debugowania potem menu tools->show instances
-
Witam! Jak najprościej poradzić sobie z taką bolączką. Przykładowo mam tło nazwane domyślnie "background0" i wykorzystany w kilkunastu miejscach w różnych obiektach itp. Chciałbym zmienić nazwę tła np. na "tlo_01" ale wszędzie gdzie używałem w kodzie nazwy background0 także to trzeba zmienić. Niestety GM8 wciąż nie ma automatu na zamianę jak w innych językach ale może ktoś ma na to jakiś szybki sposób poza uruchamianiem gry, zapisywaniem komunikatów kompilatora i ręcznym poprawianiem.
-
tez nie tak a tak: GML view_xview[0]-256, view_yview[0]-256, view_wview[0]+512, view_hview[0]+512 dopiero takie coś tworzy obszar wielkości widoku nr 0 + margines 256px wokoło. Pierwsze 2 parametry to umiejscowienie obszaru w uk.współrzędnych, kolejne 2 to wielkość samego obszaru (szerokość i wysokość). Może jeszcze prościej: GML margines:=256 view_xview[0]-margines, view_yview[0]-margines, view_wview[0]+(2*margines), view_hview[0]+(2*margines)