Ładny brzuch
Witam, napisalem sobie cos na styl gry 3D w Builder C++ 6 w srodowisku OpenGL
Caly czas pisalem jako czysty plik c++, (New -> c++ file) cos na schemat:
#include<...> rozne zmienne globalne funkcje (void, GLvoid, int ...) int main(int argc, char** argv) - glowna funkcja programu { ...; return 0; }
teraz potrzebuje dodac na poczatku prosty standardowy formularz (Form - Win API) z przyciskami
menu (start, opcje, edytor map, pomoc, about, koniec) ktory uruchomi sie pierwszy a sama
gra dopiero po nacisnieciu "start" oraz aby po "esc" wrocil do tego menu (do tej pory zrobilem
po "esc" wyjscie do windows przez exit (0); gdzies w switch(key)
jak zrobic (dodac) teraz taki formularz?
gdy przy otwartym moim cpp robie "New Form" to Builder dodaje nowy "Unit1.cpp"
gdy robie "New -> Application" jest Form i kod ale nie wiem jak porozmieszczac moj kod w "Unit1.cpp"
domyslam sie ze int main(..) bedzie trzeba zastapic:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
i tutaj w WinMain (..) dac formularz, tylko jak? jakos dynamicznie? czy jakos przez "New Form"?
nie wiem jak to wszystko zrealizowac, prosze o pomoc lub jakies podpowiedzi
dziekuje z gory i pozdrawiam :rolleyes:
Z tego co widze to sie praktycznie builderem nie poslugiwales do tej pory. Nie musisz zastepowac zadnego main(), bo tej funkcji w zwyklym projekcie buildera po prostu nie ma :P (znaczy sie WinMain jest w pliku .cpp programu, tym glownym, nie w unitach). Jesli pisales w czystym c++ to rozumiem ze przy uzyciu funkcji WinAPI czy jakos tak. Wiec dodaj 2 formy, jedna na caly ekran (druga, nie glowna aplikacji), ukrywasz j na poczatku aplikacji (Form2->Visible = false), a na drugiej odpowiednie przyciski, np. w zamknij Application->Terminate() a w start po prostu pokazujesz te druga forme Form2->Visible = true Chyba ci wystarczy. A z Escapem to zobacz na funckje onkeypress
Uytkownik kurak edytowa ten post 20 lipiec 2005, 12:09
~~
Jak dla mnie to Leon_z nie uzywa ani VCL'a ani winapi, po prostu C++ i OpenGL. No coz, jedyne co moge polecic Leon_z to napierw nauka winapi, jak juz zajazysz o co chodzi w winapi to zrobienie takiego okienka o jakim mowa to juz bedzie pikus. Niestety nie napisze Ci tego bo to w sumie caly program od podstwa trza napisac. Zajrzyj pod link co zapodal migajek - tam masz wszysto co jest potrzebne, a w szczegolnosci zapoznaj sie z tematem o oknach dialogowych. Tyle ze tam to chyba wiekszosc artow pisanych jest dla visual c++.
gry 3D w Builder C++ 6
On to pisze w czystym WinAPI i nie uzywa BCB. Cos nie uwazam. :P
On to pisze w czystym WinAPI i nie uzywa BCB. Cos nie uwazam. :P
Ok, poradzilem sobie dziala przycisk "Start" - uruchamia okno OpenGL i all ok
tylko jak po nacisnieciu "esc" wrocic do Form1 z przyciskami, narazie przez "esc"
zamykam aplikacje przez exit (0); lub Application->Terminate(); ale chodzi o to
aby zamknal samo okno OpenGL (i reset zmiennych) i wrocil do menu w Form1
okno tworze przez: okno_OGL=glutCreateWindow("OpenGL");
probowalem zamknac przez glutDestroyWindow(okno_OGL); ale sie wywala
jak mozna bezpiecznie zamknac okno OpenGL (fullscreen) i powrocic do Form1 ?
Ok, poradzilem sobie dziala przycisk "Start" - uruchamia okno OpenGL i all ok
tylko jak po nacisnieciu "esc" wrocic do Form1 z przyciskami, narazie przez "esc"
zamykam aplikacje przez exit (0); lub Application->Terminate(); ale chodzi o to
aby zamknal samo okno OpenGL (i reset zmiennych) i wrocil do menu w Form1
okno tworze przez: okno_OGL=glutCreateWindow("OpenGL");
probowalem zamknac przez glutDestroyWindow(okno_OGL); ale sie wywala
jak mozna bezpiecznie zamknac okno OpenGL (fullscreen) i powrocic do Form1 ?
Jak dla mnie to Leon_z nie uzywa ani VCL'a ani winapi, po prostu C++ i OpenGL. No coz, jedyne co moge polecic Leon_z to napierw nauka winapi, jak juz zajazysz o co chodzi w winapi to zrobienie takiego okienka o jakim mowa to juz bedzie pikus. Niestety nie napisze Ci tego bo to w sumie caly program od podstwa trza napisac. Zajrzyj pod link co zapodal migajek - tam masz wszysto co jest potrzebne, a w szczegolnosci zapoznaj sie z tematem o oknach dialogowych. Tyle ze tam to chyba wiekszosc artow pisanych jest dla visual c++.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Caly czas pisalem jako czysty plik c++, (New -> c++ file) cos na schemat:
#include<...> rozne zmienne globalne funkcje (void, GLvoid, int ...) int main(int argc, char** argv) - glowna funkcja programu { ...; return 0; }
teraz potrzebuje dodac na poczatku prosty standardowy formularz (Form - Win API) z przyciskami
menu (start, opcje, edytor map, pomoc, about, koniec) ktory uruchomi sie pierwszy a sama
gra dopiero po nacisnieciu "start" oraz aby po "esc" wrocil do tego menu (do tej pory zrobilem
po "esc" wyjscie do windows przez exit (0); gdzies w switch(key)
jak zrobic (dodac) teraz taki formularz?
gdy przy otwartym moim cpp robie "New Form" to Builder dodaje nowy "Unit1.cpp"
gdy robie "New -> Application" jest Form i kod ale nie wiem jak porozmieszczac moj kod w "Unit1.cpp"
domyslam sie ze int main(..) bedzie trzeba zastapic:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
i tutaj w WinMain (..) dac formularz, tylko jak? jakos dynamicznie? czy jakos przez "New Form"?
nie wiem jak to wszystko zrealizowac, prosze o pomoc lub jakies podpowiedzi
dziekuje z gory i pozdrawiam :rolleyes:
Z tego co widze to sie praktycznie builderem nie poslugiwales do tej pory. Nie musisz zastepowac zadnego main(), bo tej funkcji w zwyklym projekcie buildera po prostu nie ma :P (znaczy sie WinMain jest w pliku .cpp programu, tym glownym, nie w unitach). Jesli pisales w czystym c++ to rozumiem ze przy uzyciu funkcji WinAPI czy jakos tak. Wiec dodaj 2 formy, jedna na caly ekran (druga, nie glowna aplikacji), ukrywasz j na poczatku aplikacji (Form2->Visible = false), a na drugiej odpowiednie przyciski, np. w zamknij Application->Terminate() a w start po prostu pokazujesz te druga forme Form2->Visible = true Chyba ci wystarczy. A z Escapem to zobacz na funckje onkeypress
Uytkownik kurak edytowa ten post 20 lipiec 2005, 12:09
~~
Jak dla mnie to Leon_z nie uzywa ani VCL'a ani winapi, po prostu C++ i OpenGL. No coz, jedyne co moge polecic Leon_z to napierw nauka winapi, jak juz zajazysz o co chodzi w winapi to zrobienie takiego okienka o jakim mowa to juz bedzie pikus. Niestety nie napisze Ci tego bo to w sumie caly program od podstwa trza napisac. Zajrzyj pod link co zapodal migajek - tam masz wszysto co jest potrzebne, a w szczegolnosci zapoznaj sie z tematem o oknach dialogowych. Tyle ze tam to chyba wiekszosc artow pisanych jest dla visual c++.
gry 3D w Builder C++ 6
On to pisze w czystym WinAPI i nie uzywa BCB. Cos nie uwazam. :P
On to pisze w czystym WinAPI i nie uzywa BCB. Cos nie uwazam. :P
Ok, poradzilem sobie dziala przycisk "Start" - uruchamia okno OpenGL i all ok
tylko jak po nacisnieciu "esc" wrocic do Form1 z przyciskami, narazie przez "esc"
zamykam aplikacje przez exit (0); lub Application->Terminate(); ale chodzi o to
aby zamknal samo okno OpenGL (i reset zmiennych) i wrocil do menu w Form1
okno tworze przez: okno_OGL=glutCreateWindow("OpenGL");
probowalem zamknac przez glutDestroyWindow(okno_OGL); ale sie wywala
jak mozna bezpiecznie zamknac okno OpenGL (fullscreen) i powrocic do Form1 ?
Ok, poradzilem sobie dziala przycisk "Start" - uruchamia okno OpenGL i all ok
tylko jak po nacisnieciu "esc" wrocic do Form1 z przyciskami, narazie przez "esc"
zamykam aplikacje przez exit (0); lub Application->Terminate(); ale chodzi o to
aby zamknal samo okno OpenGL (i reset zmiennych) i wrocil do menu w Form1
okno tworze przez: okno_OGL=glutCreateWindow("OpenGL");
probowalem zamknac przez glutDestroyWindow(okno_OGL); ale sie wywala
jak mozna bezpiecznie zamknac okno OpenGL (fullscreen) i powrocic do Form1 ?
Jak dla mnie to Leon_z nie uzywa ani VCL'a ani winapi, po prostu C++ i OpenGL. No coz, jedyne co moge polecic Leon_z to napierw nauka winapi, jak juz zajazysz o co chodzi w winapi to zrobienie takiego okienka o jakim mowa to juz bedzie pikus. Niestety nie napisze Ci tego bo to w sumie caly program od podstwa trza napisac. Zajrzyj pod link co zapodal migajek - tam masz wszysto co jest potrzebne, a w szczegolnosci zapoznaj sie z tematem o oknach dialogowych. Tyle ze tam to chyba wiekszosc artow pisanych jest dla visual c++.