Загрузка...

Помогите с 1 программой.

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем Stark?!, 05.05.2012.

  1. Stark?!

    Stark?!

    Статус:
    Оффлайн
    Регистрация:
    23.03.2011
    Сообщения:
    831
    Репутация:
    332 +/-
    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
    Shape1: TShape;
    Timer1: TTimer;
    Shape2: TShape;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Shape2MouseMove(Sender: TObject; Shift: TShiftState; X,
    Y: Integer);

    private
    procedure shar();
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    PosX, PosY, VelX, VelY: single;
    implementation

    {$R *.dfm}

    procedure TForm1.Timer1Timer(Sender: TObject);
    var
    Overlay: Trect;
    begin
    shar;
    if InterSectRect(Overlay,Shape2.BoundsRect, Shape1.BoundsRect) then
    begin
    VelX:=-VelX-random(5);
    VelY:=-VelY-random(5);
    end;


    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    randomize;
    PosX:=100;
    PosY:=100;
    VelX:=3;
    VelY:=3;
    end;

    procedure TForm1.shar;
    begin
    PosX:=PosX+VelX;
    PosY:=PosY+VelY;

    if PosX> ClientWidth -Shape1.Width then
    VelX:=-VelX;

    if PosX< 0 then
    VelX:=-VelX;

    if PosY> ClientHeight -Shape1.Width then
    VelY:=-VelY;

    if PosY< 0 then
    VelY:=-VelY;


    Shape1.Left:=round(PosX);
    Shape1.Top:=round(PosY);
    end;

    procedure TForm1.Shape2MouseMove(Sender: TObject; Shift: TShiftState; X,
    Y: Integer);
    begin
    Shape2.Top:= Mouse.CursorPos.Y -Form1.ClientOrigin.X;
    end;




    end.


    Как сделать так,что бы скорость шарика оставалась одной и той же.

    http://rghost.ru/37933033
    VT
     
  2. timon132009

    timon132009

    Статус:
    Оффлайн
    Регистрация:
    05.04.2012
    Сообщения:
    81
    Репутация:
    90 +/-
    Выложи исходники.