Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2009, 17:05   #121
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

А вот на FormKeyDown, я честно сказать, никогда не обращал внимания, как он там работает, теперь вижу, ...век живи, век учить, а все равно помрешь дураком )))
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 08.06.2009, 18:18   #122
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Это - что касательно клавиатуры:
Код:
var
  keys: array[0..255]of boolean;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  keys[key]=true;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  keys[key]=false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if keys[VK_UP] then ... else
  if keys[VK_DOWN] then ...;
  if keys[VK_LEFT] then ... else
  if keys[VK_RIGHT] then ...;
end;
Kostia вне форума Ответить с цитированием
Старый 08.06.2009, 19:45   #123
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

В программе есть function keypressed(key: byte): boolean; ...просто я переделывал пример и оставил как есть в FormKeyDown, посчитав код равноценным.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 16.06.2009, 10:47   #124
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от Shadow_1329 Посмотреть сообщение
А можно зделать примерно как в морровинде(чтобы ты пока вертишь камеру у тя исчезали одни и подгружались другие)?
я тебе другйо совет дам. писать свой 2д или 3д движок не имеет смысла когда есть куча бесплатных опен сорс, для 2д и 3д. Есть один хороший и очень бесплатный Irrlicht, простой в использовании, в поисковике напиши много найдешь.
lennon вне форума Ответить с цитированием
Старый 18.06.2009, 07:57   #125
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Код:
procedure ShowHint(text:string);//Процедура подсказок у которой в скаобках отображается текст который должен появиться в подсказке
begin
Hints.Canvas.TextOut(0,0,text);//Я создал битмап и на него отображаю текст
buf.Canvas.Draw(200,0,Hints);// Затем Рисую эту подсказку с текстом на экран
end;

ShowHint('Здесь пройти нельзя!');// Затем при определенном условии показываем подсказку с тем текстом в скобках который хоти написать

И он выдает ошибку типа пропущен оператор. Не понимаю. Вроде все сделал правильно. Можете помочь?
Shadow_1329 вне форума Ответить с цитированием
Старый 18.06.2009, 08:24   #126
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

ShowMessage стоит после end;
Так и должнло быть?
Манжосов Денис :) вне форума Ответить с цитированием
Старый 18.06.2009, 08:32   #127
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Не ShowMessage а ShowHint - это моя процедура. И она стоит не там где ты сказал. Она может стоять в любом месте где ты хочешь вызвать ее, а само описание стоит вначале всего кода. У меня вопрос в другом. Как исправить ошибу указанную выше.
Shadow_1329 вне форума Ответить с цитированием
Старый 18.06.2009, 09:30   #128
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Все понял в чем проблема была. Спасибо!=)
Shadow_1329 вне форума Ответить с цитированием
Старый 18.06.2009, 09:53   #129
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

И еще. Если у меня слишком длинный текст и он вылазиет за рамки битмапа как его перенести на другую строчку, а не писать все на одной?
Shadow_1329 вне форума Ответить с цитированием
Старый 18.06.2009, 10:09   #130
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Можно же вот так сделать
Код:
buf.Canvas.TextOut(0, 10, 'Текст');
buf.Canvas.TextOut(0, 30, 'Текст');
Манжосов Денис :) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создаю "тестирующую систему" для проверки задач. Программисты, нужна ваша помощь! alexfmf Помощь студентам 12 30.04.2009 20:19
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49