Форма:
Отредактировано tbc (2007-07-01 17:39:45)
ЗДЕСЬ МОЖЕТ БЫТЬ ВАША РЕКЛАМА!БАННЕР 500 х 90 тИЦ=10 PR=3Просмотров более 5000 в месяц. Цена 2000 рублей в месяц. Деньги от рекламы идут на ВАШ инвестиционный счет в проекте СПИ |
Исполняем желания! ВЛОЖИСЬ В БУДУЩЕЕ! |
МАШИНОСТРОЕНИЕ И МЕТАЛЛООБРАБОТКА. САПР. CAD\CAM\CAE\PLM. ФОРУМ ИНЖЕНЕРОВ! |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » МАШИНОСТРОЕНИЕ И МЕТАЛЛООБРАБОТКА. САПР. CAD\CAM\CAE\PLM. ФОРУМ ИНЖЕНЕРОВ! » Delphi, Turbo Pascal » Простая мультимедийная стрелялка на Delphi
Форма:
Отредактировано tbc (2007-07-01 17:39:45)
Сцены с разным оружием:
ВНИМАНИЕ!!!
ПРОЧТЕНИЕ ДАННОГО ДОКУМЕНТА ПЛАТНОЕ!
Цена 10 руб., или $0.33
Заплатите по указанным ниже реквизитам, либо
откажитесь от чтения статьи.
WEBMONEY:
R440966748235
Z259102306770
ЯНДЕКС ДЕНЬГИ:
4100154257856
Автор безработный, 58 лет и реализует проект,
без которого невозможно выживание России!
CopyRight (c) Турта В. 2013
----------------------------------------------------
Код программы:
unit Timer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, MPlayer, StdCtrls;type
TForm1 = class(TForm)
Timer1: TTimer;
Image1: TImage;
MediaPlayer1: TMediaPlayer;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Timer2: TTimer;
Image10: TImage;
Image11: TImage;
Timer3: TTimer;
Timer4: TTimer;
Image12: TImage;
Image13: TImage;
Image14: TImage;
Timer5: TTimer;
Image15: TImage;
Image16: TImage;
GroupBox1: TGroupBox;
Image20: TImage;
Image21: TImage;
Image22: TImage;
Image23: TImage;
Image24: TImage;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure Timer5Timer(Sender: TObject);
procedure Image20Click(Sender: TObject);
procedure Image21Click(Sender: TObject);
procedure Image22Click(Sender: TObject);
procedure Image23Click(Sender: TObject);
procedure Image24Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
n,midl,height,width: Integer;Form1: TForm1;
implementation
{$R *.dfm}
// Полет самолета
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if image1.Left>0 then
image1.Left:= image1.Left-10;
if image1.Left<=0 then
image1.Left:=700;
end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
i: Integer;
begin
if Button = mbLeft then
begin
// Звук
begin
if n=0 then MediaPlayer1.FileName:='Explode.wav'; //пушка
if n=1 then MediaPlayer1.FileName:='laser.wav'; //Лазер
if n=2 then MediaPlayer1.FileName:='gunshot.wav'; //Пулемет
if n=3 then MediaPlayer1.FileName:='whoosh.wav'; //Эл.Маг.пушка
if n=4 then MediaPlayer1.FileName:='driveby.wav'; //Стрела
if n=4 then Timer4.Enabled:=true;
MediaPlayer1.Open;
MediaPlayer1.Play;//
with Form1.Canvas do
begin
//////////////////////////////////////////////////////////////////////////
//////////// С т р е л ь б а //////////
// Пушка
if n=0 then
begin
image12.Left:=Image3.Left+2; //Позиционируем выстрел
image12.Top:=image3.Top-35;
image12.Visible:=true;
image16.Picture:=image13.Picture; // Снаряд пушки
image16.Left:=Image3.Left-5; //Позиционируем снаряд
image16.Top:=image3.Top-35;
image16.Visible:=true;
timer5.enabled:=true;
end;
//Лазер и пулемет
if (n=1) or (n=2) then
begin
if n=1 then Pen.Style:=psSolid; //Лазер
if n=2 then Pen.Style:=psDot; //Пулемет
Pen.Color:=clRed;
midl:= Image3.Width;
MoveTo(Image3.Left+midl div 2,Image3.top);
LineTo(Image3.left+midl div 2,0);
for i:=0 to 10000 do //Задержка
Pen.Color:=clBlack;
MoveTo(Image3.Left+midl div 2,Image3.top);
LineTo(Image3.left+midl div 2,0);
end;
// Эл. Маг. Пушка
if n=3 then
begin
image16.Picture:=image14.Picture; // Заряд Эл. Маг.пушки
image16.Left:=Image3.Left; //Позиционируем заряд
image16.Top:=image3.Top-35;
image16.Visible:=true;
timer5.enabled:=true;
end;
// ПЗРК Стрела
if n=4 then
begin
image12.Left:=Image3.Left+2; //Позиционируем выстрел
image12.Top:=image3.Top-35;
image12.Visible:=true;
image16.Picture:=image15.Picture; // Ракета
image16.Left:=Image3.Left;
image16.Top:=image3.Top-35;
image16.Visible:=true;
timer5.enabled:=true;
end;
////////////// П О П А Д А Н И Е В С А М О Л Е Т /////////////
//Попали в самолет
if (image3.Left+midl div 2>image1.Left) AND (image3.Left+midl div 2<image1.Left+image1.Width) then
begin
MediaPlayer1.FileName:='ricochet.wav';
MediaPlayer1.Open;
MediaPlayer1.Play;image1.Picture:=image2.Picture;
timer1.Enabled:=false;
timer2.Enabled:=true;
end;
//if n=3 then Image3.Picture:=Image7.Picture;
end;
end;
end; //if Button = mbRight then
if Button = mbRight then
n:=n+1;
if n=1 then Image3.Picture:=Image4.Picture; // Лазер
if n=2 then Image3.Picture:=Image5.Picture; //Пулемет
if n=3 then Image3.Picture:=Image6.Picture; //Эл. Маг. Пушка
if n=4 then Image3.Picture:=Image7.Picture; //Стрела
//if n=4 then Image3.Picture:=Image8.Picture; //Эл. Маг. Пушка
if n=5 then
begin
n:=0;
Image3.Picture:=Image8.Picture; //Пушка
end
end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if(n=1)or(n=2)or(n=3)then Image3.Left:=X;
end;procedure TForm1.Timer2Timer(Sender: TObject);
var
i: integer;
begin //падение подбитого самолета
image1.Left:=image1.Left-100;
image1.Top:=image1.Top+100;
if image1.top>410 then
begin //Взрыв при падении самолета
timer2.Enabled:=false;
MediaPlayer1.FileName:='Explode.wav';
MediaPlayer1.Open;
MediaPlayer1.Play;
image1.Visible:=false;
image10.Visible:=true;
timer2.Enabled:=false;
timer3.Enabled:=true;
end;
end;//Конец взрыва
procedure TForm1.Timer3Timer(Sender: TObject);
begin
image10.Picture:=image11.Picture;
image10.Visible:=false;
timer3.Enabled:=false;
end;
//После выстрела стрелы
procedure TForm1.Timer4Timer(Sender: TObject);
begin
if image13.top>0 then
image15.Top:=image15.Top-50
else
begin
timer4.Enabled:=false;
image15.Visible:=false;
end;
//Меняем изображение до стрельбы на после стрельбы
Timer4.Enabled:=False;
end;
//Полет снаряда
procedure TForm1.Timer5Timer(Sender: TObject);
begin
if image16.top>0 then
begin
image16.Top:=image16.Top-50;
image16.Height:=image16.Height-5;
image16.Width:=image16.Width-2;
end;
if image16.top<=0 then
begin
timer5.Enabled:=false;
image16.Visible:=false;
image12.Visible:=false;
image16.Top:=image3.Top-35;
image16.height:=height;
image16.Width:=width;
end
end;
// Пущка
procedure TForm1.Image20Click(Sender: TObject);
begin
n:=0;
Image3.Picture:=Image8.Picture;
Label1.Caption:='Пушка. Орудие не подвижное. Снарядов 5';
end;
//Лазер
procedure TForm1.Image21Click(Sender: TObject);
begin
n:=1;
Image3.Picture:=Image4.Picture;
Label1.Caption:='Лазер переносной. Количество выстрелов 5';
end;
// Пулемет
procedure TForm1.Image22Click(Sender: TObject);
begin
n:=2;
Image3.Picture:=Image5.Picture;
Label1.Caption:='Пулемет крупноколиберный. Переносной. Количество очередей 5';
end;
//Эл. Маг. пушка
procedure TForm1.Image23Click(Sender: TObject);
begin
n:=3;
Image3.Picture:=Image6.Picture;
Label1.Caption:='Электромагнитная пушка. Количество выстрелов 5';
end;
// Ракетная установка
procedure TForm1.Image24Click(Sender: TObject);
begin
n:=4;
Image3.Picture:=Image7.Picture;
Label1.Caption:='Ракетная установка. Орудие не подвижное. Количество ракет 5';
end;procedure TForm1.FormCreate(Sender: TObject);
begin
height:=image16.height;
width:=image16.Width;
end;end.
Вы здесь » МАШИНОСТРОЕНИЕ И МЕТАЛЛООБРАБОТКА. САПР. CAD\CAM\CAE\PLM. ФОРУМ ИНЖЕНЕРОВ! » Delphi, Turbo Pascal » Простая мультимедийная стрелялка на Delphi