Skocz do zawartości

mipo57

Użytkownicy
  • Postów

    382
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez mipo57

  1. jak masz dwa pliki korzystające z jednej zmiennej to używaj extern a nie deklaruj w haderze przykład: lolek.cpp: ... int kabu; kabu=3; .... bolek.cpp: ... extern int kabu .... i w tedy zmienna w bolku będzie miała wartość 3 możesz też używać funkcji np bool zom(); zamiast bool zom;
  2. nie chodziło mi o to tylko że na początku gry(podczas wczytywania) jak by miał wiele spritów to by się gra przycięła
  3. wątpię żeby to zwiększyło wydajność raczej na odwrót bo poza narysowaniem sprite-a musi go jeszcze wczytać (choć mogę się mylić ;) )
  4. chodzi o coś takiego https://gmclan.org/up6058_4_SJ2010.html ? (gierka na ligę) jeżeli tak to mogę napisać kody źródłowe
  5. trzeba chwile posiedzieć nad dopasowaniem przecież to wiadome że kamera jak jest za graczem musi zrobić większe koła a żeby nadążyć musi musi szybciej skręcać O_o
  6. mipo57

    Edytor grafiki 3D

    nie no nic przecież np karta graficzna za 200zł prawie nic się nie rożni od tej za 1000 obydwie są prostokątne... a w 3ds maxie co stoi na przeszkodzie :huh: a co do sketupcha nawet fajny ale raczej do architektury itp a w zasadzie darmowy bo lite i pro różnią się tylko możliwością eksportu a lite-owski skp można przekonwertować na 3ds
  7. mipo57

    Edytor grafiki 3D

    3ds max! blender jest lepszy jedynie w tym że jest darmowy a max: 1.jest łatwiejszy 2.Ma więcej funkcji 3.Jeżeli będziesz się tym zajmował zawodowo to masz obsługę za sobą zresztą można to wywnioskować po cenie... niestety jeżeli nie jesteś bogaty i nie jesteś piratem zostaje blender...
  8. mi się wydaje że masz sklerozę bo założyłeś już ten temat ;) przypomnę https://forum.gmclan.org/index.php?showtopic=22547 a robisz ją tak 1. robisz kamerkę tak jak w fps 2. tworzysz bohatera załóżmy klocek 3. stawiasz go przed obiektem kamera 4. dajesz mu sterowanie takie samo jak kamerze w fps 5. Tadadadada cieszysz się że masz kamerkę tpp!
  9. nadal nic :crying: edit masz: #include <iostream> #include <stdlib.h> #include <GL/glut.h> using namespace std; float _ang=100.0f; void klawiatura(unsigned char key, int x, int y) { switch (key) { case 27: exit(0); break; case GLUT_KEY_LEFT: _ang+=10; break; } } void initRendering() { glEnable(GL_DEPTH_TEST); glClearDepth(1.0f); } void wielkosc(int w, int h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, (float)w / (float)h, 1.0, 200.0); } void rysuj() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0f,0.0f,-5.0f); glRotatef(_ang,1.0f,0.0f,0.0f); glColor3f(0.0f,0.1f,0.0f); glBegin(GL_QUADS); glVertex3f(-0.7f, -0.5f, 0.0f); glVertex3f(0.7f, -0.5f, 0.0f); glVertex3f(0.4f, 0.5f, 0.0f); glVertex3f(-0.4f, 0.5f, 0.0f); glEnd(); glutSwapBuffers(); } void odswierz(int value) { glutPostRedisplay(); glutTimerFunc(25, odswierz, 0); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(400, 400); glutCreateWindow("BoB"); initRendering(); glutDisplayFunc(rysuj); glutKeyboardFunc(klawiatura); glutReshapeFunc(wielkosc); glutTimerFunc(25, odswierz, 0); glutMainLoop(); return 0; } sorry że tak długo ale miałem atak pseudo-wirusów EDIT: dobra problem rozwiązany
  10. a gdzie (jak?) to się zmienia (zawsze używałem domyślnego 0x0 jeżeli chodzi o to co przy kompilacji się pokazuje)
  11. tyle że problem powraca bo jak pisze GLUT_KEY_LEFT to akcja i tak się dzieje po naciśnięciu 'd' edit: zaraz wyśle edit 2: zaraz napisze nowy programik na tej samej zasadzie bo mój projekt byś trochę analizował...
  12. chyba kawalisz 'd' i tak powinno być według ascii http://en.wikipedia.org/wiki/ASCII#ASCII_p...able_characters i wszystko ma dobre parametry bo tego używam i mam już dużo zrobione a ten sposób co robię jest właśnie najbardziej glutowy EDIT: i właśnie o to chodziło :thumbsup: EDIT 2: chwila pisze mi error że klawisz 100 już jest użyty a klawisz 100 to d !
  13. znaczy obraca się ale po naciśnięciu d (100) a nie VK_LEFT. a co do drugiego nie jest to robione w stylu twórz okienko, podepnij opengl-a pod okienko tylko: void klawiatura(unsigned char key, int x, int y) { //tutaj odbiór klawiszy itp } void inicjujRendering() { //tutaj opcje typu glEnable(GL_DEPTH_TEST); // po prostu inicjowanie ustawień } void zmianawielkosciokna(int w, int h) { //tutaj ustawienia co ma robić kiedy się zmieni wielkosc okna //głównie po to żeby obraz był zawsze takiej samej wielkości } void rysuj() { // to co ma rysowac } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); //styl wyświetlania glutInitWindowSize(400, 400);// można się domyślić glutCreateWindow("LoL"); //tutaj całe automatyczne tworzenie okna podpinanie itp initRendering();// tu też glutDisplayFunc(rysuj); //jaka funkcja ma odpowiadać za rendering glutKeyboardFunc(klawiatura);// ... za odbieranie klawiczy glutReshapeFunc(zmianawielkosciokna);//... co ma robić przy zmainie okna glutMainLoop(); return 0; } ten sposób jest nieco łatwiejszy i przejrzystszy niż z windows.h aha wracojąc do tematu nie ma żadnych błędów po prostu nie czyta VK_LEFT ,VK_UP itd ;)
  14. opengl to wyjaśnienie (jakby ktoś nie wiedział bo to tylko kawałek kodu :P ) chodzi o to że funkcja korzysta z bibliotek glut itp. unsigned char key ma wartość aktualnie wciśniętego klawisza a x i y to pozycje myszy.
  15. słyszałem o tym, właśnie w tym problem że coś nie działa void klawiatura(unsigned char key, int x, int y) { switch (key) { case 27: //Escape key cleanup(); exit(0); break; case ' ': if (ruch==true) ruch=false; else ruch=true; break; case 100: _ang+=10; break; case VK_LEFT: _ang-=10; break; } } (opengl) choć jest to dziwne bo obiekt się nie obraca ale error też nie wyskakuje :huh:
  16. dołącze się do tematu bo nie chce spamić nowym :) gm-a nie mam a bardzo chciałbym się dowiedzieć jaki numer odpowiada strzałkom tutaj http://en.wikipedia.org/wiki/ASCII#ASCII_p...able_characters nie ma (a jeśli jest to nie wiem jak się nazywają) a bardzo tego potrzebuje
  17. jak nie rozumiesz jak działa kod to się za niego nie bierz spróbuj czegoś łatwiejszego a po jakimś czasie wróć do tego i spróbuj jeszcze raz wtedy to łatwiej przyjdzie ;) bo kopiowanie przykładów nic a nic nie da
  18. spróbuj zmienić m[0]='Nowa gra'; m[1]='koniec gry'; na m[1]='Nowa gra'; m[2]='koniec gry'; i for (i=0; i<=kursor_max; i+=1;) na for (i=1; i<=kursor_max; i+=1;)
  19. strzelam że chodzi o to: kursor_max=2 a nie ma czegoś takiego jak m[2]
  20. mipo57

    polewacz

    U tymona odpowiedź znajdziesz ;) https://forum.gmclan.org/index.php?showuser=152
  21. http://www.yoyogames.com/downloads/tutorials/fps.zip kto wie może skoro dyzmkowi nic nie wychodzi w 2d to może gry 3d będzie robił świetne EDIT: kilka tematów pod spodem jest taki sam temat :P
  22. to i ja się dorzucę do znajdujących błędy :) chyba że tak być powinno
  23. no właśnie o to chodzi a błąd nie wywali, sprawdziłem (gm8) :P
  24. if (!music) { //tu wywala error } else { //a tu nie } kod z c++ ale tu powinien też działać
×
×
  • Dodaj nową pozycję...