![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Это что-то вроде имитации ЭКГ- выбираем один фрагмент и циклично двигаем его по всей форме. Начал было так (см. вложение), но где-то ошибка
![]() |
#2
|
||||
|
||||
![]() Вирус у тебя в аттаче, как-то реши эту проблему, во-первых
![]() ![]() |
#3
|
|||
|
|||
![]() Привожу код:
Код:
var Background, bitmap, Buf : TBitMap; BackRct : TRect; BufRct: Trect; x,y:integer; W,H: integer; procedure TForm1.FormActivate(Sender: TObject); begin form1.DoubleBuffered:=true; Background := TBitmap.Create; bitmap := TBitmap.Create; Buf := TBitmap.Create; Background.LoadFromFile('sea.bmp'); //загружаем фон Form1.Image1.canvas.Draw(0,0,Backgr ound); bitmap.LoadFromFile('ship.bmp'); //загружаем рисунок, к.т. движется bitmap.Transparent := True; bitmap.TransParentColor := bitmap.canvas.pixels[1,1]; W:= bitmap.Width; H:= bitmap.Height; Buf.Width:= W; Buf.Height:=H; Buf.Palette:=Background.Palette; Buf.Canvas.CopyMode:=cmSrcCopy; BufRct:=Bounds(0,0,W,H); x := W+bitmap.Width; y := 50; BackRct:=Bounds(x,y,W,H); Buf.Canvas.CopyRect(BufRct,Backgrou nd.Canvas,BackRct); end; procedure TForm1.Timer1Timer(Sender: TObject); begin {Form1.image1.canvas.Draw(x,y,Buf); } Dec(x); if x < -bitmap.Width then x := 0; {Invalidate;} BackRct:=Bounds(x,y,W,H); Buf.Canvas.CopyRect(BufRct,Backgrou nd.Canvas,BackRct); Form1.image1.Canvas.Draw(x, y, bitmap); Form1.image1.Canvas.Draw(x+bitmap.W idth, y, bitmap); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Background.Free; bitmap.Free; Buf.Free; end; Последний раз редактировалось Admin, 24.02.2012 в 09:32. |
#4
|
||||
|
||||
![]() Я, к сожалению, не понял предназначение проекта (что и как должно работать). Чтоб небыло размытия, нужно рисовать на имаге так: сначала бэккграунд, а потом корабль. Отсчет координат на канве таковой: 0,0 - левый верхний угол, прирост х - слева направо, прирост y - сверху вниз.
Тоесть, чтоб двигаться слева-направо, нужно inc(x), начиная с нуля. Лучше перезалей аттач без exшника. У меня тоже Дельфи ![]() |
#5
|
|||
|
|||
![]() Перезаливаю архив...
|
#6
|
||||
|
||||
![]() Вот мой вариант, ничего не удалял, тока закомментировал, и дописал свое.
|
#7
|
||||
|
||||
![]() RomanRens, если все антивирусы ругаются на твои проекты - скорее всего делфи заражена широко известным индюком (Induc). О борьбе с этим вирусом куча статей в интернете. Сам по себе он ничего не делает, только размножается через компилируемые делфой проекты среди компов с установленной делфой.
jmp $ ; Happy End! The Cake Is A Lie. |
#8
|
|||
|
|||
![]() Очень помогли!
![]() |
#9
|
|||
|
|||
![]() Здесь все для операционной системы Андройд!!!...Заходи и качай !!!
http://about-androids.ru/content/obz...hee-chem-pleer |