Qubatron15 Opublikowano 18 Lipca 2008 Udostępnij Opublikowano 18 Lipca 2008 Mam pytanie: W wielu grach z tego forum widziałem subtelne przejście pomiędzy room`ami - chodzi o wyciemnienie/znikanie. W "klocku" nie mogłem go znaleźć - były tylko jakieś żaluzje, wypychania i zakrywania. Mógłby ktoś powiedzieć, jak uzyskać takie przejście? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 18 Lipca 2008 Udostępnij Opublikowano 18 Lipca 2008 room transitions. Poczytaj w helpie( spis wszystkich przejsc ). ustawiasz tak : transition_kind = jakis_kind Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 18 Lipca 2008 Udostępnij Opublikowano 18 Lipca 2008 chodzi o wyciemnienie/znikanie można też rysować czarny, przeźroczysty prostokąt i zmieniać jego alpha ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 18 Lipca 2008 Udostępnij Opublikowano 18 Lipca 2008 sorx nie przeczytalem do konca ;p btw. w gm7 jest dodatek i tam jest cala masa dodatkowych przejsc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 18 Lipca 2008 Udostępnij Opublikowano 18 Lipca 2008 Możesz tak zrobić: obj_fade_out ( twórz ten obiekt podczas zmiany rooma ) CREATE: GML zmienna = 0; DRAW: GML draw_set_alpha( zmienna ); draw_rectangle_color( 0, 0, room_width, room_height, c_black, c_black, c_black, c_black, 0 ); zmienna += 0.05; if ( zmienna >= 1 ) room_goto_next(); // przejdzie do nastepnego rooma obj_fade_in ( twórz ten obiekt podczas startu rooma ) CREATE: GML zmienna = 1; DRAW: GML draw_set_alpha( zmienna ); draw_rectangle_color( 0, 0, room_width, room_height, c_black, c_black, c_black, c_black, 0 ); zmienna -= 0.05; if ( zmienna <= 0 ) instance_destroy(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Qubatron15 Opublikowano 18 Lipca 2008 Autor Udostępnij Opublikowano 18 Lipca 2008 Ok, dzięki wielkie, działa. :D EDIT: Kolejny problem mam (nie chciałem zakładać nowego tematu): Załóżmy, że jest gra, w której health się ciągle zmienia (maleje o 1 co 5 klatek). Co powinienem zrobić, żeby wstawiał się jakiś obiekt , kiedy wartość health znajduje się w jakimś przedziale (np od 50 do 65) i usuwał się, gdy health wychodzi poza ten przedział? Ale tak, by ten obiekt wstawiał się tylko raz (gdy bawiłem się z klockami "If health has a value", to obiekt wstawiał się cały czas i dźwięk, który miał on wytwarzać, stale się na siebie nakładał). Jeśli to coś zmienia, to korzystam z Game Makera 6,1. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 18 Lipca 2008 Udostępnij Opublikowano 18 Lipca 2008 Ok, dzięki wielkie, działa. :D EDIT: Kolejny problem mam (nie chciałem zakładać nowego tematu): Załóżmy, że jest gra, w której health się ciągle zmienia (maleje o 1 co 5 klatek). Co powinienem zrobić, żeby wstawiał się jakiś obiekt , kiedy wartość health znajduje się w jakimś przedziale (np od 50 do 65) i usuwał się, gdy health wychodzi poza ten przedział? Ale tak, by ten obiekt wstawiał się tylko raz (gdy bawiłem się z klockami "If health has a value", to obiekt wstawiał się cały czas i dźwięk, który miał on wytwarzać, stale się na siebie nakładał). Jeśli to coś zmienia, to korzystam z Game Makera 6,1. Spróbuj tak: Create: GML zostal_wstawiony = false Step GML if (health > 50)&&(health < 65)&&(zostal_wstawiony = false) { //akcja zostal_wstawiony = true } else { with (obiekt) instance_destroy() // nie wiem, czy chcesz niszczyć ten obiekt czy inny // dlatego dałem kod na inny :) } :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Qubatron15 Opublikowano 18 Lipca 2008 Autor Udostępnij Opublikowano 18 Lipca 2008 Nie chce działać. :/ Właściwie, to ja nie potrafię scriptować i stąd problemy. Robłem tak, że w obiekcie, który miał stworzyć ten obiekt, który ma się pojawiać (o nazwie obj_speach) w CREATE zamiast zostal_wstawiony = false wpisywałem instance_create( 0, 0, obj_speach) = false. W STEP też podmieniałem wtedy każde zostal_wstawiony. Z kolei tam, gdzie było (objekt) wpisywałem (obj_speach). Cały czas wyskakiwał błąd odnośnie pierwszego kodu, a gdy wpisywałem spowrotem zostal_wstawiony, to nic się nie działo - script nie działał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lenin Opublikowano 19 Lipca 2008 Udostępnij Opublikowano 19 Lipca 2008 w CREATE zamiast zostal_wstawiony = false wpisywałem instance_create( 0, 0, obj_speach) = false. :huh: o żesz kur... a gdy wpisywałem spowrotem zostal_wstawiony, to nic się nie działo - script nie działa a napewno we wszystkich kodach określasz życie bohatera zmienną health? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 19 Lipca 2008 Udostępnij Opublikowano 19 Lipca 2008 Nie chce działać. :/ Właściwie, to ja nie potrafię scriptować i stąd problemy. Robłem tak, że w obiekcie, który miał stworzyć ten obiekt, który ma się pojawiać (o nazwie obj_speach) w CREATE zamiast zostal_wstawiony = false wpisywałem instance_create( 0, 0, obj_speach) = false. W STEP też podmieniałem wtedy każde zostal_wstawiony. Z kolei tam, gdzie było (objekt) wpisywałem (obj_speach). Cały czas wyskakiwał błąd odnośnie pierwszego kodu, a gdy wpisywałem spowrotem zostal_wstawiony, to nic się nie działo - script nie działał. Na pewno działa, bo sprawdzałem. Nie zmieniaj nic. W miejsce: health - wpisz zmienną, jaką używasz do określania życia. obiekt - wpisz nazwe obiektu, który ma być niszczony //akcja - wystarczy wpisać akcja, jaka chcesz żeby się działa gdy życie znajdzie się w przedziale 50-65 i tyle :) A jak to nie pomoże, to podaj wszystkie kody z eventów z obiektu do którego chcesz to wrzucić i nazwę obiektu który ma być niszczony :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Qubatron15 Opublikowano 19 Lipca 2008 Autor Udostępnij Opublikowano 19 Lipca 2008 Ok, dzięki wielkie, działa, jest jeszcze tylko jeden problem: script ten działa jednorazowo, tzn. że jak health wejdzie w obszar 50-65, to objekt obj_speach się wstawia, gdy health z niego wyjdzie - obj_speach się usuwa, lecz gdy health ponownie wkroczy w przedział 50-65, to obj_speach się ponownie nie pojawia. Próbowałem rozwiązać to, wpisując na końcu drugiego scriptu if (health < 50)&&(health > 65)&&(zostal_wstawiony = true) { zostal_wstawiony = false } ...nic to jednak nie dało (widać nie trafiłem wymyślając kod). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 19 Lipca 2008 Udostępnij Opublikowano 19 Lipca 2008 Ok, dzięki wielkie, działa, jest jeszcze tylko jeden problem: script ten działa jednorazowo, tzn. że jak health wejdzie w obszar 50-65, to objekt obj_speach się wstawia, gdy health z niego wyjdzie - obj_speach się usuwa, lecz gdy health ponownie wkroczy w przedział 50-65, to obj_speach się ponownie nie pojawia. Próbowałem rozwiązać to, wpisując na końcu drugiego scriptu if (health < 50)&&(health > 65)&&(zostal_wstawiony = true) { zostal_wstawiony = false } ...nic to jednak nie dało (widać nie trafiłem wymyślając kod). Bo ja myślałem, że on ma w ogóle wstawiać się tylko raz :P Create: GML zostal_wstawiony = false Step: GML if (health > 50)&&(health < 65)&&(zostal_wstawiony = false) { //akcja zostal_wstawiony = true } else { with (obiekt) instance_destroy() // nie wiem, czy chcesz niszczyć ten obiekt czy inny // dlatego dałem kod na inny zostal_wstawiony = false Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Qubatron15 Opublikowano 19 Lipca 2008 Autor Udostępnij Opublikowano 19 Lipca 2008 Już prawie działa, ale jednak znów problem się pojawił. :/ W drugim scripcie nie wstawiłeś na końcu "}". Kiedy wstawiam go przed zostal_wstawiony = false, to obj_speach (gdy health wynosi 50-65), wstawia się co klatkę, czego efektem jest nakładanie się na siebie głosu, który ma on tworzyć. Z kolei, gdy "}" umieszczam zaraz za zostal_wstawiony = false, to obj_speach w jednej klatce się wstawia, a w następnej usuwa, w kolejnej znów wstawia i potem znowu usuwa - taka migawka. Nie może on przez to dokończyć wytwarzanego przez siebie dźwięku i innych akcji. Wszystko ustaje, gdy health wychodzi ze strefy 50-65. Fajnie byłoby, gdyby obj_speach, po prostu był, gdy health = 50-65, i nie było go, gdy health ma inną wartość. EDIT: Ok, dałem radę - trochę inaczej skonstruowałem resztę, ale script się przydał. Dzięki za pomoc. :D 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ę