|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.09.2008, 14:06 | #1 |
Пользователь
Регистрация: 29.06.2007
Сообщений: 47
|
Движение окружности
Продемонстрировать движение окружности от левой к правой границе окна программы, в течение движения окружность должна менять цвета
все когда-то начинали с элементарного...
|
24.09.2008, 14:24 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Язык какой и в чём проблема?
setcolor(число от 0 до 15) - цвет рисования circle(x, y, r) - окружность радиуса r с центром в (x, y) getmaxx - ширина окна getmaxy - высота окна (на всякий случай) delay(миллисекунд) - задержка (поставить надо примерно 20 000-50 000) |
24.09.2008, 14:25 | #3 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Вот, чувак, что то подобное(как то раз писал, может не совсем то, но похоже)
на Delphi. program Project2; uses Windows, Messages; var DC:HDC; Window:HWND; Brush:HBrush; Pen:HPen; a,b:integer; has:boolean; k,l:boolean; begin has:=true; k:=true; l:=true; a:=0; b:=0; while has=true do begin //Уравнение движения if k=true then if a<924 then a:=a+5 else k:=false; if l=true then if b<668 then b:=b+5 else l:=false; if k=false then if a>0 then a:=a-5 else k:=true; if l=false then if b>0 then b:=b-5 else l:=true; Window:=Canvas.Handle; DC:=GETDC(Window); Brush := CreateSolidBrush (RGB (random(255), Random(255), Random(255))); Pen := CreatePen (PS_SOLID, 1, RGB (0, 0, 0)); { карандаш } SelectObject (dc, Brush); { выбираем ссылку для текущего контекста } SelectObject (dc, Pen); { выбираем ссылку для текущего контекста } Ellipse (dc, a, b, a+100, b+100); DeleteObject (Pen); { для нормального функционирования программы } DeleteObject (Brush); { необходимо удалить все создаваемые объекты } ReleaseDC (Window, dc); { освобождает контекст } Sleep(5); end; end. Еллипс будет бегать по форме и ударяться об стенки, потом отлетать. Но будет оставлять за собой след. Если не хотите этого, то перерисовывайте окно при каждом такте!
Писано по д'Эльфийски
Последний раз редактировалось Лубышев; 24.09.2008 в 14:28. |
24.09.2008, 14:32 | #4 |
Пользователь
Регистрация: 29.06.2007
Сообщений: 47
|
большое спасибо
все когда-то начинали с элементарного...
|
25.09.2008, 12:11 | #5 |
Участник клуба
Регистрация: 23.07.2007
Сообщений: 1,054
|
Извините, не совсем то написал, это код для перемешению по всему экрану.
Вот готовый код(код для перемещения эллипса в окне программы):
Писано по д'Эльфийски
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Движение фигуры по окружности | &RiU | Помощь студентам | 3 | 31.10.2009 20:39 |
Движение окружности и отрезка. | Ev@ngel | Компоненты Delphi | 0 | 18.04.2008 22:16 |
Движение кнопки по окружности | Инна | Помощь студентам | 10 | 22.04.2007 19:32 |
Движение по окружности | Mickle | Общие вопросы Delphi | 3 | 13.04.2007 16:24 |
Анимация. Движение по окружности. | Albenous | Общие вопросы Delphi | 1 | 11.04.2007 14:57 |