|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
Создание игры(2d)12.05.2009, 21:08. Показов 103609. Ответов 423
Метки нет (Все метки)
Собственно идея такого создать нечто на подобиe ->
http://www.newgrounds.com/portal/view/494301 Буду сюда задвать свои вопросы,думаю всем кто будет увлечён создание игры тоже будет интресно) Otaka,этот задний буфер замещает собой background плюс курсор оставляет на неём свои артефакты,как его очищать,да так чтоб ещё и background у нас был. ________________________________________ ________________________________________ _________________________ Основные моменты Вычисление угла поворота персонажа в зависимости от положения курсора мыши То же Поворот изображения(тут еще как смещать точку поворота) Делаем пули Все еще непонятки с пулями Начинаем вычисление коллизий Идея про то, как это должно быть Как это должно быть реализовано Как повернуть массив точек(регион)? А тут код(в нем есть глюк. Потом есть исправленная версия) Находим столкновение региона и линии. Исправленная версия столкновения регионов Как это должно выглядеть в принципе? Начинается долгое обсуждение того как делать редактор уровней ... ... Первый вариант редактора Снова эти пули Функция которая бьет изображения на мелкие куски(тайлы) Версия редактора Загрузка сохранение Еще версия
4
|
|
| 12.05.2009, 21:08 | |
|
Ответы с готовыми решениями:
423
Создание игры Создание игры Создание игры |
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 13.12.2009, 19:10 | |
|
А зачем тебе для вывода русских букв использовать Юникод? Оно и просто так отлично выводится.
А уж если уж хочется выводить, например, китайские иероглифы, то пользуйся функцией Canvas->TextOutW + юникодный шрифт типа Arial Unicode MS. Добавлено через 1 минуту А если у тебя Canvas->TextOut("Привет",0,0) выводит кракозябры, то это значит, что у тебя бока с кодировкой.
1
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
|
| 13.12.2009, 20:29 [ТС] | |
|
Разобрался, проблема была в кодировке Windows 7, тогда ещё вопрос, как можно свой шрифт засунуть в программу?
0
|
|
|
говнокодер
1273 / 297 / 35
Регистрация: 31.10.2009
Сообщений: 1,432
|
|
| 14.12.2009, 11:57 | |
|
1
|
|
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 14.12.2009, 23:49 [ТС] | ||||||
|
Спасибо большое.
Последний вопрос - есть .txt файл: test.txt { a 10 b 20 text Hello World n 30 } Как мне вынуть именно "Hello World" в String text? Попробовал вот так:
Если while(t!="/text") поменять на while(t=="/text"), программа компилится нормально. Подскажите, пожалуйста, где моя ошибка? Спасибо.
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||||||||||||
| 15.12.2009, 16:56 | ||||||||||||||||
|
Но ведь нельзя так сравнивать массивы байтов.
Если
А почему text со слешем("/text")?
1
|
||||||||||||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 15.12.2009, 20:23 [ТС] | ||||||
|
Отака, как всегда, нечеловеческое спасибо тебе, всё заработало.
В предыдущем посте допустил ошибку, объясняю: Есть text.txt из которого нам нужно вынуть параметр text. text.txt file: a 10 b 20 text Hello,World! /text c 210 Пишем для него такую функцию:
0
|
||||||
|
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
|
|
| 15.12.2009, 20:37 | |
|
Как вы в игрухе изображение вращали ?
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 15.12.2009, 20:56 | ||||||
|
Вот так вот:
1
|
||||||
|
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
|
|
| 16.12.2009, 14:17 | |
|
Хм, а второй параметр в чем у вас измеряется ?
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
||||||
| 16.12.2009, 17:09 | ||||||
|
Вроде бы как в градусах, но может я уже забыл и там в радианах... хотя нет, в градусах. Мы ведь там внутри их переводим в радианы
1
|
||||||
|
Задающий вопросы (%
16 / 15 / 0
Регистрация: 09.05.2009
Сообщений: 168
|
||||||
| 20.12.2009, 00:09 [ТС] | ||||||
|
Как достать блок данных из txt файла.
Кому интересно. Предположим у нас есть класс планета:
InitPlanet("Sun","Configs\\Engine\\Plane ts.txt") Planets.txt { Earth Ang 27 OrbitVel 365 SolarKof 10 /Planet Sun AngVel 0 OrbitVel 0 SolarKof 100 /Planet Venus AngVel ? OrbitVel ? SolarKof ? /Planet Только информация из нужного нам блока заносится в класс Planet. Добавлено через 22 часа 41 минуту Отака, а как нам заставить тело двигаться по орбите(вокруг чего то)?
0
|
||||||
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 20.12.2009, 12:31 | |
|
Полярные координаты.
x=cos(текущий угол в радианах)*длина_орбиты+X_центр_вращения y=sin(текущий угол в радианах)*длина_орбиты+Y_центр_вращения. это будет круговая орбита. Если нужна эллиптическая, то можно приплюсовывать еще один sin(или cos, не важно, просто фаза будет чуть-чуть изменена) к X, и тогда орбита будет вытягиваться по X, так же можно делать и с Y. Тем самым заставляя орбиты быть эллиптическими. Если надо, могу написать пример.
1
|
|
|
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
|
||
| 20.12.2009, 19:03 | ||
0
|
||
|
35 / 35 / 6
Регистрация: 29.08.2009
Сообщений: 183
|
|
| 24.12.2009, 21:12 | |
|
Заинтересовался данной темой, сам сейчас пытаюсь написать игру стрелялку такого же плана для курсовой. Меня из всех проблем больше всего интересует как сделать сам выстрел, как сделать его понаправлению, и чтобы пуля не летела от точки А до точки Б ? Можно ли это в Си или лучше учить флэш?
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 24.12.2009, 21:21 | |
|
Конечно можно в С, С++ и во флеше.
А почему " чтобы пуля не летела"? Чтобы не летела, нужно просто проверять на столкновение линии от А к Б с объектами(как это сделать, смотри в этой теме, про регионы). А чтобы летели пули, нужно высчитать арктангенсом угол(если ты его еще не знаешь), а потом на каждом шаге с помощью полярных координат(dx=cos(угол)*скорость, dy=sin(угол)*скорость)вычисляешь следующее положение пули. Во флеше, конечно, может быть это и проще будет немного.
1
|
|
|
35 / 35 / 6
Регистрация: 29.08.2009
Сообщений: 183
|
|
| 24.12.2009, 22:13 | |
|
А есть же в математике "уравнение прямой" .. через такое уравнение можно чтото сделать ? ... я просто не понимаю как в Си сделать так, чтобы одновременно летело несколько пуль и каждая со своей тракторией. По идеи создавать для каждой пули отдельный Timer и отдельное Image не выход))))))
0
|
|
|
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
|
|
| 24.12.2009, 22:19 | |
|
Почитай эту тему сначала до конца. Я уже писал, как сделать динамический массив пуль, и чтобы каждая пуля летела по своей траектории.Уравнение прямой для этой задачи хоть и подходит, но оно тут не нужно, так как все можно сделать гораздо проще.
0
|
|
|
35 / 35 / 6
Регистрация: 29.08.2009
Сообщений: 183
|
|
| 24.12.2009, 22:21 | |
|
Otaka, Спасибо... постараюсь прочесть все в этой жизни и до того момента как меня охватит склироз кибер-мозга ))))
Не по теме: Может распечатать и книжку небольшую сделать из этой темы ? )))) Кстати, игра по ссылке, вылаженная как экземпляр меня напрягла. Она у меня слетала как только Опера набирала 2-3к Мб занятой оперативы. Это из-за того что хранилась информация о трупах на земле или что ?
0
|
|
|
35 / 35 / 6
Регистрация: 29.08.2009
Сообщений: 183
|
||
| 23.01.2010, 16:47 | ||
|
а вторая - прицел (мышь) если сделать так. X= (положением мыши по X) -30 + (rand()%60); Y= (положением мыши по Y) -30 + (rand()%60); Получется круг радиусом в 30 пикселей - и есть точность. Сойдет? ![]() Не по теме: Можно кстати взять переменную Accuraty (Acc) и пусть игрок ее прокачивает в минус. (тоесть изначально =60 , а потом с уровнем по -1 прибавляется. И тогда вместо 30 писать Acc а прибавлять "(rand()%Acc*2)". Добавить так сказать элементы RPG :) Добавлено через 2 минуты Вопрос такой вот. По поводу выстрелов. Можно ли взять картинку пули, и каждый раз когда игрок стреляет копировать ее создавая новый объект TImage и крутить под нужным углом. И удалять каждый раз при попадании или ухода за экран?
0
|
||
|
18 / 18 / 1
Регистрация: 24.09.2009
Сообщений: 98
|
|
| 01.02.2010, 21:02 | |
|
Можно. Я так делал. Классы тебе в этом помогут.
0
|
|
| 01.02.2010, 21:02 | |
|
Создание игры
Создание игры Создание игры на C++ Создание 3д игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|