Dawidds Opublikowano 24 Października 2008 Udostępnij Opublikowano 24 Października 2008 A mianowicie, jak zrobić własne show_message(). Pierwsze, o czym pomyślałem, to pętla nieskończona. Ale... to nie to. Wtedy gra "zamrze" dopóki nie wcisnę jakiegoś klawisza. A nie ma zamrzeć, bo po najechaniu myszą na guzik OK ma się on zrobić "jaśniejszy" :P Później pomyślałem, aby tworzyć obj_msg, a on by w swoim Create dezaktywował wszystkie instancje poza nim samym. Ale to też nie działa, bo najpierw skończy się wykonywać kod pierwszego obiektu, a dopiero później się deaktywuje. Także pytam - jak zrobić włane show_message() :P ? Bo te GM'owe są do bani... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Saus Opublikowano 24 Października 2008 Udostępnij Opublikowano 24 Października 2008 Zawsze sobie mozesz customiznac te brzydkie show_message i zrobic z nich ladniejsze, mianowicie message_background(back) Sets the background image for the pop-up box for any of the functions above. back must be one of the backgrounds defined in the game. If back is partially transparent so is the message image (only for Windows 2000 or later). message_alpha(alpha) Sets the alpha translucence for the pop-up box for any of the functions above. alpha must lie between 0 (completely translucent) and 1 (not translucent) (only for Windows 2000 or later). message_button(spr) Sets the sprite used for the buttons in the pop-up box. spr must be a sprite consisting of three images, the first indicates the button when it is not pressed and the mouse is far away, the second indicates the button when the mouse is above it but not pressed and the third is the button when it is pressed. message_text_font(name,size,color,style) Sets the font for the text in the pop-up box. (This is a normal Windows font, not one of the font resources you can out in your game!) style indicates the font style (0=normal, 1=bold, 2=italic, and 3=bold-italic). message_button_font(name,size,color,style) Sets the font for the buttons in the pop-up box. style indicates the font style (0=normal, 1=bold, 2=italic, and 3=bold-italic). message_input_font(name,size,color,style) Sets the font for the input field in the pop-up box. style indicates the font style (0=normal, 1=bold, 2=italic, and 3=bold-italic). message_mouse_color(col) Sets the color of the font for the buttons in the pop-up box when the mouse is above it. message_input_color(col) Sets the color for the background of the input filed in the pop-up box. message_caption(show,str) Sets the caption for the pop-up box. show indicates whether a border must b e shown (1) or not (0) and str indicates the caption when the border is shown. message_position(x,y) Sets the position of the pop-up box on the screen. message_size(w,h) Fixes the size of the pop-up box on the screen. If you choose 0 for the width the width of the image is used. If you choose 0 for the height the height is calculated based on the number of lines in the message :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 24 Października 2008 Udostępnij Opublikowano 24 Października 2008 Pierwsze, o czym pomyślałem, to pętla nieskończona. Ale... to nie to. Wtedy gra "zamrze" dopóki nie wcisnę jakiegoś klawisza. Ale da się to obejść. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 24 Października 2008 Administratorzy Udostępnij Opublikowano 24 Października 2008 My na GMC naprawdę nie tworzyliśmy niektórych przykładów dla jaj: https://gmclan.org/index.php?plik=84 - i masz tam opisane, jak to zrobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 25 Października 2008 Autor Udostępnij Opublikowano 25 Października 2008 Nie o to mi chodzi. W tamtym przykładzie, gra się pauzuje - ale nie automatycznie. Jeśli bym dał: GML add_text("msg1"); show_debug_message("code1"); add_text("msg2"); show_debug_message("code2"); , to jeszcze nawet 1. okienko by się nie skończyło wpisywać, a już zobaczyłbym obydwie wiadomości (code1 i code2) w GM'owym debugu - czyli inaczej rzecz biorąc, kod po pierwszym add_text() wykonałby się od razu. A ma się zrobić dokładnie tak, jak w GM'owym show_message() - kod będzie się wykonywał dalej dopiero, jak kliknę OK. Saus: 1. Nie daje mi to pełnej kontroli :P Chciałbym dawać okienka do wprowadzania 2 inputów, itp... 2. A na dodatek te okienka są... no, głupie :P Niewydajne może nawet...? :P Tymon: A niby jak ^_^ ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 GML (objwiadomosc) instance_deactivate_all( true ) instance_activate_object( self ) albo lepiej: tam gdzie masz pokazywanie tej wiadomości: GML instance_deactivate_all( true ) instance_create( 50 , 50 , obj_wiadomosc ) przy usuwaniu: GML instance_activate_all( true ) ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Października 2008 Administratorzy Udostępnij Opublikowano 25 Października 2008 keyboard_wait(); lub układanie i ściąganie ze stosów etc. - innej opcji nie ma. Nie da się zrobić w komputerze tak, ze on czeka na ciebie - nawet jak nic nie robi, to cały czas przerzuca jakiś kod. Np. w assemblerze wygląda to tak: ... MOV R1,@A KONIEC: NOP;brak operacji LJMP KONIEC;skacze do etykiety koniec Wniosek z tego taki, że gdy program na coś czeka, tak naprawdę stoi w pętli która nic nie robi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 Jezu... jest! Używa się pętli while tak jak w aplikacji pisanej np. w C++ z użyciem jakiegoś graficznego API. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Października 2008 Administratorzy Udostępnij Opublikowano 25 Października 2008 Ostatnia linijka mówi o pętlach :P Chodziło mi o to, że nie da się zrobić tak, żeby naprawdę nic się nie działo - zawsze musi się wykonywać jakiś kod, najwyżej nie zmienia on nic w działaniu programu i jest tylko jakąś pustą pętlą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 ale jeżeli wstawimy pustą pętlę to cały program się zawiesi. Lepiej już zablokować eventy zmienną albo po prostu deaktywować instancje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Snake Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 Masz przykład: http://www.gmclan.org/up541_11_mesydz.html Na "P" pokazujesz wiadomość. E: Kod masz w obj_message. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 25 Października 2008 Autor Udostępnij Opublikowano 25 Października 2008 Deaktywacja instancji nie działa, pisałem - GM najpierw wykona do końca event, a dopiero później zdezaktywuje instancję. Chyba rzeczywiście najprościej będzie blokować obiekty zmienną... Edit: Właśnie, przecież pętlę mogę dać w Drawie :P Dzięki Snake =D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 a sprawdzałeś deaktywować tak jak Ci podałem? to użyj exit po deaktywacji :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 25 Października 2008 Autor Udostępnij Opublikowano 25 Października 2008 Ale jak użyję exit po deaktywacji, to cały event (klocek z kodem) się przerwie, a dalszy kod też ma się wykonać - ale po prostu dopiero, jak wcisnę OK. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marek.S Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 no to chyba faktycznie tylko zadziała wstwienie pętli ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 25 Października 2008 Udostępnij Opublikowano 25 Października 2008 Snake! Kocham Cię. =D Marek.S, co rozumiesz przez zawieszenie się aplikacji? :) 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ę