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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2007, 22:28   #1
Mickle
Пользователь
 
Регистрация: 27.03.2007
Сообщений: 37
По умолчанию Движение

Привет всем!
Мужики выручте дело в том что вот эта процедура
procedure Line;
Begin
MainForm.Canvas.Pen.Color:=clWhite;
x:=Random(500)+1;
MainForm.Canvas.MoveTo(x,300);
MainForm.Canvas.LineTo(x,285);
end;
чертит линию в самом низу формы размер линии как вы видите 15 См типа пули подскажите как эти линии сделать чтоб они двигались от нижней границы формы к верхней границе формы
У меня эти линии чертятся по нажатию пробела в Обработчике OnKeyDown. Как сделать чтоб они начали двигаться Подскажите пожалуйста
Заранее благодарю.
Mickle вне форума Ответить с цитированием
Старый 17.04.2007, 22:57   #2
Wiggle
Пользователь
 
Аватар для Wiggle
 
Регистрация: 16.04.2007
Сообщений: 15
По умолчанию

Следишь за каждой такой линией в процессе всего движения. Например, держи в памяти адрес вехней точки. И по таймеру - ползёшь.
Соответственно на каждый шаг таймера поднимаешь на один или несколько пикселей : дорисовал сверху, подтёр снизу.. и нет проблем
Я, как и ты, думал, что за нами прилетят,
Ошейник снимут, за ухом почешут и всё простят,
Но я сплю у миски, и ты всё съел... В подарок ириска!
Wiggle вне форума Ответить с цитированием
Старый 18.04.2007, 00:25   #3
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

http://www.soft32.ru/delphi.shtml?to...hic&title=boat
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 18.04.2007, 14:55   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию Движение

Фрагмент проги (Две линии движутся навстречу друг другу одна сверху другая снизу)
form1.Canvas.Pen.Color:=form1.Color ;
form1.Canvas.Pen.Width:=3;
for j:=0 to form1.Height div 2-10 do
begin
form1.Canvas.MoveTo(0,j);
form1.Canvas.LineTo(500,j);
form1.Canvas.MoveTo(0,340-j);
form1.Canvas.LineTo(500,340-j);
sleep(5);
вместо sleep можешь загнать всё это в таймер
SERG1980 вне форума Ответить с цитированием
Старый 19.04.2007, 22:49   #5
Mickle
Пользователь
 
Регистрация: 27.03.2007
Сообщений: 37
По умолчанию

Мужики честно не могу врубится помогите я попробывал вот так
procedure Line;
Begin
for y:=0 to MainForm.Height do
Begin
MainForm.Canvas.Pen.Color:=clWhite;
x:=Random(500)+1;
MainForm.Canvas.MoveTo(x,300-y);
MainForm.Canvas.LineTo(x,285-y);
sleep(3);
end;
end;
да фигня какая-то получается не врублюсь как сделать чтоб предыдущий кусочек линии закрашивать цветом формы чтоб получился эффект летящей пули Выручите
Заранее Благодарю
Mickle вне форума Ответить с цитированием
Старый 19.04.2007, 23:24   #6
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

public
{ Public declarations }
procedure RunBullet(x, y: integer; Color: TColor);
end;


var
Form1: TForm1;
x, y: integer;
implementation


procedure TForm1.RunBullet(x, y: integer; Color: TColor);
const
dx = 10;
dy = 20;
begin
with Form1.Canvas do
begin
Pen.Color := Color;

MoveTo(x, y);
LineTo(x + dx, y);
LineTo(x + dx, y + dy);
LineTo(x, y);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
x := 100;
y := 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
RunBullet(x, y, clNavy); //стираем пулю
if y < Form1.Height then
y := y + 10
else begin
x := 100;
y := 0;
end;
RunBullet(x, y, clWhite); //рисуем на новом месте
end;


И все.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Движение песка Format C: Общие вопросы Delphi 11 26.06.2008 16:18
Движение картинки &RiU Помощь студентам 2 28.05.2008 23:46
движение по эллипсу Оля Помощь студентам 2 08.05.2007 00:50
Движение по окружности Mickle Общие вопросы Delphi 3 13.04.2007 16:24
Движение камеры LepihinMS Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 16.03.2007 20:46