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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2009, 13:51   #1
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
Восклицание Движение ДВУХ ОБЬЕКТОВ

Вообщем я пишу игрушку...как не бьюсь но не могу добиться более менее плавного движения двух обьектов!например ТАНКА и ПРИЦЕЛА!
Танк движеться сам по себе.Ну элементарным циклом.А прицел должен реагировать на кнопки.Я понимаю что в Паскале не получишь прям идеала но может есть хоть лучший вариант???Вот код
Код:
repeat
 if keypressed then
 begin
	key:=readkey;
	if key=#27 then exit:=true;
	if key=#0 then
	 begin
		key:=ReadKey;
		if key=#75 then if x1>1 then x1:=x1-3;
		if key=#77 then if x1<639 then x1:=x1+3;
		if key=#72 then if y1>1 then y1:=y1-3;
		if key=#80 then if y1<478 then y1:=y1+3;
	 end;
 end;
 ClearDevice;
 setColor(white);
 SetlineStyle(0,0,1);
 line(1,35,640,35);
 line(1,430,640,430);
 x:=x+1;
 Tank(x,y);
 PRICEL(x1,y1);
 Delay(20000);
 until exit;
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 10.05.2009, 08:12   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Прицел изменяется сразу на три единицы, а танк движется на одну. Куда ты выводишь свой прицел и танк? В смысле в какой объект? Как правило все визуальные компоненты имеют специальные процедуры, которые создают задержки (вместо твоего Delay) для того чтобы изображение не дергалось и не размазывалось.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 15.05.2009, 00:16   #3
Wi1D
Кибернетик
Форумчанин
 
Аватар для Wi1D
 
Регистрация: 22.10.2008
Сообщений: 142
По умолчанию

например?пока что я решил проблему цикл репит там delay(50) двигать прицел а танк двигаеться каждый 1000 раз)))

приведи пример
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <==
Wi1D вне форума Ответить с цитированием
Старый 15.05.2009, 08:27   #4
Min
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 239
По умолчанию

обычно в играх делается не так....... делаешь цикл.

цикл
считываешь нажатия клавишь и устанавливаешь объектам флаги перемещений.
считываешь время.
deltaTime:=ТекущийTime-ПрошлыйTime
обновляешь объекты исходя из флагов перемещений (на вход процедуры передаешь deltaTime и используешь его как коэффцициент, напимер для танка x:=x+deltaTime*speed)
конец цикла.

потом уже подбираешь speed'ы для объектов и задержки всякие.
Надо бы избавиться от привычки ставить многоточие.....

Последний раз редактировалось Stilet; 15.05.2009 в 08:55.
Min вне форума Ответить с цитированием
Старый 15.05.2009, 08:57   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
более менее плавного движения двух обьектов
Плавного это на сколько?
В твоем коде плавность контролируется операторами
Цитата:
x1:=x1...
...
Delay(20000);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Как предотвратить столкновение обьектов Kolhan Помощь студентам 2 03.05.2009 14:17
Создание обьектов во время работы программы Rusl92 Общие вопросы Delphi 4 11.08.2008 17:03
Использование обьектов UberStas Помощь студентам 2 13.06.2008 18:55
Перетаскивание обьектов Witaliy Общие вопросы Delphi 6 27.04.2008 19:22
Создание обьектов файловой системы через делфи BETONOMESHALKA Общие вопросы Delphi 2 26.12.2007 22:17