Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.05.2011, 23:20
Telv вне форума Посмотреть профиль Отправить личное сообщение для Telv Найти все сообщения от Telv
  № 1  
Ответить с цитированием
Telv

Регистрация: May 2011
Сообщений: 6
Question "Не удалось найти свойство 0 в String"

Во Flash пишет ошибку:
Цитата:
ReferenceError: Error #1069: Не удалось найти свойство 0 в String; отсутствует значение по умолчанию.
at main.radio::Radio/update()
at main.radio::Radio()
at main::Main()
в этом коде:
Код:
package main.radio{
///Библиотеки классов
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.net.*;
import flash.utils.*;

public class Radio extends MovieClip {
/*------------------Массив с названиями радиостанций---------------------*/
 private var Data:Array=[
 "Smile Fm",
 "Kinkaardschok",
 "Kiss fm" ,
 "Радио Рекорд",
 "Net Radio Adult",
 "Net Radio Hot",
 "Net Radio Garage" ,
 "Net Radio Rap"
 ];


 ///фон плеера
 public var BackGround:radioBg=new radioBg();
 ///кнопка плей
 public var Play:playBtn=new playBtn();
 ///кнопка стоп
 public var Stop:stopBtn=new stopBtn();
 //следующая
 public var Next:nextBtn=new nextBtn();
 // предыдущая
 public var Prev:nextBtn=new nextBtn();
 //Играет ли музыка
 public var MusicPlay:Boolean=false;
 //Для работы с звуокм
 private var sc:SoundChannel = new SoundChannel();
 private var s:Sound=null;
 //Текущая радиостанция
 private var curChanel:uint=0;

/*------------------Позиции объектов---------------------*/
 public function Radio(_x:Number=0,_y:Number=0) {
  //позиционируем фон
  BackGround.x=_x;
  BackGround.y=_y;
  addChild(BackGround);
  //позиционируем кнопки управления
  Play.x=_x+20;
  Play.y=_y+20;
  addChild(Play);
  Stop.x=_x+20;
  Stop.y=_y+20;
  addChild(Stop);
  Prev.x=_x+80;
  Prev.y=_y+15;
  Prev.scaleX=-1;
  addChild(Prev);
  Next.x=_x+260;
  Next.y=_y+15;
  addChild(Next);
  

/*------------------Слушатели---------------------*/
  Play.addEventListener(MouseEvent.CLICK,SoundPlay);
  Stop.addEventListener(MouseEvent.CLICK,SoundStop);
  Next.addEventListener(MouseEvent.CLICK,SoundNext);
  Prev.addEventListener(MouseEvent.CLICK,SoundPrev);
  //Обновляем текстовое поле и кнопки
  update();
 }
 
/*------------------Кнопка "Плей"---------------------*/
 public function SoundPlay(e:MouseEvent) {
  if (MusicPlay==false) {
   if (s) {
    //закрываем канал если он открыт
    s.close();
   }
   //Получаем ссылку радиостанции из массива
   var nextTitle:Sound=new Sound();
   //new URLRequest(Data[1][curChanel])
   //Грузим её
   s=nextTitle;
   //Воспроизводим
   sc=s.play();
   //Указывем что музыка играет
   MusicPlay=true;
   //Обновляем кнопки
   update();
  }
 }

/*------------------Кнопка "Стоп"---------------------*/
 public function SoundStop(e:MouseEvent) {
  //Останавливаю музыку
  sc.stop();
  if (s) {
   //закрываем канал если он открыт
   s.close();
  }
  //Указывем что музыка не играет
  MusicPlay=false;
  s=null;
  //Обновляем кнопки
  update();
 }

/*------------------Кнопка "Следующая"---------------------*/
 public function SoundNext(e:MouseEvent) {
  //Останавливаю музыку
  sc.stop();
  if (s) {
   //закрываем канал если он открыт
   s.close();
  }
  //Указывем что музыка не играет
  MusicPlay=false;
  //Получаем ссылку радиостанции [из массива]
  var nextTitle:Sound=new Sound(new URLRequest(url))
  var url:String = "http://SmileFm.listen.moeradio.ru:10000/SmileFm";
  //Грузим её
  s=nextTitle;
  //Воспроизводим
  sc=s.play(0);
  //Указывем что музыка играет
  MusicPlay=true;
  //Обновляем текстовое поле
  update();
 }

/*------------------Кнопка "Предыдущая"---------------------*/
 public function SoundPrev(e:MouseEvent) {
  //Останавливаю музыку
  sc.stop();
  if (s) {
   //закрываем канал если он открыт
   s.close();
  }
  //Указывем что музыка не играет
  MusicPlay=false;
  //Получаем ссылку радиостанции [из массива]
  var nextTitle:Sound=new Sound(new URLRequest(url))
  var url:String = "http://russkoe-128.app1848482.moeradio.ru:10000/Russkoe-128";
  //Грузим её
  s=nextTitle;
  //Воспроизводим
  sc=s.play(0);
  //Указывем что музыка играет
  MusicPlay=true;
  //Обновляем текстовое поле
  update();
 }
/*------------------Update---------------------*/
 private function update() {
  //Обновляем текстовое поле и отображаем название радиостанции
  BackGround.name_txt.text=Data[0][curChanel];
  ///Показываем кнопку stop если play нажата и наоборот
  if (MusicPlay==true) {
   Play.visible=false;
   Stop.visible=true;
  } else {
   Play.visible=true;
   Stop.visible=false;
  }
 }
}
}
Может, кто знает, что нужно делать?


UPD: делал по этому уроку, и решил не много изменить под себя.

Старый 08.05.2011, 23:27
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
BackGround.name_txt.text=Data[0][curChanel].toString();
Добавлено через 1 минуту
Код AS3:
private var Data:Array=[
 "Smile Fm",
 "Kinkaardschok",
 "Kiss fm" ,
 "Радио Рекорд",
 "Net Radio Adult",
 "Net Radio Hot",
 "Net Radio Garage" ,
 "Net Radio Rap"
 ];
ВНимательно смотрите массив одномерный, а вы дергаете двумерный.
И ваще не читайте такие уроки. написано криво аж жуть, особенно имена
__________________
Марк Tween

Старый 08.05.2011, 23:48
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Data - это массив, первый элемент в котором - строка. Если вам нужен символ из строки - используйте charAt(), например: "abcd".charAt(2) вернет "c".
Я не зарегистрирован на сайте, где вы нашли урок, но названия и форматирование, да и вообще задумка автора урока - плохой пример для обучения...
http://help.adobe.com/en_US/FlashPla...dia/Sound.html
И вообще, всегда лучше начать изучение с мануала. Это только кажется, что там много всего. Потратите час на чтение документации - сэкономите день, месяц, год... на практике
__________________
Hell is the possibility of sanity

Старый 09.05.2011, 00:19
Telv вне форума Посмотреть профиль Отправить личное сообщение для Telv Найти все сообщения от Telv
  № 4  
Ответить с цитированием
Telv

Регистрация: May 2011
Сообщений: 6
всем большое спсибо
вопрос можно считать закрытым.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
action , radio , script , string , радио
Опции темы
Опции просмотра

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.