![]() |
|
|
#1
|
||||
|
||||
|
Над названием я почти не думал, но думаю игра получилась довольно занятной
Это моя 1ая игра которая доведена, ну или почти доведена до ума. Скачать с google диска Скачать с delphisources Описание ![]() Последний раз редактировалось ined, 07.11.2016 в 20:57. |
|
#2
|
||||
|
||||
|
Хоть бы скрины кинул и описание игры дал, а то вдруг там малварь в архиве, а ты фейк.
|
|
#3
|
||||
|
||||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Игра написана на Delphi 2010. Использовал OpenGL и WinApi. Файлы *.t3d содержат подготовленное изображение и сжаты zLIBом. Модуль zLIB урезаный, по этому EXE файл маленький.
|
|
#5
|
||||
|
||||
|
Ну дак накиай скринов-то, ёпть
![]() |
|
#6
|
||||
|
||||
|
Вроде разобрался )) Добавил 1 скрин. А ссылки на pp.vk... не меняются просто я от туда картинку взял точнее ссылку на неё? )
Последний раз редактировалось ined, 28.10.2016 в 17:20. |
|
#7
|
||||
|
||||
|
Странно. 62 просмотра и никто больше ничего не писал. Ладно, начну доделывать своё полимино.
Подскажите. Звуковые эффекты в чём лучше делать или куда копать. OpenAL проста в использовании? Если да, то можно короткий примерчик от гуру. Или ссылочку. ![]() |
|
#8
|
||||
|
||||
|
Цитата:
https://msdn.microsoft.com/ru-ru/lib...(v=vs.85).aspx |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
ined (30.10.2016)
| ||
|
#9
|
||||
|
||||
|
Цитата:
Может есть ещё варианты? |
|
#10
|
||||
|
||||
|
А в чем проблема микширования? Звук — это массив байт, со значениями от -1 до 1. Микшировать можно просто суммируя массивы.
|
|
#11
|
||||
|
||||
|
Цитата:
Если использовать такой пример: Цитата:
|
|
#12
|
||||
|
||||
|
Цитата:
Код:
procedure Mix(Buffer,First,Second : PChar; Count : LongInt); assembler;
{ процедура смешивает два массива данных First и Second и помещает}
{ результат в Buffer. Элементы массивов имеют размер WORD }
{ Count -- Число элеменов в ОДНОМ массиве, т.е. Buffer имеет длину}
{ 2*Count элементов}
{ EAX - Buffer }
{ EDX - First }
{ ECX - Second }
{ Count -- в стеке }
asm
PUSH EBX
PUSH ESI
PUSH EDI
MOV EDI,EAX // Buffer помещен в EDI -- индексный регистр приемника
MOV ESI,ECX // Second помещен в ESI -- индексный регистр источника
MOV ECX,Count // Count помещен в ECX
XCHG ESI,EDX // смена источника -- теперь First
@@Loop:
MOVSW // пересылка слова из First/Second в Buffer и инкремент индексов
XCHG ESI,EDX // смена источника
LOOP @@Loop // декремент ECX и проверка условия выхода ECX = 0
POP EDI
POP ESI
POP EBX
end; |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
ined (01.11.2016)
| ||
|
#14
|
||||
|
||||
|
Можешь тут глянуть: http://www.delphisources.ru/pages/so...generator.html
Тоже вывод в директ аудио. А вообще, могу еще посоветовать bass.dll |
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
ined (02.11.2016)
| ||
|
#15
|
||||
|
||||
|
Извнс, увж. кол., но всёже bass это искуситель, таскать с собой чужой байткод - это зло, а чем обычный MAPI MCI провинился, какова задача, может можно простыми оськиными прибамбасасми обойтись, типа
Код:
procedure SendMCICommand(Cmd: string);
var
RetVal: Integer;
ErrMsg: array[0..254] of char;
begin
RetVal := mciSendString(PChar(Cmd), nil, 0, 0);
if RetVal <> 0 then
begin
mciGetErrorString(RetVal, ErrMsg, 255);
MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMCICommand('open waveaudio shareable');
SendMCICommand('play "C:\1.wav"');
SendMCICommand('play "C:\2.wav"');
SendMCICommand('close waveaudio');
end; |