Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Shutting down Allegro due to signal #11

Ostatnio zmodyfikowano 2012-02-10 21:08
Autor Wiadomość
zot0
Temat założony przez niniejszego użytkownika
» 2012-02-08 19:49:36
Tak działa,lecz na moje potrzeby nie mogę wszystkiego rysować w funkcji main, muszę rysować w osobnych gdyż będzie to naprawdę nie czytelne i nie poręczne w późniejszych zastosowaniach tego kodu.
skoro nie można rozwiązać tego problemu jest ktoś w stanie zaproponować jak się przenosi  "rysowanie" do funkcji albo do metody w klasie?

Idealnym rozwiązaniem było by takie coś:

C/C++
klasa.rysuj_GUI_na( bufor );
//lub
bufor = dorysuj_interfejs();
//ostatecznie
masked_blit( rys_GUI(), bufor, 0, 0, 0, 0, 1024, 768 );

może macie jakieś inne ciekawsze sposoby ?
P-50392
pekfos
» 2012-02-08 19:54:07
To, gdzie jest wywołanie nie ma znaczenia. Problem jest w nieprawidłowych argumentach. Zapraszam do dokumentacji allegro..
P-50393
ison
» 2012-02-08 20:00:25
@pekfos ? przecież rys_GUI może zwracać wskaźnik na bitmapę :p

@zot0 co prawda ostatnio nie korzystałem z renderowania oferowanego przez allegro ale kod wydaje się raczej ok,
to nie ma znaczenia, w którym miejscu w kodzie używasz tej funkcji,
spróbuj zainstalować 4.4
P-50394
pekfos
» 2012-02-08 20:04:16
rectfill( ini1, 0, my, mx, my -(( my / 12 ) * 2 ), color1 );
zmień na
rectfill( ini1, 0, my -(( my / 12 ) * 2 ), mx, my, color1 );
P-50395
ison
» 2012-02-08 20:12:29
@pekfos już o tym wspominałem w tym temacie, nie pomogło

zresztą 'zapraszam do dokumentacji' ;)
Draws a solid, filled rectangle with the two points as its opposite corners.
P-50396
pekfos
» 2012-02-08 20:21:17
zakomentuj tę linię:
show_mouse( bufor );
;P
i sprawdź czy działa.
P-50397
zot0
Temat założony przez niniejszego użytkownika
» 2012-02-10 20:30:19
nie mogę dać show_mouse(screen); przed gł. pętlą bo mi myszka mruga : <
Zlokalizowałem błąd.
C/C++
BITMAP * X = create_bitmap( 100, 100 );

rect( X, 0, 0, 100, 100, 0x0 ); //<-- wywala błąd
rect( X, 0, 0, 99, 99, 0x0 ); // <-- robi ramkę DOKŁADNIE na około
Trochę to mnie zdziwiło bo zwykle jak rysowało się poza bitmapą  albo po tych wsp.100 100 to nie wywalało błędu mimo, że jest to nie poprawne.

jeżeli mówię coś nie tak niech mnie ktoś poprawi i możemy zamknąć temat :]

 
P-50471
ison
» 2012-02-10 21:08:12
no niby tak, bo inaczej jakbyś zrobił
rectfill( X, 0, 0, SCREEN_W, SCREEN_H );

to by oznaczało, że ekran ma wymiary SCREEN_W+1, SCREEN_H+1 bo rectfill rysuje w przedziale domkniętym.
Bardzo dziwne jest jednak to, że to wywala błąd. Pomimo tego, że rysujesz poza bitmapą nie powinno wywalać błędu - w ten sposób będziesz musiał ręcznie ucinać recty jakbyś chciał aby w pewnych momentach mogły wychodzić poza ekran/bitmapę. U mnie rectfille poza ekranem nie wywalają błędu, ale nie wiem czy to było zamierzone czy to jest po prostu zachowanie niezdefiniowane.
P-50473
1 « 2 »
Poprzednia strona Strona 2 z 2