Skocz do zawartości

Lunatyk

Użytkownicy
  • Postów

    112
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Lunatyk

  1. Z tego co pamiętam to funkcja object_add() tworzy obiekt bez eventów. Ja bym to zrobił tak: GML newsprite = sprite_add(get_open_filename("*.png;*.bmp;*.gif;*.jpg",""),0,false,false,0,0); o = instance_create(0,0,objectnew); with (o) sprite_index = newsprite; Tylko wcześniej bym stworzył obiekt i to co ma rysować; @edit A jak się nie podoba to: GML newsprite=sprite_add(get_open_filename("*. png;*.bmp;*.gif;*.jpg" ,""),0,false,false, 0,0); objectnew=object_add(); object_set_sprite(objectnew,newsprite); object_event_add(objectnew,ev_draw,0,"draw_line(0,0,100,100)"); instance_create(0,0,objectnew); Funkcja object_event_add doda ci do obiektu event. Nie pamiętam tylko jaki powinien być 3 argument. @edit draw_line(0,0,100,100) dałem przykładowo.
  2. Lunatyk

    Galeria Grafik

    Katana w blenderze. Jeszcze bez sayi. Trochę materiał mi nie wyszedł i wszystko jest takie odblaskowe.
  3. Lunatyk

    Okno w OpenGL

    @ΨΧΞ Thx. :) Yes :)
  4. Lunatyk

    Okno w OpenGL

    Ten program ma rysować i obracać trójkąt, ale nie działa. W Visual'u niezbyt rozumiem te błędy jak nie ma nigdzie podkreślenia. #define WIN32_LEAN_AND_MEAN #include <Windows.h> #include <GL/GL.H> #include <GL/GLU.H> #include <GL/GLAUX.H> float angle = 0.0f; HDC g_HDC; void SetupPixelFormat (HDC hDC) { int nPixelFormat; static PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, PFD_TYPE_RGBA, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, PFD_MAIN_PLANE, 0, 0, 0, 0 }; nPixelFormat = ChoosePixelFormat (hDC, &pfd); SetPixelFormat (hDC, nPixelFormat, &pfd); } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { static HGLRC hRC; static HDC hDC; int width, height; switch (message) { case WM_CREATE: hDC = GetDC (hwnd); g_HDC = hDC; SetupPixelFormat (hDC); hRC = wglCreateContext (hDC); wglMakeCurrent (hDC, hRC); return 0; break; case WM_CLOSE: wglMakeCurrent (hDC, NULL); wglDeleteContext (hRC); PostQuitMessage (0); return 0; break; case WM_SIZE: height = HIWORD (lParam); width = LOWORD (lParam); if (height == 0) { height = 1; } glViewport (0, 0, width, height); glMatrixMode (GL_PROJECTION); glLoadIdentity(); gluPerspective (45.0f, (GLfloat)width/(GLfloat)height, 1.0f, 1000.0f); glMatrixMode (GL_MODELVIEW); glLoadIdentity(); return 0; break; default: break; } return (DefWindowProc (hwnd, message, wParam, lParam)); } int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { WNDCLASSEX windowClass; HWND hwnd; MSG msg; bool done; LPCWSTR myClass = TEXT ("MojaKlasa"); windowClass.cbSize = sizeof (WNDCLASSEX); windowClass.style = CS_HREDRAW | CS_VREDRAW; windowClass.lpfnWndProc = 0; windowClass.cbClsExtra = 0; windowClass.hInstance = hInstance; windowClass.hIcon = LoadIcon (NULL, IDI_APPLICATION); windowClass.hCursor = LoadCursor (NULL, IDC_ARROW); windowClass.hbrBackground = NULL; windowClass.lpszMenuName = NULL; windowClass.lpszClassName = myClass; windowClass.hIconSm = LoadIcon (NULL, IDI_WINLOGO); if (!RegisterClassEx (&windowClass)) return 0; hwnd = CreateWindowEx (NULL, myClass, TEXT ("Aplikacja OpenGL"), WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_SYSMENU | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, 100, 100, 400, 400, NULL, NULL, hInstance, NULL); if (!hwnd) return 0; ShowWindow (hwnd, SW_SHOW); UpdateWindow (hwnd); done = false; while (!done) { PeekMessage (&msg, hwnd, NULL, NULL, PM_REMOVE); if (msg.message == WM_QUIT) { done = true; } else { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); angle = angle + 0.1f; if (angle >= 360.0f) angle = 0.0f; glTranslatef (0.0f, 0.0f, -5.0f); glRotatef (angle, 0.0f, 0.0f, 1.0f); glColor3f (1.0f, 0.0f, 0.0f); glBegin (GL_TRIANGLES); glVertex3f (0.0f, 0.0f, 0.0f); glVertex3f (1.0f, 0.0f, 0.0f); glVertex3f (1.0f, 1.0f, 0.0f); glEnd(); SwapBuffers (g_HDC); TranslateMessage (&msg); DispatchMessage (&msg); } } return msg.wParam; } 1>------ Build started: Project: OpenGL, Configuration: Debug Win32 ------ 1>Build started 2010-10-23 11:20:55. 1>InitializeBuildStatus: 1> Touching "Debug\OpenGL.unsuccessfulbuild". 1>ClCompile: 1> All outputs are up-to-date. 1>ManifestResourceCompile: 1> All outputs are up-to-date. 1>main.obj : error LNK2019: unresolved external symbol __imp__gluPerspective@32 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__glLoadIdentity@0 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__glMatrixMode@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__glViewport@16 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__wglDeleteContext@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__wglMakeCurrent@8 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__wglCreateContext@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) 1>main.obj : error LNK2019: unresolved external symbol __imp__glEnd@0 referenced in function _WinMain@16 1>main.obj : error LNK2019: unresolved external symbol __imp__glVertex3f@12 referenced in function _WinMain@16 1>main.obj : error LNK2019: unresolved external symbol __imp__glBegin@4 referenced in function _WinMain@16 1>main.obj : error LNK2019: unresolved external symbol __imp__glColor3f@12 referenced in function _WinMain@16 1>main.obj : error LNK2019: unresolved external symbol __imp__glRotatef@16 referenced in function _WinMain@16 1>main.obj : error LNK2019: unresolved external symbol __imp__glTranslatef@12 referenced in function _WinMain@16 1>main.obj : error LNK2019: unresolved external symbol __imp__glClear@4 referenced in function _WinMain@16 1>C:\Documents and Settings\Mannor\Pulpit\test\opengl\OpenGL\Debug\OpenGL.exe : fatal error LNK1120: 14 unresolved externals 1> 1>Build FAILED. 1> 1>Time Elapsed 00:00:00.82 ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  5. Borek, jakieś nowe mapki może dodałeś? Takie inne niż te. Po za tymi budynkami, np. na powierzchni, w lesie. Chyba, że mają być wszystkie mapki jednolite? Bo we wcześniejszej wersji ktoś o to Ciebie pytał i potwierdziłeś, że mają być z nową wersją.
  6. Lunatyk

    Kolejka

    Czemu mi nie wyświetla pierwszego elementu? #include <iostream> #include <conio.h> using namespace std; struct kolejka { int wartosc; kolejka *nastepny; }; kolejka *pierwszy = NULL; kolejka *pomocniczy = NULL; kolejka *wskazujacy = NULL; void dodaj (int value); void wypisz (void); int main(void) { dodaj(1); dodaj(10); dodaj(100); wypisz(); getch(); return 0; } void dodaj (int value) { pomocniczy = new kolejka; pomocniczy->wartosc = value; pomocniczy->nastepny = wskazujacy; if(pierwszy == NULL) pierwszy = pomocniczy; wskazujacy = pomocniczy; } void wypisz (void) { kolejka *tymczasowy = new kolejka; tymczasowy = pomocniczy; while(tymczasowy->nastepny != NULL) { cout << tymczasowy->wartosc << endl; tymczasowy = tymczasowy->nastepny; } delete(tymczasowy); } EDIT: Lol... Dobra znalazłem rozwiązanie. :)
  7. :) Właśnie sprawdziłem to u siebie 3 razy i o dziwo wylatują : d
  8. Również znalazłem buga: gdy mam 0 granatów i mam laga mogę rzucać granaty pomimo ich braku ; d.
  9. Przeglądając biblioteki skorzystam raczej z biblioteki ΨΧΞ.
  10. Aha. Mam właśnie w formacie mp3. Jeśli możecie to dajcie linka do dll'ki. @edit Albo i nie... jak zmienię format na *.wav to będzie działać?
  11. Nie wiem czemu nie działa mi funkcja sound_global_volume(volume). W parametrze mam zmienną globalną, zmiennoprzecinkową (min 0, max 1 xd). Funkcja znajduje się w stepie, w obiekcie głównym gry.
  12. Czy są w gm jakieś funkcje zwracające ile mam max pamięci, wolnej pamięci i użytej?
  13. Lunatyk

    var i const

    Ktoś mi objaśni kiedy się używa var i const w argumentach procedury lub funkcji? Bo z tego co pamiętam w argumentach nie oznaczają zmiennej i stałej tylko coś innego.
  14. Ach to teraz rozumiem, czyta bajt po bajcie... :D Coś załapałem. Pokombinuję trochę, jakbym miał problemy to napiszę. Na tą chwilę jednak, dzięki za wyjaśnienie. ;)
  15. No tak czyta tylko bajty, lecz chodzi mi oto... Jak program czyta te bajty? Mógłbyś dać przykładową funkcję odczytu z 2 liczbami, które mają po 3 bajty? Ponieważ nadal niezbyt rozumiem jak odbywa się w tym pliku odczyt? :/
  16. No dobrze skoro już umiem zapisać liczby całkowite oraz tekst to jak je odczytać? Jak zauważyłem funkcja GML file_bin_read_byte ma tylko jeden argument (uchwyt pliku) więc to tak jakby od razu czytał blok danych z pliku? Czy czyta bajty po kolei?
  17. A jak mam np. tekst to poszczególne znaki mam zmienić na cyfry 1 bajowe, czy jest inna technika?
  18. Te | i & to odpowiedniki bramek logicznych? Jeśli tak to nie mam pytań.
  19. W takim razie chciałbym utworzyć małą bazę danych gdzie poszczególne pola rekordu zawierają raz tekst, a reszta to liczby dodatnie. Tylko na mój mały móżdżek nasuwa się pytanie jak to wszystko zapisać do kupy i odczytywać.
  20. W drugiej linijce powinno być f... ale to tylko mała korekta. Wszystko fajnie by było, gdyby nie to, że to nie posiada nagłówka pliku oraz wolałbym, żeby to było zapisywane bardziej po bajcie. Ja niestety jestem niezbyt doświadczony jeśli chodzi o pliki. Dzięki że zechciałeś pomóc, niestety nie skorzystam, chyba żebyś to zmodernizował. @Tymon: Możesz wyjaśnić co do tego typu danych? Bo ja chciałbym zapisywać coś jak rekordy w pascalu.
  21. Czy pomógłby mi ktoś w stworzeniu własnego formatu plików (z prawdziwego zdarzenia) w którym miałyby być zapisywane dane w postaci czegoś jak rekordy w pascalu. Potrzebuję po prostu takiej jakby bazy danych.
  22. Dzięki za wszystko teraz bardziej to kminie. Dokładnej budowy pliku nie kojarzę, ale z tego co pamiętam to najpierw nagłówek, potem informacja jak będę zapisywał plik... Chyba, że coś mieszam... Dawno to było jak czytałem coś na temat plików. Głównie to robiłem wszystko w głównym programie, bez zapisu do własnych plików, ale ostatnio się w szkole tego domagają. A teraz chciałem tego użyć w GM. ;p
  23. Taa... Chr zamienia liczbę na znak, a ord odwrotnie... To akurat wiem. Tylko niezbyt rozumiałem jak przebiega zapis i odczyt.
×
×
  • Dodaj nową pozycję...