![]() |
|
||||||||||
|
|
|
|||||
|
Часто вылетает известная ошибка, причем в любой момент
"Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null"." Причем в месте где ее быть не должно, даже когда ставлю проверку - все равно вылетает. Во собственно код: package { import flash.media.Sound; import flash.media.SoundChannel; import flash.events.Event; import flash.media.SoundTransform; /** * ... * @author FieryWall */ public class Sounds { //... public var collision1:Sound; public var collision2:Sound; //... //... private var collision1S:SoundChannel; private var collision2S:SoundChannel; //... public var musicVelume:Number; public var soundVelume:Number; public function Sounds() { //... collision1 = new Сollision1_c(); collision2 = new Сollision2_c(); //... musicVelume = 1; soundVelume = 1; } public function play(sound:Sound, peak:int = 0):void { var mt:SoundTransform = new SoundTransform(); var st:SoundTransform = new SoundTransform(); st.pan = peak; mt.volume = musicVelume; st.volume = soundVelume; switch(sound){ //... case collision1:collision1S = collision1.play(0, 1); collision1S.soundTransform = st; collision1S.addEventListener(Event.SOUND_COMPLETE, soundComplite); break; //Ошибку показывает здесь(например), не пойму почему =( case collision2:collision2S = collision2.play(0, 1); collision2S.soundTransform = st; collision2S.addEventListener(Event.SOUND_COMPLETE, soundComplite); break; //Или здесь //... } } public function stop(sound:Sound):void { switch(sound){ //... case collision1:if (collision1S) { collision1S.stop(); collision1S = null; }; break; case collision2:if (collision2S) { collision2S.stop(); collision2S = null; }; break; //... } } public function isPlaying(sound:Sound):Boolean { switch(sound){ //... case collision1:if (collision1S) { return true; } else { return false }; break; case collision2:if (collision2S) { return true; } else { return false }; break; //... default:return false; } } public function updateVelume(mv:Number, sv:Number):void { var mt:SoundTransform = new SoundTransform(mv); var st:SoundTransform = new SoundTransform(sv); musicVelume = mv; soundVelume = sv; //... if (collision1S) { collision1S.soundTransform = st; } if (collision2S) { collision2S.soundTransform = st; } //... } private function soundComplite(e:Event):void { //... if (e.target === collision1S) { collision1S = null; } if (e.target === collision2S) { collision2S = null; } //... } } } Последний раз редактировалось FieryWall; 08.06.2011 в 15:29. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
ну а где вылетает то, собственно?
Добавлено через 1 минуту а.., прокрутить нужно было... кто ж так пишет? напишите построчно, а не все в одну строчку - дебагер хоть подсветит строку с ошибкой
__________________
Загружаем картинки, минуя ошибки безопасности Последний раз редактировалось i.o.; 08.06.2011 в 14:21. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
http://www.adobe.com/livedocs/flash/...tml#play%28%29
шониясно? Может возвращать null. Дёргаете св-во у null. PS: за такой код убивал бы.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Чем не нравитсо?
![]() Цитата:
Последний раз редактировалось FieryWall; 08.06.2011 в 14:32. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Совершенно нечитабельно. Не возьмут туда, где хоть чуть на код смотрят.
Откройте для себя циклы.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
это что ли
?
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Летит в функции play()
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
![]()
__________________
Загружаем картинки, минуя ошибки безопасности |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|