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

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

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

Регистрация: Mar 2013
Сообщений: 11
По умолчанию Проблема с if/else

Есть скрипт в первом кадре:
Код AS1/AS2:
stop();
 
Value (2)
 
if (Value ==2) {
gotoAndPlay(2)
} else if (Value ==3) {
gotoAndPlay(3)
}else{
gotoAndPlay(1);
}
Дело в том,какие бы я значение не задавал Value,он переходит к последнему клипу
В чем может быть проблема?

Старый 14.05.2013, 08:40
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
а с каких пор значения переменных задаются в скобках?
Код AS1/AS2:
stop();
 
Value = 2;
 
if (Value ==2) {
gotoAndPlay(2)
} else if (Value ==3) {
gotoAndPlay(3);
}else{
gotoAndPlay(1);
}

Старый 14.05.2013, 10:42
littelb1t вне форума Посмотреть профиль Отправить личное сообщение для littelb1t Найти все сообщения от littelb1t
  № 3  
Ответить с цитированием
littelb1t

Регистрация: Mar 2013
Сообщений: 11
Цитата:
Сообщение от caseyryan Посмотреть сообщение
а с каких пор значения переменных задаются в скобках?
Код AS1/AS2:
stop();
 
Value = 2;
 
if (Value ==2) {
gotoAndPlay(2)
} else if (Value ==3) {
gotoAndPlay(3);
}else{
gotoAndPlay(1);
}
Да,так работает,но есть еще функция:
Код AS1/AS2:
function Value(CertainToken:Number)
{
     this.test.text = CertainToken;  
}
Которая показывает число от Value в текстовое поля.
В Вашем примере,показывает только кадры,без числового значения с ошибкой
Код AS1/AS2:
Несоответствие типа в операторе присваивания: обнаружен "Number", а требуется "Function".
Числовое значение показывается только когда
Код AS1/AS2:
Value (2)

Старый 14.05.2013, 14:02
Rainbow_Sparkle вне форума Посмотреть профиль Отправить личное сообщение для Rainbow_Sparkle Найти все сообщения от Rainbow_Sparkle
  № 4  
Ответить с цитированием
Rainbow_Sparkle

Регистрация: Jan 2013
Сообщений: 28
Код AS1/AS2:
function Value(CertainToken:Number)
{
     this.test.text = CertainToken;  
}
Попробуй вместо Value поставить что-нибудь другое.

Старый 14.05.2013, 14:16
littelb1t вне форума Посмотреть профиль Отправить личное сообщение для littelb1t Найти все сообщения от littelb1t
  № 5  
Ответить с цитированием
littelb1t

Регистрация: Mar 2013
Сообщений: 11
Цитата:
Сообщение от Rainbow_Sparkle Посмотреть сообщение
Код AS1/AS2:
function Value(CertainToken:Number)
{
     this.test.text = CertainToken;  
}
Попробуй вместо Value поставить что-нибудь другое.
Например?

Старый 14.05.2013, 15:07
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Здесь вы вызываете функцию Value, она вам что-то делает (что-то там в поле выводит):
Код AS1/AS2:
Value (2)
Далее вы "убиваете" функцию Value, создавая одноименную переменную Value, которая по умолчанию будет не определена:
Код AS1/AS2:
if (Value ==2) {
 .....
И поскольку на этом этапе у вас Value будет равно undefined, то выполнится последнее условие в if, что вы и наблюдаете.

Это я описал вам, как работает ваш код. Делайте выводы сами.

PS. По оформлению сообщений - не увлекайтесь оверквотингом, выделяйте в цитате только значимые строки, иначе тяжело читать.
__________________
Идите первым!

Старый 14.05.2013, 15:09
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если Value функция, присваивающая тектсфилду значения, то логично их и сравнивать, не?
Код AS1/AS2:
test = createTextField("test", 0, 0, 0, 200, 100);
Value(2)
if (test.text == "2"){
	gotoAndPlay(2);
} else if (test.text == "3"){
	gotoAndPlay(3);
}else{
	gotoAndPlay(1)
}
function Value(CertainToken:Number)
{
	 this.test.text = CertainToken.toString();  
}

Старый 14.05.2013, 15:20
littelb1t вне форума Посмотреть профиль Отправить личное сообщение для littelb1t Найти все сообщения от littelb1t
  № 8  
Ответить с цитированием
littelb1t

Регистрация: Mar 2013
Сообщений: 11
Сравнение уже происходит
Код AS3:
 this.test.text = CertainToken;
Если писать так то Value = 2; то работает переход по кадрам,но не работает функция(она не выводит Value в текстовое поля)
Работает всё,если удалить функция,а она как раз нужна.

Старый 14.05.2013, 15:28
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Переименуйте функцию (и ее вызовы соответственно, где они есть, вам же Rainbow_Sparkle уже говорил.
__________________
Идите первым!

Старый 14.05.2013, 15:29
littelb1t вне форума Посмотреть профиль Отправить личное сообщение для littelb1t Найти все сообщения от littelb1t
  № 10  
Ответить с цитированием
littelb1t

Регистрация: Mar 2013
Сообщений: 11
Скорей всего работает,но не отобржаеться Value в текстовом поле на кадрах 2 и 3

Добавлено через 9 минут
Работает по посту 7
Но теперь,возникла новая проблема.
На кадрах 2 и 3 есть это текстовое поля,но там не отображаются значение Value.
В чем может быть проблема?

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

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

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


 


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


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