Показать сообщение отдельно
Старый 06.08.2007, 23:30   #56
Maestro
ПроЭктировщик
 
Регистрация: 25.07.2007
Сообщений: 151
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Анимация (и еще пару вопросов)

Вот наконец добрался до звуков... что-то у меня не получается с первым же звуком. Проблема вот в чем: надо, чтобы при навидении на кнопку проигрывался один звук, при нажатии другой... ну короче все как положено. Но не могу реализовать. У меня есть функция для кнопки:
Function RefreshButton(ImBtn,x,y,txt$,n)
mx=MouseX(): my=MouseY()
MHit=MouseDown(1)
If RectsOverlap(x,y,ImageWidth(ImBtn),ImageHeight(ImBtn),mx,my,1,1) Then
   f=1
   y2=0
  If MHit=True Then
    f=2
    y2=2
    Button(n)=1
  EndIf
Else
  f=0
  y2=0
EndIf
DrawImage ImBtn,x,y,f
Color 0,0,0
Text x+0.5*(ImageWidth(ImBtn)+4-Len(txt$)*FontHeight()*0.5),y+0.5*(ImageHeight(ImBtn)-4-FontHeight())+y2,txt$
End Function
Не могу сделать все как положено. Либо (если просто плейсаунд) при навидении на кнопку постоянно проигрывается звук. Либо (добавив пару монипуляций) проигравается только один раз... Я пытался сделать вот так:
Function RefreshButton(ImBtn,x,y,txt$,n)
mx=MouseX(): my=MouseY()
MHit=MouseDown(1)
If RectsOverlap(x,y,ImageWidth(ImBtn),ImageHeight(ImBtn),mx,my,1,1) Then
 If sou=1 Then
  PlaySound SelectBut
  sou=0
 EndIf
   f=1
   y2=0
  If MHit=True Then
   If sou=0 Then
    PlaySound ClickBut
    sou=1
   EndIf
    f=2
    y2=2
    Button(n)=1
  EndIf
Else
 sou=1
  f=0
  y2=0
EndIf
DrawImage ImBtn,x,y,f
Color 0,0,0
Text x+0.5*(ImageWidth(ImBtn)+4-Len(txt$)*FontHeight()*0.5),y+0.5*(ImageHeight(ImBtn)-4-FontHeight())+y2,txt$
End Function
поидее строчка sou=1 должна выполняться только когда мышь не наведена на кнопку, но выполняется все время, и звук воспроизводится постоянно .(


ЗЫ: и почему не грузятся шрифты в названии которых присутствует "_"?
(Offline)
 
Ответить с цитированием