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

Jak przełączyć ekran powitalny na nowy obraz?

Ostatnio zmodyfikowano 2011-12-24 20:52
Autor Wiadomość
SeaMonster131
» 2011-12-22 21:33:05
To pokaż kod, który Ci nie działa.
P-46109
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.



C/C++
#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 ); // -1 umożliwia wypisnie tekstu na przeźroczystym tle
       
    }
    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 ); // -1 umożliwia wypisnie tekstu na przeźroczystym tle
       
        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;
}
P-46112
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: » Kurs Allegro 4.x, C++Klawiatura lekcja
P-46113
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.
P-46116
Gabes
» 2011-12-22 22:23:02
Dałem wszystko na bufor.Musisz poczytać kurs .

C/C++
#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 ) ); //czyszczenie ekranu
        if( key[ KEY_SPACE ] ) start = true; //spacja
       
        if( key[ KEY_RCONTROL ] ) start = false; //prawy ctrl
       
        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();
P-46117
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.
P-46119
Gabes
» 2011-12-22 22:42:10
To  mój błąd 
C/C++
set_gfx_mode( GFX_AUTODETECT_WINDOWED,..//wysw. w oknie
set_gfx_mode( GFX_AUTODETECT, //tryb pełnoekranowy
P-46120
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.
P-46236
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona