![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Возник простой вопрос! Я пишу прогуи там должна быть кнопка бегающая по кругу. Как это сделать??? То есть:
есть таймер, мне нужен кусок кода оттуда, плиз это ж нетрудно... Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#2
|
|||
|
|||
![]() |
#3
|
|||
|
|||
![]() Спасибо конечно, но он мне пишет, что узел не найден. Не мог бы ты сюда выложить код? =)
Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#4
|
||||
|
||||
![]() проще простого:
Код:
const centerx=200; //координаты центра centery=200; //окружности rad=50; //радиус var angle:real; //угол procedure TForm1.Timer1Timer(Sender: TObject); begin Button1.Left:=centerx+Round(rad*cos(angle)); Button1.Top:=centery+Round(rad*sin(angle)); angle:=angle+pi/18; //изменение угла. чем меньше, тем точнее //здесь угол 10* end; procedure TForm1.FormCreate(Sender: TObject); begin angle:=0; //начальный угол end; ![]() следует учитывать, что координаты кнопки отсчитываются относительно ее левого верхнего угла РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت |
#5
|
|||
|
|||
![]() Спасибо огромное!!! Ща состряпал некую "приколку". Изначальный смысл проги был в украшении курсора летающим вокруг него пикселем. Но из за какой то ошибки он теперь обладает интересным свойством, он как будта чернила размазывает цвета по экрану... Вот код:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ScreenDC: hDC; xc,yc,c,x,y : Integer; a : real; mp : TPoint; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin GetCursorPos(mp); xc := mp.X; yc := mp.Y; ScreenDC := GetDC(0); c := GetPixel(ScreenDc,xc+Round(25*cos(a)),yc+Round(25*sin(a))); SetPixel(ScreenDc,x,y,c); SetPixel(ScreenDc,xc+Round(25*cos(a)),yc+Round(25*sin(a)),clRed); x := xc+Round(25*cos(a)); y := yc+Round(25*sin(a)); a := a + 0.1; ReleaseDC(0,ScreenDC); {îñâîáîäèòü êîíòåêñò} end; procedure TForm1.FormCreate(Sender: TObject); begin a := 0; end; end. Я ни в чем никогда не уверен... И в этом тоже... ![]() |
#6
|
||||
|
||||
![]() да тут и форма-то не нужна... создать динамически таймер и все
![]() и еще...угол лучше все-таки в радиах отмерять РГРТУ - ФВТ - Системы Автоматизированного ПРоектирования. ت |