Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Delphi (grafika)

Автор: vit-lja 3.3.2010, 10:18

Помогите пожалуйсто, Добрые люди! Графику совсем незнаю в Delphi!

По стенкам PaintBox не слишком быстро (заметно для пользователя) катится круг. В круге случайным образом выбирается точка. Рисовать линию, которую будет описывать эта точка при движении круга

Автор: tig81 3.3.2010, 18:28

Ваши идеи?

Автор: vit-lja 4.3.2010, 6:56

я сделал чтобы шарик летал, но теперь с точкой проблема (ступор)

вот текст программи

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
Button1: TButton;
Button2: TButton;
Shape1: TShape;
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

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

{$R *.dfm}
procedure elipse;
begin
if (x<Form1.PaintBox1.Top) or ((x+Form1.Shape1.Height)>Form1.PaintBox1.Height)
then dx:=dx*(-1);
if (y<Form1.PaintBox1.Left) or ((y+Form1.Shape1.Width)>Form1.PaintBox1.Width)
then dy:=dy*(-1);
x:=x+dx;
y:=y+dy;
Form1.Shape1.Top:=x;
Form1.Shape1.Left:=y;
Form1.Timer1.Enabled:=True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
x:=0;
y:=0;
dx:=-random(5);
dy:=random(5);
Form1.Timer1.Enabled:=True;
Form1.Timer1.Interval:=5;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
elipse;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

end.

Не судите строго я тут навичок

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)