Skocz do zawartości

Wykonanie funkcji GM'a z biblioteki


Rekomendowane odpowiedzi

Opublikowano

Witam :) Nie wiem czy w dobrym dziale dałem (chyba dobrym, bo to dość zaawansowane). Otóż, zacząłem sobie pisać dla zabawy DLL'a i mam takie pytanie. Czy można w tej bibliotece (w Delphi pisanej ;)) zastosować funkcję Game Makera (w tym przypadku to draw_circle_color)?

Powiedzmy, że w bibliotece mam wpisane tak:

GML
function CircleColor(): pchar; stdcall;

begin

Result:='draw_circle_color(x, y, 50, c_red, c_black, 0)';

end;

 

exports CircleColor;

 

begin

end.

w GM'ie:

 

Obiekt:

GML
// W CREATE //

CircleColor = external_define('DLL.dll', 'CircleColor', dll_stdcall, ty_string, 0);

 

// W DRAW //

CircleDraw();

 

Skrypt:

CircleDraw:

GML
external_call(CircleColor);

Czy po takim użyciu, w Game Makerze będzie rysowało okręg (czy tam koło :P) ?

 

Napisałem chyba dość zrozumiale :P

Z góry dzięki za odpowiedź :)

Opublikowano

Tylko jeśli użyjesz GMapi, ale ta biblioteka jest dostępna na razie jedynie pod c++, więc w delphi jej nie użyjesz.

Ewentualnie możesz zwracać funkcjami tekst który będzie wykonywał za pomocą execute_string()

Opublikowano

Ok, zaraz sprawdzę i w edicie dam, czy jakoś sobie z tym poradzę :P A co do tego GMapi, to to jest biblioteka, która wykonuje funkcje z bibliotek napisanych w C++? Czy jakoś tak :P

 

E: O, bardzo fajne, Działa :D Ale coś mi się wydaje, że przy użyciu bardziej złożonej funkcji (np. rysowanie wielu kółek z wypełnieniem itp.) będzie to nieoptymalne :P

Ale dzięki wielkie :D Szczerze, to wiedziałem, że taka funkcja istnieje, ale nie powiedziałbym, że mi w tym pomoże.

Opublikowano

to jest biblioteka ktora wykonuje funkcje oraz daje Ci niemal pelny dostep do zasobow GMa podczas gry, tak ze mozesz robic niemal wszystko z GMem tak samo jak bys pisal ten kod w edytorze w obiektach itp, tyle ze szybciej.

Powiem Ci tak: z moich obserwacji to GMapi + DLL jest bardziej wydajne niz sama gra w GM (do tego jak uzyjesz podmiany funkcji na wlasne to miodzio ^^ ale tego ficzera nie zdradze, zbyt wysoko go cenie ;) )

  • 2 tygodnie później...
Opublikowano

Otworzyłem z powrotem temat, bo chcę o coś jeszcze zapytać. I przepraszam za double posta :P

No więc jak w bibliotece sobie napiszę żeby nie pokazywało myszki i chcę to w GM'ie zastosować, to w ogóle można tak zrobić ? :P

I jeśli tak, to jaki trzeba podać typ zwracanej etc? Bo to mnie właśnie męczy, i ustawiałem te ty_real itp. i nic :( nie wiem jak to zastosować.

Z góry dziękuję :)

Opublikowano

nie rozumiem.

No więc jak w bibliotece sobie napiszę żeby nie pokazywało myszki i chcę to w GM'ie zastosować, to w ogóle można tak zrobić ?

GML
window_set_cursor(cr_none)
Opublikowano

Tylko nie chodzi mi w GM'ie tylko w bibliotece. W Delphi jest możliwość wyłączenia myszki (nie ukrycie kursora, źle się wyraziłem :P). I trzeba coś zrobić z rundll32. I chodzi mi właśnie o coś takiego, że napiszę bibliotekę żeby wyłączała myszkę za pomocą tego rundll32 i żeby to później użyć w GM. Chyba lepiej wytłumaczone :P To idzie tego użyć w GM'ie?

Opublikowano

a takie coś to trzeba było od razu mówić :D - nie pomagam pseudohakerom i kompopsujom :(

Opublikowano

Nie umiem assemblera, więc nie martw się, że coś zepsuję :) A potrzebne mi to tylko po to, bo być może kiedyś to wykorzystam :D

A z hakingiem to nie ma chyba nic wspólnego xD

Opublikowano

ma, bo od tego kompopsujstwa zaczynają. Bez wiedzy o assemblerze tez mozna w kompie namieszac. MSDN wita.

Opublikowano

Nie nie, nie w obrębie okna GM tylko na komputerze :P No ale ok, jeśli nie chcecie powiedzieć jak tego użyć w GM, to trudno.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...