Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 22.11.2008, 15:35   #1
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Получить значение по индексу

Ищо одну проблемко

Type TMusicBox
	Field list:TList
	
	Function Create:TMusicBox()
		Local mb:TMusicBox = New TMusicBox
		If (mb.list = Null) Then mb.list = CreateList()
		Return mb
	End Function
	
	Method Add(filename$)
		Local mt:TMusicTrack = TMusicTrack.Create(filename)
		list.AddLast(mt)
		mt = Null
	End Method
	
	Method Play(num%)
		If (num > 0 And num <= list.Count())
			For Local m:TMusicTrack = EachIn list
				If Not(m.IsPlaying()) m.Play()
			Next
		End If
	End Method
	
	Method PlayRandom()
		'Local r% = Rand(0, list.Count())
		'If (list.Contains(r))
		'	list.ValueAtIndex(r).Play()
		'End If
	End Method
End Type
есть список, в нем TMusicTrack'ы, есть метод Play(num%) который должен играть num из списка, подскажите как такое сделать И еще обясните для чего нужен TLink?

Type TMusicTrack
	Field audiofile%, channel%
	Field pitch%, volume#, pan#
	
	Function Create:TMusicTrack(filename$)
		Local mt:TMusicTrack = New TMusicTrack
		mt.audiofile = bbLoadSound(filename)
		mt.volume = 1
		mt.pitch = 44000
		mt.pan = 0
		Return mt
	End Function
	
	Method Delete()
		If (audiofile) Then bbFreeSound(audiofile)
	End Method
	
	Method Play()
		channel = bbPlaySound(audiofile)
	End Method
	
	Method Stop()
		If (channel <> 0)
			bbStopChannel(channel)
		End If
	End Method
	
	Method Pause()
		If (channel <> 0)
			bbPauseChannel(channel)
		End If
	End Method
	
	Method Resume()
		If (channel <> 0)
			bbResumeChannel(channel)
		End If
	End Method
	
	Method SetVolume(value#)
		If (channel <> 0)
			If (value > 0 And value < 1) Then volume = value
			bbChannelVolume(channel, volume)
		End If
	End Method
	
	Method GetVolume#()
		Return volume
	End Method
	
	Method SetPitch(value%)
		If (channel <> 0)
			If (value > 8000 And value < 44000) Then pitch = value
			bbChannelPitch(channel, pitch)
		End If
	End Method
	
	Method GetPitch%()
		Return pitch
	End Method
	
	Method SetPan(value#)
		If (channel <> 0)
			If (value >= - 1 And value <= 1) Then pan = value
			bbChannelPan(channel, pan)
		End If
	End Method
	
	Method GetPan#()
		Return pan
	End Method
	
	Method IsPlaying%()
		If (channel <> 0)
			Return bbChannelPlaying(channel)
		End If
	End Method
End Type
__________________
мои игры


требуется художник, за подробностями в асю - 428078069
(Offline)
 
Ответить с цитированием
Старый 22.11.2008, 17:52   #2
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: Получить значение по индексу

ну дык:
TMusicTrack(list.ValueAtIndex( num )).play()
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
snikers (22.11.2008)
Старый 22.11.2008, 18:49   #3
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: Получить значение по индексу

крутЪ! спасибо, только можеш обяснить как ета конструкция работает, тоесть что означает TMusicTrack(c параметрами внутри)?
__________________
мои игры


требуется художник, за подробностями в асю - 428078069
(Offline)
 
Ответить с цитированием
Старый 22.11.2008, 19:18   #4
jimon
 
Сообщений: n/a
Ответ: Получить значение по индексу

snikers
приведение типов
a:float = 0
b:int = int(a)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
snikers (22.11.2008)
Старый 22.11.2008, 19:24   #5
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: Получить значение по индексу

еще раз крутЪ! я думал конвертировать можно только стандартные типы даных, ето же открывает большие возможности, и как я раньше об этом не знал..
__________________
мои игры


требуется художник, за подробностями в асю - 428078069
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка и получение сообщения по TCP протоколу Electron19 Основной форум 4 11.07.2009 19:31
Получение команд в формах Phantom JAVA Micro Edition 44 14.11.2008 15:59
Получение собственного номера телефона и т.п. ARV Основной форум 11 27.02.2008 08:08
Stats: отсылка и получение Taugeshtu 2D-программирование 3 15.01.2008 21:54


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com