2013-11-11 2 views
0

Я пытаюсь сделать массив некоторых из моих звуков в своей игре. При нажатии на текстовое поле громкость уменьшается или увеличивается в зависимости от значения номера. Я попытался сделать это, но произошла ошибка. Что не так с моим кодом?Как изменить объем массива?

import flash.events.MouseEvent; 
import flash.media.SoundChannel; 
var onoff:Number; 
onoff = 2 
var mysoundArray:Array = new Array(tchannel,Mchannel); 
var volControl:SoundTransform = mysoundArray.soundTransform; 
options_mc.onoff_txt.text = String(onoff); 
options_mc.onoff_txt.addEventListener(MouseEvent.CLICK, tick); 
function tick(event:MouseEvent) 
{ 
if(onoff == 1) 
{ 
onoff = 2 
options_mc.onoff_txt.text = String(onoff); 
volControl.volume = .5; 
mysoundArray.soundTransform = volControl; 
} 
else if(onoff == 2) 
{ 
onoff = 1 
options_mc.onoff_txt.text = String(onoff); 
volControl.volume = 1; 
mysoundArray.soundTransform = volControl; 

} 
} 
+0

Какая ошибка тогда? вашим кодам не хватает отступов. – Raptor

+0

Он говорит мне: TypeError: Ошибка # 1009: не удается получить доступ к свойству или методу ссылки на нулевой объект. \t у Насекомые/галочка() – user2896120

+0

Когда я это делаю в режиме отладки, он показывает мне, где ошибка: volControl.volume = 1; – user2896120

ответ

0

В ваших кодах имеется несколько ошибок.

Ошибка 1: где tchannel и Mchannel?

var mysoundArray:Array = new Array(tchannel,Mchannel); 

Ошибка 2: Array mysoundArray не имеет дочерний объект называется soundTransform.

var volControl:SoundTransform = mysoundArray.soundTransform; 

Таким образом, объект volControl имеет значение null. Исправьте указанные выше ошибки, и ваша проблема будет исправлена.

Смежные вопросы