Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 03.12.2007, 17:42   #41
Kostia
Профессионал
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Адрес: Томск
Сообщений: 1,693
Репутация: 615

icq: 426824418
По умолчанию

Цитата:
Сообщение от Simply-Art Посмотреть сообщение
Подскажите как обрабатывать сразу несколько клавишь, вот например в аркаде, надо одновременно жать W и D (вперёд и вправо). Как это реализовать?
Код:

var
  Key: tkeyboardstate;
  i: integer;
begin
  form1.Caption:='';
  windows.GetKeyboardState(key);
  for i:=0 to 255 do
    if (key[i]=128)or(key[i]=129)then
      form1.Caption:=form1.Caption+' '+inttostr(i);
end;

Попробуй в таймере.
Kostia вне форума   Ответить с цитированием
Старый 03.12.2007, 22:28   #42
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Pfent, вот примерчик. Все грубо, установи смещение на картинку и будет идти туда куда ткнул мышью.
Вложения
Тип файла: rar 11.rar (166.7 Кб, 316 просмотров)
__________________
Руководитель проекта MMO 2D RPG
Beermonza вне форума   Ответить с цитированием
Старый 04.12.2007, 10:39   #43
Pfent
Пользователь
 
Аватар для Pfent
 
Регистрация: 02.12.2007
Адрес: Саратов
Сообщений: 22
Репутация: 10

icq: 368641932
По умолчанию

Огромное спасибо за пример
Pfent вне форума   Ответить с цитированием
Старый 05.12.2007, 15:35   #44
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Адрес: г. Ровно Украина
Сообщений: 239
Репутация: 288

icq: 252342562
skype: Speeker77
По умолчанию

Пользоваться таймером. там прописать что то типа если координата х больше левфт то лефт=лефт+1.... то же самое с у, кроме того может быть такое что добавлять надо не единицу... можно попробовать реализовать это через уравнение прямой...
__________________
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума   Ответить с цитированием
Старый 07.12.2007, 01:30   #45
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Вот вам в качестве урока по созданию логических игр (это не РПГ =).
Исходник игры кликомания (коллапс) на Дельфи.
http://www.programmersforum.ru/attac...4&d=1196863119
mutabor вне форума   Ответить с цитированием
Старый 26.12.2007, 09:55   #46
BBagi
Пользователь
 
Аватар для BBagi
 
Регистрация: 25.12.2007
Сообщений: 11
Репутация: 10
По умолчанию

Всем приветик=) Помогите произошел клинический ступор=) Гляньте свежим взглядом....=) Cуть задачи такова: кнопка при нажатии двигается вправо до ходя до края формы а после ползет в лево.

Procedure TForm1. для нажатия...
begin
if Button1.Left>600 then Button1.left:=Button1.left-5 else
if Button1.left<600 then Button1.left:=Button1.left+5 else
Button1.left:=Button1.left+5
end; end.

Сама вижу что даю условие до 600 она доползает и начинает дергаться то +5 то _5. Тут как-то может нужно вести переменную и менять ей знак?
BBagi вне форума   Ответить с цитированием
Старый 27.12.2007, 18:32   #47
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Адрес: г. Ровно Украина
Сообщений: 239
Репутация: 288

icq: 252342562
skype: Speeker77
По умолчанию

Просто введи переменную булевского типа заначение фалз, если достигнут предел движени вправо изменить на тру если значение тру двигать влево при достижени крайнего левого пложение опять изминить значение на фалз...
__________________
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума   Ответить с цитированием
Старый 01.01.2008, 19:47   #48
mutabor
Телепат с дипломом
Профессионал
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,928
Репутация: 1570

icq: 401708834
По умолчанию

Еще можешь сделать переменную Speed: integer; определяющую скорость, т.е. на сколько пикселей за раз перемещается кнопка.
При достижении стенок меняешь знак скорости +/-
if (Button1.Left>600)or(Button1.left<0 ) then Speed:=0-Speed;
Потом в любом случае прибавляешь эту скорость
Button1.left:=Button1.left+Speed;
__________________
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума   Ответить с цитированием
Старый 04.02.2008, 21:44   #49
Лубышев
ZlojDeveloper
Профессионал
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Адрес: Самара
Сообщений: 1,027
Репутация: 235

skype: zlojvirus89
По умолчанию

Тут уже рассматривался пример движения оъекта при нажатии на кнопки с клавиатуры, а если одновременно нажаты влево и вверх?
или пользователь пользуется "перекатом"(не отпуская жмет на другую кнопку. а потом первую отпускает)
Лубышев вне форума   Ответить с цитированием
Старый 04.02.2008, 22:17   #50
Лубышев
ZlojDeveloper
Профессионал
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Адрес: Самара
Сообщений: 1,027
Репутация: 235

skype: zlojvirus89
По умолчанию

Еще один вопрос.Как клонировать обьект
Допустим стратегия. Нужно построить дом. Допустим это Image.
Как сделать так чтоб создавался image в определенной области формы (любое количество, сколько вздумается пользователю) с соответствующим изображением здания
И к этому image относились бы все процедуры заранее оговоренные для данного типа сооружения
Например при двойном нажатии активировлась какая-то панель или что-то вроде этого.
Лубышев вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хорошие уроки Render Общие вопросы Delphi 9 15.09.2012 07:13
Акцесс вопросы новичков Yaga Помощь студентам 4 02.06.2008 00:16
Учебники для новичков в програмировании Рар Общие вопросы Delphi 6 08.01.2007 09:07


08:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru