Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Флейм
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 14.05.2013, 20:55
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Что значит "маска"? Если прозрачный цвет - то для стандартных компонентов Image свойство Transparent
Ну, дело в том, что прозрачный цвет у меня почему-то получается не полностью

Остаются белые зерна. Или чёрные (пробовал поменять цвет на чёрный)
Цитата:
а для надстроек скорее всего использовать картинки в формате ARGB
Поясните пожалуйста, что это за зверь.
Цитата:
Если нажата кнопка прыжка - нужно просто сообщить герою скорость вверх и отключить управление, пока он не коснется земли. Далее все будет работать в своем темпе - на каждой итерации игры будут пересчитываться координаты и скорость.
Я имею ввиду, что вот после прыжка, он не мог с земли сразу же прыгать еще, а немножко задержался на земле )
Ответить с цитированием
  #17  
Старый 14.05.2013, 20:59
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Например движок Newton.
Впервые, по правде говоря, слышу Оо
Но я посмотрю, благодарю ) Если уже не сейчас, то на будущее
Ответить с цитированием
  #18  
Старый 14.05.2013, 21:00
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
Остаются белые зерна. Или чёрные (пробовал поменять цвет на чёрный)
В каком формате картинка героя? Больше всего похоже на артефакты JPEG. Используй форматы без потери качества (BMP, PNG, GIF,...).
Цитата:
Поясните пожалуйста, что это за зверь.
ARGB - Alpha RGB, т.е. 32 бита на точку, где каждый байт отвечает за соотв. компоненту (Red, Green, Blue, Alpha). Альфа - степень прозрачности. Но я не знаю, как устроены эти обвески в делфе, может там есть способ проще.
Цитата:
Я имею ввиду, что вот после прыжка, он не мог с земли сразу же прыгать еще
Сделать переменную JumpSleep. Если она равна нулю - можно прыгать, если нет - нельзя. На каждой итерации игры уменьшаем ее на 1, если она не равна нулю. При прыжке ставим в какое-нибудь значение, чтобы захватывало время прыжка и еще немного.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Этот пользователь сказал Спасибо Bargest за это полезное сообщение:
Царь (14.05.2013)
  #19  
Старый 14.05.2013, 22:09
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Человек делает простую спрайтовую анимацию. Зачем такие сложности с расчетами физики? Все движения героя заранее отрисовываются для любой игровой ситуации уже с учетом физических законов. В инете можно совершенно свободно скачать готовые слайды с героями во всех фазах. Вот вам например готовая моделька вояки - дерзайте.
Изображения
Тип файла: gif riku1_1.gif (41.6 Кбайт, 15 просмотров)
Тип файла: gif riku1_2.gif (31.5 Кбайт, 13 просмотров)
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #20  
Старый 14.05.2013, 22:11
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Про откат, это гениально! Как я раньше не догадался )
А вот следующий вопрос. Собственно, откат то получился для прыжков, но для атаки это не очень подходяще. Первая атака у меня происходит нормально, а когда устанавливается откат (по формуле которую Вы предложили), следующая анимация атаки тут же прерывается заменяясь откатом и получается, что мой персонаж дернулся на какую-то жалкую миллисекунду и ждет отката атаки. Как это исправить? Что бы я мог осуществить атаку с задержкой, но без урона анимации?
Ответить с цитированием
  #21  
Старый 14.05.2013, 22:11
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Все равно ж перемещать спрайт игрока надо. Иначе даже высоту прыжка нельзя изменить.
Цитата:
Что бы я мог осуществить атаку с задержкой, но без урона анимации?
Что-то я не понимаю, какая зависимость между анимацией атаки и откатом...
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #22  
Старый 14.05.2013, 22:13
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Человек делает простую спрайтовую анимацию. Зачем такие сложности с расчетами физики? Все движения героя заранее отрисовываются для любой игровой ситуации уже с учетом физических законов. В инете можно совершенно свободно скачать готовые слайды с героями во всех фазах. Вот вам например готовая моделька вояки - дерзайте.

Ну, собственно, я такие спрайты и использую. Но опять же, я прописываю физику, способ передвижения и взаимодействия. У меня есть база спрайтов на любую ситуацию, но мне нужно еще создать "правильно" эту ситуацию. Как я например сейчас парюсь с анимацией атаки, хотя спрайты для неё уже готовы.
Ответить с цитированием
  #23  
Старый 14.05.2013, 22:22
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
Все равно ж перемещать спрайт игрока надо. Иначе даже высоту прыжка нельзя изменить.

Что-то я не понимаю, какая зависимость между анимацией атаки и откатом...
Мм... Вот, сейчас поясню, что имею в виду.
Я привязал атаку к кнопке. Когда я нажимаю кнопку, вырисовывается анимация атаки. Без отката, я могу спокойно зажать кнопку и анимация происходит непрерывно, а значит и атака тоже. Я хочу, что бы между атаки была небольшая пауза, что бы у монстров был как бы шанс подойти к герою, да и это будет реалистичней. Я попытался использовать на примере прыжка сделать откат на кнопку, что если AttackDelay не равно нулю, то и атаковать нельзя. Я ввел при нажатии на атаку некоторую переменную, которая так же уменьшается на -1 при каждой итерации игры. Но получилось, что когда откат закончился и я нажал кнопку еще раз, то вышло, что при атаке анимация прерывается и снова приходится ждать отката.
Могу показать исходник.
Ответить с цитированием
  #24  
Старый 14.05.2013, 22:50
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
Без отката, я могу спокойно зажать кнопку и анимация происходит непрерывно, а значит и атака тоже.
После нажатия кнопки атаки включается "откат". Нажимать на кнопку атаки уже нельзя до истечения времени. Однако кадры анимации все так же отрисовываются в глобальном цикле. Можно даже использовать тот же самый "откат" для отрисовки: номер кадра вычислять из текущего значения "отката".
Механизм подсмотрен в одной коммерческой игре. Правда там было чуть похитрее - бралось текущее "время игры", к нему прибавлялось значение "отката" и ставилось событие (разумеется, "время" было реализовано вручную, механизм событий тоже). Тут городить такое нет смысла, проще использовать обратные счетчики.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Этот пользователь сказал Спасибо Bargest за это полезное сообщение:
Царь (15.05.2013)
  #25  
Старый 15.05.2013, 07:22
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Царь
Впервые, по правде говоря, слышу Оо
Но я посмотрю, благодарю ) Если уже не сейчас, то на будущее
Еще Havok есть. Да их сотни. Кстати, чтоб не заморачиваться и не кричать "ХЭЛП, ДВI НIДIЛI, ДОПОМОЖIТЕ" - использую Andorra2d, в ней уже реализовано взаимодействие с физ. движком "Newton", только описывай сущности.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
Царь (15.05.2013)
  #26  
Старый 15.05.2013, 10:15
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
После нажатия кнопки атаки включается "откат". Нажимать на кнопку атаки уже нельзя до истечения времени. Однако кадры анимации все так же отрисовываются в глобальном цикле. Можно даже использовать тот же самый "откат" для отрисовки: номер кадра вычислять из текущего значения "отката".
Что? номер кадра по отрисовке? Но как это осуществить в ДелфиХ? Ведь там задается начальный кадр и конечный, а затем исполняется. Умм... Это получается надо создать цикл, где будет использоваться покадровка? Типа н-первый кадр, н-последний кадр, где н - номер цикла, а номер цикла высчитывается с помощью отката? Но ладно, попробую сделать более примитивно и особо не заморачиваться ==


Цитата:
Кстати, чтоб не заморачиваться и не кричать "ХЭЛП, ДВI НIДIЛI, ДОПОМОЖIТЕ" - использую Andorra2d
Спасибо, Мадман, я запишу и это приложение ) Если сможете понять, - я графикой занимаюсь чуть меньше месяца и совершенно не знаю о новых девайсах для её создания. Знал бы ранее, - пользовался. А сейчас, наверное, поздно =\ Это же заново вдупляться в новое приложение...
Ответить с цитированием
  #27  
Старый 15.05.2013, 10:51
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Обычно все происходит так:
Имеется один глобальный бесконечный цикл который обходит все объекты сцены. Один такт такого цикла перерисовывает по 1 фазе движения каждого из объектов на сцене. Для каждого из объектов имеется набор правил (сценарий) по которым происходит его отрисовка на сцене.
Например: Стоять на месте (использовать 10 фаз из набора спрайтов для состояния стоять). Т.е. в течении 10 тактов всего игрового мира монстр будет стоять на месте пока не закончатся все 10 фаз. И только по истечении этих 10 тактов можно использовать следующее правило для движения монстра.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
Царь (15.05.2013)
  #28  
Старый 15.05.2013, 11:02
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Да я тоже в графике не силен, просто в гугле забивал "дельфи 2D движок", попал на страницу с обзорами, кое что поскачивал, посмотрел демки и остановился на Andorra2D.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #29  
Старый 15.05.2013, 11:30
stanilar stanilar вне форума
Прохожий
 
Регистрация: 31.08.2009
Сообщения: 30
Репутация: 140
По умолчанию

Тогда уж посмотрите и Box2d (есть дельфи порт).
Ответить с цитированием
Этот пользователь сказал Спасибо stanilar за это полезное сообщение:
Царь (15.05.2013)
  #30  
Старый 15.05.2013, 19:38
Аватар для Царь
Царь Царь вне форума
Новичок
 
Регистрация: 13.05.2013
Сообщения: 52
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

А вот такой вопрос:

- Как провернуть так, что бы когда инициируется спрайт атаки, учитывалось столкновение не всего спрайта вокруг, а только в той стороне, в какую была произведена атака? Что бы мой герой не атаковал спиной )
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter