|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2009, 19:31 | #311 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Ты там найдешь как создать буфер кадра таким способом, что с ним можно будет работать как в Canvas, так и отрисовывать быстрым методом через указатель в ОЗУ с использованием вставки на ассемблере при поддержке MMX процессора.
В общем флуд тут не разводим (в данной теме это все флуд), все вопросы по этому поводу в соответствующей теме "Как вы относитесь к созданию игр на Delphi?", там опиши свою ситуацию, что отрисовываешь и как, постараюсь помочь.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
19.06.2009, 18:56 | #312 |
Пользователь
Регистрация: 10.06.2009
Сообщений: 17
|
Года 2 назад изучал Delphi (Имею так сказать базовые знания (циклы процедуры и т.д )) .Случайно зашел на форум, прочитал тему от начала до конца и заинтересовался этим делом Скачал программу из поста №106.
Посидел пару-тройку часов(а могет и больше ) поразбирался во всем этом( должен заметить где-то на 90% алгоритмы, функции , логика оказались не понятными).Сидел разбирался до тех пор пока не написал комментарий почти к каждой строке (спасибо Google за помощь).В итоге с n-ой попытки смог осознанно воспроизвести где то 95% кода. Решил что пожалуй можно чуть чуть потренироватся в расширении данной программы( так сказать для закрепления знаний). Увеличил размер карты, количество текстур( и тому подобная мелочь).Написал код все заработало но.... Но Написать заного то что уже видел раньше(хоть и осознанно) легче чем написать свое Сразуже неполучилось написать карту: -вопрос : Вроде как карта в обычном блокноте написана, задана числами(в примере) . Написал я такуюже с новыми размерами но возник вопрос как перейти на новую строку без того что бы в итоге в программе не было 2 пустых клеток? |
19.06.2009, 19:04 | #313 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Выкладывай наработки, глянем что там "творится".
|
19.06.2009, 19:15 | #314 |
Пользователь
Регистрация: 10.06.2009
Сообщений: 17
|
Вот .
Единственно я изменил размер клетки на 20. Может поэтому и такие проблемы( хотя картинки тоже сделал 20х20) Карта примитивная просто для проверки) |
19.06.2009, 19:23 | #315 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,692
|
Так и думал, а кто будет менять размеры самих массивов? А лучше сделать все это дело динамическим!
В общем блокнот кажет, что в нем размер карты 52*21, а массив: Код:
Последний раз редактировалось Kostia; 19.06.2009 в 20:04. |
19.06.2009, 20:43 | #316 |
Пользователь
Регистрация: 10.06.2009
Сообщений: 17
|
В общем с этим вроде как разабрался( проблема была в самой карте(я ее 51х21 сделал) + я написал <=50 в процедуре loadlvl) что и привело к появлению 2 лишних клеток по Х.
p/s Пользоваться Tlist не хочу ибо в данной теме не нашел не 1 его применение(вроде читал внимательно) а без примеров сам многое не сделаю. Использование динамических массивов даже не представляю как тут реализовать))) ( все же я еще не достаточно силен в программировании, может как наберусь опыта буду использовать) Пока буду пользоваться таким методом(все таки были приложены усилия в его освоении, и теперь на что то переключится на другое обидно))) p/p/s Да и спасибо за быстрый и понятный ответ)) |
19.06.2009, 21:57 | #317 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
AvaMight, всегда в карте первыми байтами идет размер карты, при считывании с файла, размеры записываются в переменные, которые используются в циклах, ...никаких ошибок в кодах не будет, разумеется, если массив предусматривает все размеры карт, можно динамикой не пользоваться, но по-уму стоит пользовать динамический массив.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
21.06.2009, 19:50 | #318 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Проблема:
Решил добавить звуки в игру. (Ну например звук выстрела по нажатию) Пробовал стандартными средствами – не получается Хотел использовать PlaySound но звуки воспроизводятся не моментально и игра подвисает пака не пройдет звук. Хотел использовать поток для этого, опять не то. Какие есть решения? 1.Нужно чтобы звуки моментально воспроизводились 2.Нужно чтобы игра при этом не подвисала 3.Нужно чтобы звук воспроизводился неоднократно, т.е. если выстрелил и пока еще шел звук, если еще раз выстрелил еще раз воспроизвелся. 4.А вообще было бы шикарно, если бы одновременно с этим играла бы музыка и, если бы поразил выстрелом врага он бы тоже издал какой-нибудь звук.
Писано по д'Эльфийски
|
21.06.2009, 19:57 | #319 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
PlaySound('Sound.wav', 0, SND_ASYNC);
Так всё происходит синхронно с программой. Можно, наверное, использовать также FMOD(про него в теме: "Моя первая аркада на Delphi. Демка") |
22.06.2009, 00:31 | #320 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Замечательно, хотя что то все же не так... немного притормаживает.Стандартные альтернативы есть?
А как сделать чтобы одновременно несколько звуков воспроизводилось? например все это происходит на фоне музыки?
Писано по д'Эльфийски
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хорошие уроки | Render | Общие вопросы Delphi | 9 | 15.09.2012 07:13 |
Акцесс вопросы новичков | Yaga | Помощь студентам | 4 | 02.06.2008 00:16 |
Учебники для новичков в програмировании | Рар | Общие вопросы Delphi | 6 | 08.01.2007 08:07 |