Piast Temat założony przez niniejszego użytkownika |
Allegro ,z jednej bitmapy kilka sprite » 2010-03-04 13:00:25 Witam ,czy da się w Allegro z jednej bitmapy wydzielić kilka różnych sprite ,czy musi być jedna bitmapa do jednego sprite ? |
|
szyx_yankez |
» 2010-03-04 13:16:53 Da się, pociąć jedną bitmapę na kilka spriteów. |
|
Piast Temat założony przez niniejszego użytkownika |
» 2010-03-04 14:39:17 Jaką funkcją można wydzielić z .bmp kilka sprite ? Proszę o przykład |
|
pixelmaster |
» 2010-03-04 15:04:05 Możesz po prostu wykorzystać 3 i 4 argument funkcji blit (lub masked_blit) Z kursu: X,Y lewego górnego rogu wycinka prostokątnego fragmentu odnoszące się do bitmapy źródłowej. Czyli np masz plik.bmp w którym masz 2 obrazki 30x30 px ułożone obok siebie i chcesz wyświetlić ten 2 obrazek. blit( obrazek1, screen, 30, 0, 100, 100, 30, 30 );
|
|
szyx_yankez |
» 2010-03-04 15:04:21 Z *bmp kilka spriteów mozna wydzielić za pomocą funkcij : blit( BITMAP *, BITMAP *, int, int, int, int, int, int );
Lub: masked_blit( BITMAP *, BITMAP *, int, int, int, int, int, int );
Przykład; blit( bmp, bmp2, 100, 100, 200, 200, 100, 100 );
|
|
Piast Temat założony przez niniejszego użytkownika |
» 2010-03-04 15:16:53 jak wszystkie będą jako "obrazek1" to nie zrobię kolizji między sobą chciałbym przyporządkować np sprite[1] - (0,0,50,50) sprite[2] - (50,50,100,100) itp
|
|
szyx_yankez |
» 2010-03-04 15:27:32 Deklarujesz sobie bitmapy. BITMAP * sprite[ 10 ]; for( int x = 0; x < 10; x++ ) { sprite[ x ] = NULL; sprite[ x ] = create_bitmap( 50, 50 ); }
I potem wyświetlasz na nich wycięte za pomocą blit spritey. for( int x = 0; x < 10; x++ ) { blit( obrazek1, sprite[ x ], x * 50, 0, 0, 0, 50, 50 ); }
|
|
Bartaz |
... » 2010-03-04 15:59:10 W kursie SDL'A ma tej stronie jest pokazane jak to zrobic wiec w allegro bedzie pewnie podobnie. |
|
« 1 » 2 |