Dacus Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Zastosowanie surface i draw_primitive: cloak2.gmk Jeśli komuś się przyda to będzie mi miło. :thumbsup: UPDATE: Ulepszona wersja. Optymalizacja kodu i usunięcie błędu. Jest teraz możliwość wyłączenia i aktualizacji "refrakcji" co kilka kroków. UPDATE: Tak jak obiecałem wersja szybsza, dodatkowo poprawione przenikanie instancji niewidzialnych obiektów(wygląda teraz znośnie): cloak3.gmk Dla tych, którzy nie mają GM7: cloak3.zip UPDATE: Znalazłem trochę czasu i poprawiłem przykład. Ta wersja jest wolniejsza od poprzedniej, ale teraz możliwy jest dowolny kierunek i skala sprite'a, wielkość i tło room'u. cloak4.gmk Wersja exe: cloak4.zip Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 A więc tak: -efekt 4/5 -fps'y 1/5 Efekt fajny choć nie za dobry. Nie użyję tego w mojej grze bo raczej jak będę miał 20 takich pojazdów to fps'y będę się kręcić tak około 1, może 0,5, a może 2. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Średni przykładzik. Same zniekształcenia są ładne, przechodzenie z normalnego widoku nie niewidzialny wymiata, ale za to niewidzialny pojazd nawet, gdy porusza się może 5px/s już dziwnie drga, co psuje efekt, no i wydajność pozostawia wiele do życzenia. Ale masz tak z 7-/10 :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 efekt świetny, zawsze mam 30 fps, wygląd naprawdę fajny. 9/10. Było by 10/10 gdybym nie musiał poprawiać sam sobie tego na GM8. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dacus Opublikowano 27 Marca 2010 Autor Udostępnij Opublikowano 27 Marca 2010 A więc tak: -efekt 4/5 -fps'y 1/5 Efekt fajny choć nie za dobry. Nie użyję tego w mojej grze bo raczej jak będę miał 20 takich pojazdów to fps'y będę się kręcić tak około 1, może 0,5, a może 2. Zapomniałem wspomnieć. Można przyspieszyć efekt, zmniejszając wartość divide w evencie create obiektu oController. Nie wiem jak działa to na słabszych komputerach. Spróbuję zrobić efekt dla wielu obiektów, który nie powinien być wiele wolniejszy, bo można pewne rzeczy liczyć tylko raz. Przykład nie jest też za bardzo zoptymalizowany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Zapomniałem dodać że podczas bycia niewidzialnym/robienia się niewidzialnym ma 20/60 fps. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Dacus obraził byś się gdybym wykorzystał go (oczywiście jeżeli go zoptymalizujesz) w mojej grze? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Chyba po to zamieścił ten przykład żeby z niego korzystać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 super przyklad a fps wcale tak nie denerwuja, przyda sie 5/5 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Chyba po to zamieścił ten przykład żeby z niego korzystać. thx cpt. obvious. Proszę o pozwolenia zamieszczania kodu, a nie idei. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Farkraj Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 wywala błąd na początku... daje 1/5 bo nie chce mi się patrzec w kod i poprawiac Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Lol, Farkraj jakbym był modem to dał bym ci warna za to, przecie wystarczy w dwóch linijkach kodu usunąć dwa napisy "true". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności ANtY Opublikowano 27 Marca 2010 Filar Społeczności Udostępnij Opublikowano 27 Marca 2010 ___________________________________________ FATAL ERROR in action number 1 of End Step Event for object oShip: COMPILATION ERROR in code action Error in code at line 13: sprite_back = sprite_create_from_surface(surface, bbox_left, bbox_top, bbox_right - bbox_left, bbox_bottom - bbox_top, true, true, true, true, sprite_xoffset, sprite_yoffset); ^ at position 183: Wrong number of arguments to function or script. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Zastąp ten kod tym: GML sprite_back = sprite_create_from_surface(surface, bbox_left, bbox_top, bbox_right - bbox_left, bbox_bottom - bbox_top, true, true, sprite_xoffset, sprite_yoffset); Dlaczego muszę sam sprawdzać ilość argumentów? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Jeżu, przecież gm8 ma inne argumenty od add_ i _create_from_screen, dostosujcie sobie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Farkraj Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 efekt jest bardzo fajny i dałbym 5/5 gdybym wcześniej nie dał 1/5 za konieczność poprawiania :P Jak ktoś dodaje przykład niech go zrobi w GM8 i GM7 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 efekt jest bardzo fajny i dałbym 5/5 gdybym wcześniej nie dał 1/5 za konieczność poprawiania :P Jak ktoś dodaje przykład niech go zrobi w GM8 i GM7 cholera farkraj pocałuj sie w dupe leniu śmierdzący ;/ przecież podał ci poprawny kod, usuń 2 true w 2 funkcjach i tyle! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dacus Opublikowano 27 Marca 2010 Autor Udostępnij Opublikowano 27 Marca 2010 Update przykładu: http://www.gmclan.org/up6168_12_cloak2.html Ze względu na powolność funkcji sprite_create_from_surface() jest możliwość aktualizacji tła co kilka kroków(klawisze a, z). Można też wyłączyć całkiem "refrakcję" aby zobaczyć jak to spowalnia. Niestety efekt nie działa dla kilku przenikających się obiektów. Przykład jest dla GM7(konwersja do 8 chyba nie jest takim problemem? :jezor: ) i oczywiście pozwalam na użycie kodu w swoich produkcjach. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Szkoda że to takie wolne, bo efekt jest ładny, ale już przy tempie odświerzania >1 przy poruszaniu zaczyna strasznie mrugać, a przy poruszaniu 1 z kolei efekt jest ładny, ale tak wolny, że jego użycie nie miało by sensu w żadnej grze. Nie chce mi się analizować kodu teraz, ale po kija Ty tu w ogóle tworzysz sprite O.o ? Masz surfejsa, i możesz operować od razu na nim, po co tworzyć jego kopię jako sprite, skoro na surfejsie możesz zrobić dokładnie to samo, co na tym spricie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Teraz masz 5/5, jest super. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dacus Opublikowano 27 Marca 2010 Autor Udostępnij Opublikowano 27 Marca 2010 Nie chce mi się analizować kodu teraz, ale po kija Ty tu w ogóle tworzysz sprite O.o ? Masz surfejsa, i możesz operować od razu na nim, po co tworzyć jego kopię jako sprite, skoro na surfejsie możesz zrobić dokładnie to samo, co na tym spricie. :blink: <facepalm> racja.... Masz łeb, dzięki. Niedługo update, gdzieś około 100 razy szybszy :jezor: . Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 To i ja zrobię taki przykładzik, i zobaczymy, kto wydajniej, który wygra zostanie dodany jako przykład na portalu :) Ed: Gotowe. Bez optymalizacji 1k fps. Jeszcze tylko powywalam niepotrzebny kod, jakoś ogarnę całość, okomentuję i czekam na Twoją wersję :) Ed: Dobra, kod ogarnięty. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 ładnie:) czy komuś działa efekt z tego postu? http://gmc.yoyogames.com/index.php?showtopic=236918&st=0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Nie. Na przyszłość: http://downforeveryoneorjustme.com/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dacus Opublikowano 27 Marca 2010 Autor Udostępnij Opublikowano 27 Marca 2010 To i ja zrobię taki przykładzik, i zobaczymy, kto wydajniej, który wygra zostanie dodany jako przykład na portalu :) Ed: Gotowe. Bez optymalizacji 1k fps. Jeszcze tylko powywalam niepotrzebny kod, jakoś ogarnę całość, okomentuję i czekam na Twoją wersję :) Ed: Dobra, kod ogarnięty. Konkursy szybkopisania nie są ci chyba obce :P. Update w pierwszym poście. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Marca 2010 Udostępnij Opublikowano 27 Marca 2010 Moim zdaniem refrakcja powinna dawać bardzej intensywny efekt zniekształecenia, ogólnie efekt czochra moszne :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 28 Marca 2010 Udostępnij Opublikowano 28 Marca 2010 Ne no, supcio ekstra, normalnie wypas, fps'y wcale nie spadają, piękny efekt, już zamontowałem to w mojej grze. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 28 Marca 2010 Udostępnij Opublikowano 28 Marca 2010 Maximal, kurka wodna, jak napisałem, że mam zamiar zrobić drugą wersję tego, to trzeba było poczekać ten jeden dzień przed dodaniem :/ Jak chciałeś dodać oba (no jednak, przykład Dacusa jest bardziej efektowny, ja prezentowałem sposób, nie efekt przejścia pojazdu do niewidzialności), to też trzeba było poczekać, by się jeden news zrobiło (ja Twojego edytować nie mogę, ew. złączyć je możesz). W każdym razie - patent na przesuwanie fragmentów surfejsów zamiast primitivów wygrał :) Twój - 506-510 Mój - 1375-1388 Jednoczesnego zniekształcania wielu pojazdów nie implementowałem - sposób tutaj użyty jest niestety niezbyt praktyczny - jak dla takiego ekranu można spokojnie zniekształcić wszystko naraz (tzn. przyjmuję że zniekształcasz cały ekran jednocześnie, osobne pojazdy jedynie wyświetlają odpowiednie fragmenty), to już dla gry, w której plansza ma dużo większe rozmiary mijało by się to niestety z celem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Markar Opublikowano 28 Marca 2010 Udostępnij Opublikowano 28 Marca 2010 jak rpzesuwam viewa funkcją view_xview+=5 niektóre obiekty lecą razem z roomem. To chyba wina surfejsa. Co może być źle, jak to nmaprawić? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 28 Marca 2010 Udostępnij Opublikowano 28 Marca 2010 Ja czy on? Jak ja to w pierwzsym malowaniu na surfejsie iwave bloczka dodaj do pozycji rysowania tła pozycje viewa. Ed: I jak to jest tam malowane w drawie a nie stepie to wszystko oprócz draw_surface() walnij do stepa, bo to powoduje bugi z viewami. 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ę