|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / dll? |
Страницы: 1 2 Next>> |
Автор | Сообщение |
box_of_games частый гость Группа: Участники Сообщений: 24 |
Добавлено: 29-11-2006 14:49 |
Я делал dll'ки в Delphi для своих прог! Но как сделать dll'ку для gm(для игры?)и как после из gm к dll'ки обращатся? | |
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 29-11-2006 15:12 |
У меня такая же просьба. | |
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 29-11-2006 15:13 |
ДЛЛ'ки для того и сделали, чтоб не беспокоиться на чём ты сделал, где и для чего! А как обращаться, поищи примеры с использованием DLL'ок. Здесь их порядочное кол-во. | |
Xelat гроссмейстер Группа: Сообщество GM Сообщений: 130 |
Добавлено: 29-11-2006 15:41 |
Помоему в хелпе довольно подробно расписано как работать с длл-ками в ГМ. По поводу примеров, если будет время, то мот напишу. |
|
Mad Sergei маэстро Группа: Сообщество GM Сообщений: 501 |
Добавлено: 29-11-2006 17:56 |
Дай мне исходник(дельфи) длл. Я тебе впишу,как надо и пример сделаю к ней |
|
box_of_games частый гость Группа: Участники Сообщений: 24 |
Добавлено: 07-12-2006 19:46 |
Все разобрался!!! | |
Mad Sergei маэстро Группа: Сообщество GM Сообщений: 501 |
Добавлено: 08-12-2006 15:16 |
И посмотреть не даш? | |
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-12-2006 08:02 |
вот именно это я и хотел бы поискать! |
|
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 09-12-2006 14:57 |
Вот! Плейер, очень даже неплохой. Используеться длл'ka, причём жирная. Вот чего незнаю - это если дллка чужая и ты не знаешь, какие названия функций, там есть, как их узнать? |
|
Mad Sergei маэстро Группа: Сообщество GM Сообщений: 501 |
Добавлено: 09-12-2006 15:01 |
спроси у автора и жми урл! вот |
|
Mad Sergei маэстро Группа: Сообщество GM Сообщений: 501 |
Добавлено: 09-12-2006 15:10 |
и почему мне кажется,что длл не твоя и плеер(взможно) да потому что по-моему это = этому |
|
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 09-12-2006 16:26 |
Где я сказал, что это МОЙ плейер? P.S.: урл не нажиметься. :) приходиться вручную теги писать. |
|
Mad Sergei маэстро Группа: Сообщество GM Сообщений: 501 |
Добавлено: 09-12-2006 17:46 |
Это падразумивается.... | |
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 10-12-2006 13:09 |
большое спасибо! А есть что-нибудь попроще? |
|
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 10-12-2006 14:24 |
Ща попробую объяснить на пальцах. Дано: 1)GameMaker 6.1 2)DLL 3)Наша СУПЕР игра 4)Наш мозг Задача: Задействовать внешнюю DLL в нашей игре. Решение: Сначала надо назначить ID нашей функций в ДЛЛ. global.fff = external_define(dll,name,calltype,restype,argnumb,arg1type,arg2type, ...); Возращает этот ID. dll - имя дллки(например,'MyDll.dll'), name - имя функций в длл(например,функция MyMin в твоём длл, которая считает минимум), calltype - тип вызова(беспонятия чем они различаются, кто знает подскажите. dll_stdcall и dll_cdecl), restype - какой тип переменной возращает твоя функция MyMin(ty_real,ty_string, надеюсь объяснять здесь ненадо). argnumb - сколько входящих аргументов(MyMin(argument0,argument1) - 2 входящих аргумента), arg1type - arg11type - типы входящих аргументов(В случае с MyMin - оба ty_real). Всё теперь функция в GM называеться global.fff и её уже можно вызывать.Для этого нужна вторая функция external_call(id,arg1,arg2,...); id - названия функций в GM (у нас global.fff) arg1 - arg11 - входящие элементы(у нас действительные числа). Вызываем её - external_call(global.fff,argument0,argument1); Для упрощения можно сделать скрипт(c каким-нибудь понятным названием, например DLL_MyMin): return(external_call(global.fff,argument0,argument1)); теперь, чтоб воспользоваться твоей функцией, ненадо каждый раз писать external_call(...);, а достаточно просто написать DLL_MyMin(my_speed,comp_speed); (естественно аргументы любые, НО real). У кого вопросы по красивой реализаций,рассмотри в плеере скрипты: objMain_create,jbfmod_init, ну и к примеру jbfmod_get_info. Этого будет достаточно, остальные очень похожие. |
|
Xelat гроссмейстер Группа: Сообщество GM Сообщений: 130 |
Добавлено: 10-12-2006 15:18 |
stdcall и cdecl отличаются порядком считывания параметров, и тем, кто очищает стек. Cdecl-Параметры помещаются в стек справа налево (вызывающий очищает стек) Stdcall-параметры помещаются в стек справа налево (вызываемый очищает стек) Поидее надо юзать stdcall |
|
box_of_games частый гость Группа: Участники Сообщений: 24 |
Добавлено: 10-12-2006 15:50 |
Вот пример,но dll'ка не моя Скачать(~96кб) | |
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 10-12-2006 17:25 |
Наверно да, я в DirectX и в OpenGL, в заголовочных файлах везде stdcall видел. |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 10-12-2006 17:34 |
большое спасибо! а где почитать про типы данных? |
|
Ang3L мастер Группа: Сообщество GM Сообщений: 111 |
Добавлено: 10-12-2006 17:57 |
Как же ты собираешься делать ДЛЛки, если незнаешь типы данных? В любом учебнике по программированию с этого и начинаеться обучение. |
Страницы: 1 2 Next>> |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / dll? |