SeaMonster131 |
» 2011-12-22 21:33:05 To pokaż kod, który Ci nie działa. |
|
kata.mic Temat założony przez niniejszego użytkownika |
» 2011-12-22 21:53:49 Być może w złych miejscach wstawiam ten szkielet wcześniejszy no ale jako fachowcy rzućcie okiem: Dodam dal jasności że tutaj chodzi o to by to co jest "Witaj w grze!" było takim miejscem wyboru gdzieś na dole tej strony, że np "1" przejdź dalej do nowego ekranu a "0" wyjdź z gry. No chyba że jeszcze inaczej doradzacie to oczywiście jestem otwarty inne rozwiązania. #include <iostream> #include <string> #include <allegro.h>
using namespace std;
int main() { allegro_init(); install_keyboard(); bool start = false; if( key[ KEY_SPACE ] ) start = true; if( start == true ) { set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT, 1366, 768, 0, 0 ); set_palette( default_palette ); clear_to_color( screen, 80 ); text_mode( - 1 ); FONT * font_pcx = load_font( "alegoria_48.pcx", default_palette, NULL ); textout_ex( screen, font_pcx, "Jesli to widac to powinno byc jako drugi ekran!", 337, 138, makecol( 255, 0, 2 ), - 1 ); } else { set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT, 1366, 768, 0, 0 ); set_palette( default_palette ); clear_to_color( screen, 80 ); text_mode( - 1 ); FONT * font_pcx = load_font( "alegoria_48.pcx", default_palette, NULL ); textout_ex( screen, font_pcx, "Witaj w grze!", 337, 138, makecol( 255, 0, 2 ), - 1 ); ellipse( screen, 688, 175, 400, 100, 200 ); for( int i = 10; i < 768; i = i + 10 ) { putpixel( screen, i, i, 244 ); putpixel( screen, i + 125, i, 244 ); putpixel( screen, i + 250, i, 244 ); } int y = 0; for( int i = 1366; i > 160; i = i - 10 ) { y = y + 10; putpixel( screen, i, y, 244 ); putpixel( screen, i - 125, y, 244 ); putpixel( screen, i - 250, y, 244 ); } } return 0; }
|
|
SeaMonster131 |
» 2011-12-22 21:59:58 Nie masz pętli głównej gry, wiec jak ma Ci to działać ? :) Rzuć okiem chociażby na to: Klawiatura |
|
kata.mic Temat założony przez niniejszego użytkownika |
» 2011-12-22 22:18:44 Jestem laikiem w tej dziedzinie a muszę tą grę za wszelką cenę zrobić dlatego "tykam się niemalże niemożliwego" jak dla mnie, jeśli możesz wpisz do tego kodu tą pętle o której mówisz tak żeby spełniła ona wcześniej wspomniane warunki. |
|
Gabes |
» 2011-12-22 22:23:02 Dałem wszystko na bufor.Musisz poczytać kurs .
#include <allegro.h> int main() { allegro_init(); install_keyboard(); set_color_depth( 32 ); set_gfx_mode( GFX_AUTODETECT, 1366, 768, 0, 0 ); BITMAP * bufor = create_bitmap( 1366, 768 ); FONT * font_pcx = load_font( "alegoria_48.pcx", default_palette, NULL ); bool start = false; while( !key[ KEY_ESC ] ) { clear_to_color( bufor, makecol( 0, 120, 0 ) ); if( key[ KEY_SPACE ] ) start = true; if( key[ KEY_RCONTROL ] ) start = false; if( start == true ) { textout_ex( bufor, font_pcx, "Witaj w grze!", 337, 138, makecol( 255, 255, 255 ), - 1 ); ellipse( bufor, 688, 175, 400, 100, 200 ); for( int i = 10; i < 768; i = i + 10 ) { putpixel( bufor, i, i, 244 ); putpixel( bufor, i + 125, i, 244 ); putpixel( bufor, i + 250, i, 244 ); } int y = 0; for( int i = 1366; i > 160; i = i - 10 ) { y = y + 10; putpixel( bufor, i, y, 244 ); putpixel( bufor, i - 125, y, 244 ); putpixel( bufor, i - 250, y, 244 ); } } else { textout_ex( bufor, font_pcx, "Jesli to widac to powinno byc jako pierwszy ekran!", 337, 138, makecol( 255, 0, 2 ), - 1 ); } blit( bufor, screen, 0, 0, 0, 0, 1366, 768 ); } destroy_bitmap( bufor ); allegro_exit(); return 0; } END_OF_MAIN(); |
|
kata.mic Temat założony przez niniejszego użytkownika |
» 2011-12-22 22:31:58 Jeśli chodzi o ścisłość to ten kod się kompiluję ale później zawiesza także nie wiem czy to tylko u mnie tak. No nic biorę się za ten kurs. :) Dzięki. |
|
Gabes |
» 2011-12-22 22:42:10 To mój błąd set_gfx_mode( GFX_AUTODETECT_WINDOWED,.. set_gfx_mode( GFX_AUTODETECT,
|
|
kata.mic Temat założony przez niniejszego użytkownika |
» 2011-12-24 18:00:45 Ale czego zmieniłeś na bufor? Skoro na screen dość dobrze to chodziło. |
|
1 « 2 » 3 |