|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2011, 20:31 | #1 |
Регистрация: 01.12.2011
Сообщений: 4
|
Работа с графикой, т.е. рисовать в самой программе, изменение цвета, масштаб и тд
за сегодня сделал кучу работы и просто не могу нормально сосредоточится на программе. часть полный бред, мозг не варит, нужно сделать: Модернизировать приложение «Движение кораблика». Создать панель инструментов с компонентами, которые позволяют:
• менять масштаб кораблика; • цвет линии кораблика; • скорость движения; • координаты базовой точки кораблика. завтра последний день сдачи лабораторных работ, я восемь сделал на 9 не хватает, помогите пожалуйста. var Form5: TForm5; maincolor:tcolor; x,y:integer; dx,dy:integer; buf: TColor; implementation procedure TForm5.Titanik(x,y: integer; color: TColor); // x,y координаты базовой точки, color цвет корабля Begin dx:=10; dy:=10; With Form5.Canvas Do Begin buf:=pen.Color; pen.Color:=color; // установим нужный цвет // рисуем корпус MoveTo(x,y); LineTo(x,y-2*dy) ; LineTo (x+10*dx, y-2*dy) ; LineTo (x+11*dx, y-3*dy) ; LineTo (x+17*dx,y-3*dy) ; LineTo (x+14*dx, y) ; LineTo (x,y) ; // надстройка MoveTo(x+3*dx,y-2*dy) ; LineTo (x+4*dx, y-3*dy) ; LineTo (x+4*dx, y-4*dy) ; LineTo (x+13*dx,y-4*dy) ; LineTo (x+13*dx, y-3*dy) ; MoveTo(x+5*dx,y-3*dy) ; LineTo (x+9*dx, y-3*dy) ; Rectangle (x+8*dx, y-4*dy, x+11*dx, y-5*dy) ; // мостик Rectangle (x+7*dx, y-4*dy, x+8*dx, y-7*dy) ; // труба // иллюминаторы Ellipse (x+11*dx,y-2*dy,x+12*dx,y-1*dy) ; Ellipse (x+13*dx, y-2*dy, x+14*dx, y-1*dy) ; MoveTo(x+10*dx,y-5*dy) ; LineTo(x+10*dx,y-10*dy); // мачта MoveTo(x+17*dx,y-3*dy); // оснастка LineTo(x+10*dx,y-10*dy); LineTo(x,y-2*dy); pen.Color:=buf; // восстановим старый цвет карандаша End; End; procedure TForm5.ToolButton1Click(Sender: TObject); begin x:=x+10; y:=y+10; end; procedure TForm5.ToolButton2Click(Sender: TObject); begin dx:=dx+1; dy:=dy+1; end; procedure TForm5.ToolButton3Click(Sender: TObject); begin end; procedure TForm5.ToolButton4Click(Sender: TObject); begin x:=x-10; y:=y-10; end; procedure TForm5.ToolButton5Click(Sender: TObject); begin timer1.Interval:=timer1.Interval+50 ; if timer1.Interval>=500 then showmessage('увеличте скорость'); end; procedure TForm5.ToolButton6Click(Sender: TObject); begin timer1.Interval:=timer1.Interval-50; if timer1.Interval=0 then showmessage('уменьшите скорость'); end; {$R *.dfm} procedure TForm5.FormActivate(Sender: TObject); begin x:=0; y:=200; Form5.Color:=clNavy; Timer1.Interval := 50; end; procedure TForm5.Timer1Timer(Sender: TObject); begin Titanik(x,y,form5.color); if x < Form5.ClientWidth then x := x+5 else begin x := 0; y := Random(50) + 100; end; Titanik(x,y,clWhite); end; end. |
02.12.2011, 02:16 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Читаем правила раздела.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с exe файлом программы в самой программе | TriV | Помощь студентам | 6 | 11.03.2011 22:08 |
цвета в программе | fize | Помощь студентам | 6 | 16.12.2009 18:24 |
Изменение цвета | girz | Общие вопросы Delphi | 6 | 30.05.2009 13:43 |
Работа с DIB, изменение глубины цвета | JOHNKZ1 | Мультимедиа в Delphi | 7 | 18.12.2008 06:52 |
Проблемы с графикой в Delphi, Индексирование цвета | zzz(KOT)zzz | Общие вопросы Delphi | 8 | 20.06.2007 20:57 |