Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > wav & timer


Автор: windy 19.2.2005, 21:17
есть анимация: одна картинка катается по другой с помощью таймера. процедура повторяется циклически. нужно подключить wav файл, чтобы сразу же после окончания сообщения wav пошла анимация

как это сделать? желательно с примерами.
Добавлено @ 21:23
мой код:
Код


unit poletvko2;

interface

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

type
 TForm2 = class(TForm)
   Image1: TImage;
   Image2: TImage;
   Timer1: TTimer;
   procedure Timer1Timer(Sender: TObject);
   procedure FormActivate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Timer1Timer(Sender: TObject);
begin
if image2.left>650 then
 begin
 image2.left:=0;
 image2.top:=336;
 end
else
 begin
 image2.left:=image2.Left+5;
 image2.top:=image2.top-2;
 end;
end;

procedure TForm2.FormActivate(Sender: TObject);
begin
image2.left:=0;
image2.top:=336;
end;

end.

Код

object Form2: TForm2
 Left = 199
 Top = 189
 Width = 808
 Height = 538
 AutoSize = True
 Caption = #1055#1086#1083#1105#1090' '#1088#1072#1082#1077#1090#1099' '#1085#1072#1076' '#1090#1077#1088#1088#1080#1090#1086#1088#1080#1077#1081' '#1042#1086#1089#1090#1086#1095#1085#1086'-'#1050#1072#1079#1072#1093#1089#1090#1072#1085#1089#1082#1086#1081' '#1086#1073#1083#1072#1089#1090#1080
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 OnActivate = FormActivate
 PixelsPerInch = 96
 TextHeight = 13
 object Image1: TImage
   Left = 0
   Top = 0
   Width = 800
   Height = 504
   AutoSize = True
   Center = True
   Picture.Data = {картинка}
   Stretch = True
   Transparent = True
 end
 object Timer1: TTimer
   Interval = 50
   OnTimer = Timer1Timer
   Left = 16
   Top = 296
 end
end

Автор: Snowy 21.2.2005, 09:56
Код твой тяжело читать. Пользуйся тэгом code.
Насчет воспроизведения wav - смотри help по PlaySound.
Запускай PlaySound, а после него ставь Timer.active:=true.

Автор: windy 23.2.2005, 18:21
а где взять тэг code? я сделала 1) через файл *.pas
2) просмотреть как текст

Автор: Snowy 24.2.2005, 08:14
Когда пишешь текст, над ним находятся кнопошки, для изменения шрифта и оформления.
Нажми кнопочку с надписью Код
Видишь, как выглядит твое сообщение после того, как его подправил p0s0l. Красота, а не то, что было.

Автор: windy 26.2.2005, 06:07
а как насчет помощи? у меня звук перекрывает анимацию

Автор: Snowy 27.2.2005, 09:12
Что значит перекрывает?
Тебе нужно, чтобы звук был во время анимации или сначала звук, а потом анимация?

Если нужно, чтобы звук играл параллельно с анимацией, то
Код
PlaySound('mysound.wav', 0, SND_ASYNC + SND_LOOP);

Автор: LexeY 23.11.2005, 03:52
function PlaySound(pszSound:PChar; hmod:HMODULE; fdwSound:integer):LongBool; stdcall; external 'winmm.dll'

Автор: Rennigth 25.11.2005, 13:42
Цитата(Snowy @ 27.2.2005, 09:12)
Тебе нужно, чтобы звук был во время анимации или сначала звук, а потом анимация?


Цитата(windy @ 19.2.2005, 21:17)
чтобы сразу же после окончания сообщения wav пошла анимация



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)