Skocz do zawartości

Pogromca_kodu77

Użytkownicy
  • Liczba zawartości

    57
  • Rejestracja

  • Ostatnia wizyta

Zawartość dodana przez Pogromca_kodu77

  1. Wersji póki co używam gms 1.4 a tam nie ma funkcji camera_apply(view_camera[0]) No dobra teraz do rzeczy bo zwątpiłem już całkiem;-) Zacząłem kod rozbijać na fragmenty i analizować co jest nie tak,że kiedy zaimplementuje parallaxe na obiekcie lustro i na pozycji surface,to odbicie lustrzane zaczyna się trochę przed lustrem i kończy się zanim skończy się krawędź lustra. To jest dziwna sytuacja,bo takiego zjawiska nie mam kiedy wyłączę parallaxe na lustrze i na surface wtedy odbicie lustrzane bohatera zaczyna się na krawędziach lustra. Ktoś mógłby mi pomóc rozwiązać te
  2. Może to być problem tu argument1+argument7, ale sam nie wiem.Musiałbyś pokombinować. Łączysz argument7 który jest alpha z argumentem1 który jest y. Może ktoś bardziej doświadczony będzie Ci wstanie pomóc.
  3. Wielki Inkwizytorze Gnysku Czyli mój kod musiałbym przenieść do zdarzenia Step żeby uzyskać ten efekt przesunięcia obiektu lustro i przesunięcia pozycji surface. No dobrze,ale funkcje draw i draw_surface powinny znajdować się w zdarzeniu draw tak? w Step co dokładnie powinno się znaleźć aby rozwiązać ten problem co opisałem powyżej aby lustro jak i surface równo poruszało się z graczem i nie ucinało odbicia w lustrze a ni nie wyjeżdżało po za lustro odbicie gracza obj_lustro draw ///lustro // rysuje sprite lustra // lustro przesuwa sie z tą samą pr
  4. To może inaczej to wyjaśnie w czym problem. Kiedy nie ustawie parallaxy na lustrze i surface to wszystko jest w porządku i obiekt lustro zbajduje się dokładnie w tym miejscu w którym ustawiłem go w room edytorze a odbicie bohatera jest idealnie ustawione. Natomiast kiedy ustawie parallaxe na obiekcie lustro ponieważ te lustro jest wtopione w tło i oba poruszają się w tym samym kierunku z tą samą prędkością(używam xview i yview w grze) I taka samą parallaxe ustawie przy funkcji draw surface w obiekcie lustro to kiedy uruchomie gre pozycja obiektu lustra jest inna niż ustaw
  5. Może na skróty uprościłem poniżej kod do i zobrazowałem to na rysunku poniżej o co mi chodzi parallaxa tła i obiektu lustra ma te same wartości czyli /7.7 dla x i y Natomiast na draw surface zmniejszyłem te wartości dzieląc x i y na /40 wiem wiem duża cyfra,ale teraz powiedzmy,że lustrzane odbicie stara się trzymać stałą odległość od gracza w pozycji x i y.Chociaż nie mam pewności czy tak to powinno być że musiałem użyć tak dużych wartości aby zachować stałą odległość gracza od lustrzanego odbicia gracza na lustrze. A co zrobić kiedy idę w prawo to odbicie bohatera kończy się za
  6. Hmmmm..po części to rozwiązuje problem..ale jest pewne zjawisko.. Co jest przyczyną,że używając tych samych wartości /7.5 na surface odbicie lustrzane bohatera próbuje go przegonić jak idę w prawo a jak idę w lewo próbuje go dogonić,a powinno poruszać się z taką samą wartością jak było bez parallaxy. Kod wygląda teraz tak.. Dodałem do draw surface parallaxe jest też dodana do bohatera i pocisku obj_lustro ///lustro // rysuje sprite lustra //draw_sprite(sprite_index,0,x,y); // lustro przesuwa sie z tą samą prędkością co tło na którym jest te lustro
  7. Masz na myśli to? draw_surface(_surf,_xx+view_xview/7.5,_yy+view_yview/7.5);
  8. Myślę,że tu rozwiązałoby problem aby wymusić tą pozycje obiektu lustra taką samą jak jest wyłączona parallaxa na obiekcie lustro. Ja rozumiem,że lustro będzie się poruszać przy parallaxie ale zastanawia mnie to dlaczego pozycja obiektu lustra się zmienia w room edytorze to jest ten problem. O dziwo wszystko idealnie jest ze sobą zgrane jak nie mam ruchomego tła a na nim ruchome lustro poruszające się z tą samą prędkością co tło dające efekt jakby to lustro było element tła wtopionego na tle
  9. Dziękuję. Nasunęło mi się jeszcze jedno pytanie bo wcześniej nie brałem tego pod uwagę. Używam w grze widoków. Mam parallaxe na każdej scenerii i też na tej gdzie umieściłem lustro. Sprite używam jako tła aby operować głębią. Tło na którym jest umieszczone lustro używa też parallaxy i tą parallaxe ustawiłem też na obiekcie lustra tak aby dawało to wrażenie,że lustro jest wtopione w tło ruchome Jednak mam pewien problem.Kiedy tło z lustrem się porusza to stworzone przeze mnie rozmiar lustra surface_create jest cały czas w tej samej pozycji. Powinno ta
  10. Może trzeba by było użyć zmiennej, aby kontrolować opcje alfa? Kiedy bohater znajdzie się w zakresie, powoli zwiększa się zmienną z niską wartością, aby przejść od 0 do 1. Gdy bohater wyjdzie z zakresu, zmniejsza się wartość zmiennej do 0. Chociaż to tylko pomogłoby w przypadku tła ale odbicie bohatera i pocisk nie będą miały tego efektu. Twój pomysł w sobie wydaje się być logiczny z surface z kanałem alpha. Chociaż sam już nie wiem. Tylko jak to prawidłowo zaimplementować?
  11. Edit 1 Ok przyczyna leżała w tym,że powinienem najpierw na surface namalować tło a następnie bohatera i pocisk.Teraz tło jest za bohaterem. Mam jeszcze to ostatnie pytanie co wcześniej zapytałem;-) Jak uzyskać efekt pojawiania się i zanikania tła na lustrze? bo teraz to jak podchodzi gracz do lustra to tło tak szybko się pojawia be przejścia i jak oddale się od lustra to tło szybko znika. Nie wiem czy dobrze to sprecyzowałem. Dziękuję
  12. Dziękuję za pomoc:-) Mam jeszcze dwa pytania. 1. Użyłem zgodnie ze wskazówkami sprita obiektu ale nadal tło rysowane na surface jest przed odbiciem lustrzanym bohatera a powinno być za nim. głębię ustawiłem prawidłową na obiekcie obj_lustro które ma +10 a obiekt obj_tlosurface ma głębię ustawioną na +20 czyli jest dalsze niż odbicie lustrzane bohatera. 2. Jak uzyskać efekt alpha jak gracz pojawi się przy lustrze? Nie wiem jak to opisać..Tak na prosty rozum. teraz tło pojawia się od razu jak gracz podejdzie do lustra i tak ma zostać tylko ab
  13. Hmmm nie bardzo rozumiem z tą zmienną tymczasową. Mógłbyś to wyjaśnić 🙂 Dziękuję
  14. Nie to mam na myśli 🙂 pozycje sprite ustawie sobie. Chodzi o to,że kiedy w funkcji draw_sprite_ext odwołuje się do obiektu obj_tlosurface dodając po kropce sprite_index to nie chce mi rysować na surface sprite z tego obiektu. Musiałem też dodać funkcje instance_exists bo wywalało błąd,że taka instancja nie istnieje. Co robię tu nie tak,że nie chce mi się z tego obiektu sprite rysować? var Rysuj = 0; with (obj_hero){ if distance_to_object(obj_lustro) <= 20{ Rysuj = 1; } }
  15. Słusznie 😉 zostanę przy surface To jednak użyje to na obiekcie wtedy będę mógł dodać głębie. Teraz tak to będzie wyglądać mniej więcej tak? zerkniesz? var Rysuj = 0; with (obj_hero){ if distance_to_object(obj_lustro) <= 20{ Rysuj = 1; } } if Rysuj { draw_sprite_ext(obj_tlosurface.sprite_index,0,x ,300,image_xscale,image_yscale,0,image_blend,.5) } nie wiem czy też mam dodać obj_tlosurface do wartości x i y
  16. Rozumiem.Dzięki za objaśnienie działania tej zmiennej globalnej. Dobra pomyślałem sobie,że fajnie by było aby przedstawić na lustrze nie tylko odbicie bohatera czy też pocisk jakim strzela ale nieistniejący fragment scenerii na tym surface który np jest na przeciwko lustra fakt gra jest 2D i ta ściana nie istnieje ale załóżmy,że chce ją przedstawić w odbiciu lustrzanym dodałem taki kod do zdarzenia draw w obj_lustro var Rysuj = 0; with (obj_hero){ if distance_to_object(obj_lustro) <= 20{ Rysuj = 1; } }
  17. Czyli ta cała jedna zmienna globalna będzie pełnić rolę podobną jak funkcja surface_free? tyle,że będę mógł użyć/przenieść powierzchnie na dowolny obiekt? Dobrze to brzmi sensownie.A takie pytanie mam chociaż już wcześniej je zadawałem. W tech chwili mam stałe parametry powierzchni 300,200 bo też taki sprite powierzchni ma wymiary i na tej powierzchni tworzy się obecnie lustro. I teraz tak: Załóżmy że lustro i sprite powierzchni ma wymiary 32x32 i mogę go rozciągać na dowolny rozmiar na planszy (room edytorze) I w miejscu gdzie nastąpi to rozciągnięcie sp
  18. Tak tylko jak nie usunę powierzchni z pamięci to nastąpi wyciek tej pamięci... A tego trzeba pilnować no dobra to sobie to odpuszczę. A mam pytanie... jak narysować na tej samej powierzchni kawałek niewidocznej scenerii która na przykład jest na przeciwko lustra,ale w rzeczywistości nie istnieje,bo to gra 2D widziana z perspektywy klasycznych platformówek jak Mario itp. Mam coś takiego na myśli gracz podchodzi do lustra jest on pokazany w lustrze jak jest teraz obecnie oraz kawałek niewidocznej nieistniejącej scenerii w lustrze która ma lub nie ma parallaxe.
  19. Dziękuje;-) usunąłem with faktycznie bez sensu była ta funkcja jak poniżej była pętla Hmmm... wszystko działa jak należy i na chwile obecną tak to wygląda ///lustro // rysuje sprite lustra draw_sprite(sprite_index,0,x,y); // pozycja lustra _xx = x; _yy = y; _surf = surface_create(300,200); // rozmiar lustra surface_set_target(_surf); draw_clear_alpha(c_black,0); draw_sprite_ext(obj_hero.sprite_index,obj_hero.image_index,obj_hero.x - _xx ,obj_hero.y - _yy - 70,obj_hero.image_xscale,obj_hero.image_yscale,0,image_blend,.5) // rysujemy pocisk na surface var _xx1 = x
  20. edit 1 Ok działa przepraszam ja tu strzeliłem babola..zamiast rysować sprita to rysowałem obiekt;-) Podmieniłem też funkcje z draw_sprite na draw_sprite_ext aby uzyskać ten sam efekt co ze spritem bohatera czyli alpha i image_blend Musiałem też dodać linijkę with obj_pocisk { Twój kod } Jeszcze raz wielkie dzięki za pomoc;-) Mam jeszcze jedno pytanie.. zadałem je w sumie na początku tego wątku;-) Chciałbym po odznaczeniu w opcjach przy obiekcie lustro opcji visible aby rysował się na dowolnych obiekc
  21. Wiesz są jeszcze lepsze rozwiązania z shaderami..ale po co mi tłumienie itp bajery w odbiciu.Zresztą shadery są naprawdę już nie źle pokręcone. Surface w tym przypadku wydaje się łatwiejsze w implementacji. Kurcze żeby z tym pociskiem był taki problem:-( Dziwne zjawisko wychodzi przy tym kodzie poniżej..Rysuje już pocisk na powierzchni lustra..tylko jest jeden mankament. Zamiast pocisku jest rysowany sprite bohatera🙂 kod wygląda teraz tak Obj_lustro draw ///lustro // rysuje sprite lustra draw_sprite(sprite_
  22. No właśnie też pomyślałem o tym,że sprite pocisku rysuje mi się w pozycji 0,0. i dodanie tu jakichkolwiek wartości nie powoduje to,że sprite pocisku jest rysowany na lustrze ale na innej pozycji. Siedzę główkuje nad tym od kilku dni. Dobra to teraz takie pytanie...żeby ustawić offsety view to powinienem to zaimplementować już w samym surface? mam na myśli ten fragment surface _surf = surface_create(300,200); // rozmiar lustra Jak to powinno prawidłowo wyglądać? powinienem użyć zamiast funkcji draw_surface funkcję draw_surface_ext?
  23. Cześć wszystkim, Mam lustro oparte na powierchni. Kiedy gracz podchodzi do lustra to tworzy się jego lustrzane odbicie oraz wszystkie stany animacji bohatera które wykonuje przy lustrze.ale do pełni szczęścia brakuje Mi dwóch rzeczy 1. Nie mogę ustawić na powierzcni lustra aby sprite pocisku też się tworzyłtak samo jak tworzy się przy spricie bohatera. Próbowałem już wielu rozwiązań i nadal sprite pocisku nie rysuje się na lustrze. 2. Chciałbym po odznaczeniu w opcjach przy obiekcie lustro opcji visible aby rysował się na dowolnych obiekcie na jakim go us
  24. Cześć chłopaki..Potrzebuje pomocy..Nie mogę sobie poradzić z blokiem kodu...Już tłumaczę o co chodzi..Mam trzy bloki takie same kodu w zdarzeniu step bohatera no i tak.. 1 blok jest to atak bohatera który strzela podczas stania i podczas biegania.. 2.blok kodu to atak bohatera który strzela podczas skoku 3 blok kodu to atak bohatera który strzela kiedy znajduje się na drabinie.. Chciałbym wrzucić te trzy same bloki kodu w jeden blok uwzględniając zmiany spritów i warunki,że jeśli jest na drabinie to używa tego sprita,że jeśli strzela podczas skoku to używa tego sprit
×
×
  • Dodaj nową pozycję...