Skocz do zawartości

Easeful

Użytkownicy
  • Postów

    248
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Easeful

  1. Easeful

    Jak sie robi dll'e?

    Nie ma tu takiej opcji ;/ e: a jak dam empty project to mi to kompiluje na .exe
  2. Easeful

    Jak sie robi dll'e?

    Ok. No to tak: Daję Dev C++ --> Nowy Projekt --> DLL Tworzą mi się automatycznie dwa pliki, które mają już jakąś treść: dllmain.cpp /* Replace "dll.h" with the name of your header */ #include "dll.h" #include <windows.h> DllClass::DllClass() { } DllClass::~DllClass () { } BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } /* Returns TRUE on success, FALSE on failure */ return TRUE; } dll.h #ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ class DLLIMPORT DllClass { public: DllClass(); virtual ~DllClass(void); private: }; #endif /* _DLL_H_ */ Ja zrobiłem tak, że z dll.h wywaliłem wszystko i dałem to Tymona, czyli: dll.h #include<windows.h> #define export extern "C" __declspec(dllexport) export double GMBeep( double a1, double a2 ) { Beep( a1, a2 ); } export char* GMText( void ) { return "Jakis tekst przekazany przez funkcje biblioteki."; } export double GMAdd( double l1, double l2 ) { return l1 + l2; } Ale przy kompilacji wyskoczył error na linijce #include "dll.h" Sie wkurzyłem i usunąłem wszystko. Potem od nowa robiłem ale nie wywalałem tego z dll.h, tylko skompilowałem to co mi od początku kompilator dał. No i sie skompilowało. No i wtedy dałem do tego dll.h dopiero po kompilacji ten kod tymona. Podejrzewam, że mimo to że napisało Done to i tak sie nie skompilowało bo potem dałem w gm, create obiektu: GML GMBeep = external_define( 'dll.dll', 'GMBeep', dll_stdcall, ty_real, 2, ty_real, ty_real ); GMText = external_define( 'dll.dll', 'GMText', dll_stdcall, ty_string, 0 ); GMAdd = external_define( 'dll.dll', 'GMAdd', dll_stdcall, ty_real, 2, ty_real, ty_real ); show_message( external_call( GMText ) ); show_message( 'Suma 1111 i 7777 to ' + string( external_call( GMAdd, 1111, 7777 ) ) ); show_message( 'Beep!' ); external_call( GMBeep, 1000, 1000 ); external_free( 'dll.dll' ); No i error w gm. Chyba wszystko to źle od początku robie, nie? Gdzie ja mam ten kod co tymon dał w tym kursie wrzucić?
  3. Easeful

    Jak sie robi dll'e?

    o to mi chodziło thx :) edit: ale nie mogę skompilować bo error wyskakuje :( e2: bo ja daje w Dev'ie Nowy Projekt --> DLL i on już sam sobie jakąś zupełnie inną strukture wpisuje w to na dzień dobry e3: dobra już działa, ale gm teraz pisze że error defining functions
  4. Easeful

    Jak sie robi dll'e?

    Czy zna ktoś jakiś kurs, gdzie mógłbym się nauczyć jak tworzyć dll'e w c++?
  5. Easeful

    Switch w c++

    to czemu mi to nie działa: string proc=""; cout << "Podaj nazwe procesu: "; cin >> proc; system("START cmd /c taskkill /f /im " + proc);
  6. Easeful

    Switch w c++

    ok, a jeszcze jedno pytanie: jak zrobić takie coś w c++ jak w gmie takie cos: GML imie="edgar"; tekst=imie+" elo";
  7. Easeful

    Switch w c++

    Elo! Gdy dałem w c++ string zmienna="siema"; switch(zmienna) { ... } Napisało mi error że argument podany do switch nie jest integer
  8. dllfree() to z 39dll chyba a poza tym już wyżej pisali że trzeba zwolnić dll, ale nie pomogło i tak. więc czytaj cały temat a potem odpowiadaj
  9. To proszę, wyłoń mi z tego przykładu WZÓR, który wyliczy mi kąt pod którym mam rzucić piłkę, jeżeli mam podaną docelową pozycję na osi x i y oraz siłę rzutu. P.S. - Jak widzę przykład w którym jest pełno obiektów, w każdym obiekcie pełno eventów, a w każdym evencie po 1-2 klocki, w tym pełno skomplikowanego i niezrozumiałego kodu - nawet nie podejmuję próby.
  10. Easeful

    Shell i cmd w c++

    no wiem, ale mi ciężko to wszystko np. WinAPI skumać jakieś te hwnd czy cos i ten cały proces inicjacji. jak bede mial czas to moze sobie poczytam kurs jakis
  11. no to też, muszę zmienić siatkę kolizji a grafika nie znacie jakiegoś co by robił grafę?
  12. no to luzik mogę poprawić, żeby jeszcze ta fasolka szybciej chodziła, napisy też bez problemu mogę zmniejszyć. w następnej wersji dodam jeszcze skrzynki, jakieś beczki etc. hm.. no i nie wiem co jeszcze piszcie co zmienić
  13. Easeful

    Shell i cmd w c++

    ja się umiem poruszać tylko w <iostream> i <string>
  14. Easeful

    Shell i cmd w c++

    no ja tam sie nie znam zbytnio, ale ja chce zrobić to takim krótkim kodem jak podawałem tam powyżej, a nie że żeby głupi programik zrobić teraz będe musiał pisać niewiadomo ile linijek i jakieś API inicjować i komplikować
  15. Tytuł: Fruity Bean, Wersja Testowa taka jakby zapowiedź :P Gatunek: Platformówka Opis: Jest to wersja testowa miłej platformówki bez młócenia, krajania, strzelania i zabijania. Wrzucam ją na (mam nadzieję) zachętę dla jakiegoś grafika, może pomocnika no i żeby poznać Waszą opinię co do gry. W owej grze sterujemy strzałkami. Trzeba zjeść wszystkie owoce. Mogą w tym przeszkodzić dzikie mrówki. Gdy spotkasz się z taką mdlejesz na jakiś czas. Gra używa GMPhysics. W przyszłości planuję dorobić: - bonusy, np. powidła z jagodami, kompot ze śliwek, multiwitamine - więcej robali np. ropuchy, żuczki, gąsienice - mnóstwo obszernych leveli, każdy w innym klimacie - dodatkowe przeszkody jak rozbite szkło, kolce, woda, ogień itd. - nowe "środki transportu" np. lina, sprężyna, most, ruchome platformy Czego mi brak? Przedewszystkim grafiki. https://forum.gmclan.org/index.php?showtopic=20974 Tutaj macie temat który założyłem z potrzebnymi mi grafikami. No i jeśli jakiś grafik mógłby robić mi grafikę to będę uradowany. Download: https://gmclan.org/up6160_4_Fruity_Bean_Test_0_4.html Edit: +Wersja na Vistę https://gmclan.org/up6160_4_Fruity_Bean_0_4_Test_Vista.html Rozmiar pliku: 1875KB ~ 1,88MB Autorzy: Programowanie: Easeful, Silnik GMPhysics Fabuła: Easeful Grafika: flipper, Egzekutor (na razie nie użyta), Easeful (za dobra nie jest i są braki) Muzyka: brak niestety, muzyk też poszukiwany Screeny: p.s. - grafike drzewka też by można zmienić :D
  16. sprite drzewa jest korzeniem w lewo, ale już przerobiłem żeby było dobrze no i... działa :) thx
  17. ehh... jak przyjdzie czas to się tego naucze jak narazie jestem na to za słaby... a nie ma gdzieś w necie takiego wzoru? bo ja cos tam szukalem ale nie moge znalezc
  18. Easeful

    Shell i cmd w c++

    grrr.. ale to jest w WinAPI a ja chce w konsoli
  19. Easeful

    Shell i cmd w c++

    Witam! Czy wiecie jak w c++: - wykonać polecenie w cmd.exe i pokazać wynik - otworzyć osobne okno z cmd.exe i tam wykonać jakieś polecenie - wykonać polecenie w shellu (uruchom) Wiem że można np tak: #include <iostream> using namespace std; int main(void) { system("ipconfig"); system("cmd"); } W tym przypadku to w oknie mojego programu otwiera się cmd.exe i wykonuje polecenie "ipconfig". Ale dalej już nic nie mogę zrobić. Robi mi się cmd w moim programie. Jak zakończyć to cmd np? a w osobnym oknie to trzeba dać system("START cmd.exe"), ale jak w tym cmd z osobnego okna wykonac jakies polecenie? p.s. - jak tak patrzę to chyba system("START proces") = wykonywanie w uruchom
  20. Zrób w folderze z grą plik game_end.bat, a w nim: taskkill /f /im twojagra.exe I potem zamiast game_end() dawaj execute_shell("game_end.bat",0); :)
  21. to dałem tak: GML for(i=1; i<=pcnt; i+=1) { if instance_exists(pole[i,3]) { pole[i,3].x = x+lengthdir_x(point_distance(x,y,x+pole[i,1],y+pole[i,2]) ,image_angle); pole[i,3].y = y+lengthdir_y(point_distance(x,y,x+pole[i,1],y+pole[i,2]) ,image_angle); } } Jestem już coraz bliżej, już uwzględnia pozycje y, bez x bo wszystko na środku drzewka jest, a wcześniej to był total syf :P A co masz na myśli Shocker, pisząc: ??
  22. Po pierwsze: To jest marne Po drugie: Piszę wyraźnie że chcę to w GMPhysics. To taki DLL do gamemakera
×
×
  • Dodaj nową pozycję...