IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Delphi (grafika), Dvizhenie v PaintBox
vit-lja
сообщение 3.3.2010, 10:18
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 3.3.2010
Город: D-pils
Учебное заведение: ИТС
Вы: студент



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

По стенкам PaintBox не слишком быстро (заметно для пользователя) катится круг. В круге случайным образом выбирается точка. Рисовать линию, которую будет описывать эта точка при движении круга
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
tig81
сообщение 3.3.2010, 18:28
Сообщение #2


Академик
********

Группа: Преподаватели
Сообщений: 15 617
Регистрация: 15.12.2007
Город: Украина, Запорожье
Учебное заведение: ЗНУ
Вы: преподаватель



Ваши идеи?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
vit-lja
сообщение 4.3.2010, 6:56
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 3.3.2010
Город: D-pils
Учебное заведение: ИТС
Вы: студент



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

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

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.

Не судите строго я тут навичок
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 29.3.2024, 10:13

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru