forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Отмена комманды (http://forum.boolean.name/showthread.php?t=4568)

AndruXa 25.09.2007 13:15

Отмена комманды
 
Загрузил я звук в меню. Мне надо чтоб при нажатии новая игра звук прекращался. Чем отменить комманду PlaySound
Пробовал так:
Код:

playmuz = 0
If playmuz=0 Then PlaySound muz
If  MouseX()>(width1/2)-100 And MouseX()<(width1/2)+100 And MouseY()>190 And MouseY()<230 And MouseDown(1) Then playmuz=playmuz+1

Чет не получается. Колонки издают звуки, похожие на выход диалап модема в сеть:dontknow:

Данил 25.09.2007 13:23

Re: Отмена комманды
 
Цитата:

PauseChannel указатель_на_канал
Параметры
указатель_на_канал = переменная, назначенная каналу

Описание
При проигрывании звукового канала может наступить момент, когда вам потребуется его приостановить (например, для воспроизведения другого звукового эффекта). Эта команда делает вышесказанное. Воспроизведение канала можно возобновить путем использования ResumeChannel. Используйте StopChannel для полной остановки звука. Работает с любым типом канала (в WAV, MP3, MIDI и др.).

Пример

; Примеры с каналами

Print "Загрузка звука..."
; Загрузите образец – в кавычках нужно указать путь к файлу на диске
; Для лучшего результата поставьте задержку 5-10 секунд
sndWave=LoadSound("level1.wav")
; Зациклить звук (будет повторяться бесконечно)
LoopSound sndWave

chnWave=PlaySound(sndWave)

Print "Воспроизведение звука 2 секунды…"
Delay 2000

Print "Пауза на 2 секунды…"
PauseChannel chnWave
Delay 2000

Print "Возобновление воспроизведения…"
ResumeChannel chnWave
Delay 2000

Print "Изменение тона («высоты») звука..."
; StopChannel chnWave
ChannelPitch chnWave, 22000
Delay 2000

Print "Воспроизведение звука с измененной «высотой»…"
Delay 2000

Print "Только левая колонка"
ChannelPan chnWave,-1
Delay 2000

Print "Только правая колонка"
ChannelPan chnWave,1
Delay 2000

Print "Конец!"
StopChannel chnWave
цитата из хелпа blitz...

То есть :

[blitz]
sndWave=LoadSound("level1.wav")
chnWave=PlaySound(sndWave)
Delay 2000
PauseChannel chnWave
[/blitz]

через 2 секунды канал со звуком перестает играть...

AndruXa 25.09.2007 14:32

Re: Отмена комманды
 
Большое спасибо, со звуком разобрался. А со всем остальным.....Уменя вообще проблемы с очисткой, может кто сможет внятно объяснить какой коммандой отменять создание функций, какой создание объектов и так далее....... заранее благодарю

IGR 25.09.2007 14:38

Re: Отмена комманды
 
удалить обьект - freeentity обьект !!
для отмены создания функции создай переменную-флаг
допустим flg = 1 функция создается, а когда flg = 0 функция НЕ создается !!

AndruXa 25.09.2007 14:54

Re: Отмена комманды
 
Пасиб большое. А есть ли какая-нибудь комманда, очищающая весь мир.
Нет, не правильно выразился, очищающая весь цикл и все объекты одним махом.

H@NON 25.09.2007 15:15

Re: Отмена комманды
 
Весь мир очищает команда ClearWorld(), Если же тебе нужно удалить ресурсы используемые в определенном цикле , то тебе прийдется создавать свою функцию их очистки, типо:
function DeleteCicle()

freeentity BYAKa1
freeentity BYAKa2
freeentity BYAKa3

freetexture tex_BYaKa1
freetexture tex_BYaKa2
freetexture tex_BYaKa3
...
end function

Данил 25.09.2007 15:17

Re: Отмена комманды
 
хы, а я даже и не знал, что существует команда, очищающая весь мир.. круто...

MiXaeL 25.09.2007 22:27

Re: Отмена комманды
 
Кстати почему не работает PauseChannel - ResumeChannel (чтобы остановить и начать сначала). Или так и должно быть?

Chrono Syndrome 25.09.2007 23:16

Re: Отмена комманды
 
Отмена функций... Очистка цикла...
Видимо я ничего не понимаю в Blitz'е :4to: ...

impersonalis 25.09.2007 23:20

Re: Отмена комманды
 
Цитата:

Сообщение от Chrono Syndrome
Отмена функций... Очистка цикла...
Видимо я ничего не понимаю в Blitz'е :4to: ...

Просто фраза
Цитата:

Если же тебе нужно очистить определенный цикл , то тебе прийдется создавать свою функцию ее очистки, типо:
некорректна, подозреваю - описку автора
Цитата:

для отмены создания функции создай переменную-флаг
допустим flg = 1 функция создается, а когда flg = 0 функция НЕ создается !!
Вы на каком языке вообще кодите :) ?

H@NON 25.09.2007 23:21

Re: Отмена комманды
 
Исправил...


Цитата:

для отмены создания функции создай переменную-флаг
допустим flg = 1 функция создается, а когда flg = 0 функция НЕ создается !! Вы на каком языке вообще кодите :) ?
Тут видимо подразумевалось предотвращение создания функции.

IGR 26.09.2007 12:31

Re: Отмена комманды
 
Цитата:

Тут видимо подразумевалось предотвращение создания функции
to H@NON: ты фточку !!
я это и имел ввиду !!
думаю это правельно !!

tormoz 26.09.2007 16:21

Re: Отмена комманды
 
ЖЖЖЖоте !
Давно так не смеялся !
Как вообще можно отменить создание функции, если она тобой же и пишется ?
Только не писать ее.

Учитесь правильно выражать свои мысли.
Может "отменить выполнение функции по условию" ?

IGR 27.09.2007 13:03

Re: Отмена комманды
 
Цитата:

Как вообще можно отменить создание функции, если она тобой же и пишется ?
Только не писать ее.
думаю автор понимает что он хочет и разберется с теме предложениями что ему предоставили !! :)

Цитата:

Может "отменить выполнение функции по условию" ?
это, насколько я понял, и подразумевалось !!

Platon 27.09.2007 13:18

Re: Отмена комманды
 
Цитата:

Кстати почему не работает PauseChannel - ResumeChannel (чтобы остановить и начать сначала). Или так и должно быть?
Ты просто неправильно их используешь, почитай хелп внимательно ;)

ЗЫ
Только не начать сначала, а продолжить.


Часовой пояс GMT +4, время: 09:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot