![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2007
Сообщений: 61
|
Написал визуализатор, в котором есть два массива. Первый Array расставляет загруженные картинки на свои места, второй ByteArray управляет позицией картинок на экране.
При ctrl+enter в окно output через раз выскакивает ошибка Error: Error #2030: Обнаружен конец файла. at flash.utils::ByteArray/readFloat() at visualizator3_fla::MainTimeline/visualizator() и нифига не работает. Остальные разы работает нормально. Файл swf не запускается, выдает то же самое. Что не так? |
|
|||||
|
стервочка (я мужик)
|
position = 0?
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 61
|
Вот, обычный до безобразия код)
import flash.display.Graphics; import flash.events.Event; import flash.media.Sound; import flash.media.SoundChannel; import flash.media.SoundMixer; import flash.net.URLRequest; import flash.events.ProgressEvent; var channel:SoundChannel = new SoundChannel(); var vol:SoundTransform = new SoundTransform(0.01, 0); var snd:Sound = new Sound(new URLRequest("/media/song.mp3")); channel = snd.play(0,100,vol); var i:Number; var n:Number = 0; var j:Number; var k:Number; var p:Number = 70; var arr:Array = new Array(); for (j = 0; j < 32; j+=1) { arr[j] = new Loader(); arr[j].load(new URLRequest ("/media/peak1.png")); mc. addChild (arr[j]); arr[j].y = 100; arr[j].x = j*40; } addEventListener(Event.ENTER_FRAME, visualizator); function visualizator(event:Event):void { channel.soundTransform = vol; var bytes:ByteArray = new ByteArray(); SoundMixer.computeSpectrum(bytes, true, 0); for (i = 0; i < 256; i+=8) { n = Math.abs(bytes.readFloat())*p; if ( n > 100 - arr[i/8].y) { arr[i/8].y = 100 - n } } for (k = 0; k < 32; k+=1) { arr[k].y +=3; } } |
|
|||||
|
Регистрация: Nov 2007
Сообщений: 61
|
Да, но в почему срабатывает через раз?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Что через раз?
|
|
|||||
|
Регистрация: Nov 2007
Сообщений: 61
|
Цитата:
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|