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

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

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
По умолчанию Проблема в цикле

Цикл, почему то не хочет выполнять 10-ое значение.
Т.е. в примере 11 элементов. Счет их начинается с 0 и десятый элемент при нажатии на который не выполняет действия (не выделяется).
Можно это как-то поправить?
И вообще, почему так происходит?
Вложения
Тип файла: rar cycle.rar (4.9 Кб, 53 просмотров)

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
UPD: всё сказанное не актуально, так как тогда ещё не было архива (:
UPD2: Ошибка в том что ты используешь имя клипа.
Код AS1/AS2:
this._name.substr(-1)
Если индекс больше 9, например 10, то ты получишь 1 на выходе. Создавай у мувиков дополнительные свойства с их индексами при таком подходе.
__________________
while(1) {}


Последний раз редактировалось Division; 14.11.2008 в 13:53.
Старый 14.11.2008, 13:57
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 3  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
протрейсити вот эту строчку и поймете в чем у вас ошибка
Код AS1/AS2:
trace(Number(this._name.substr(-1)))

Старый 14.11.2008, 18:08
INK• вне форума Посмотреть профиль Отправить личное сообщение для INK• Посетить домашнюю страницу INK• Найти все сообщения от INK•
  № 4  
Ответить с цитированием
INK•
 
Аватар для INK•

Регистрация: Nov 2001
Сообщений: 105
Отправить сообщение для INK• с помощью ICQ
Код AS1/AS2:
var n:Number = 10;
for (var i = 0; i<=n; i++) {
	_root["q"+i].id = i;
	_root["q"+i].onPress = function() {
		for (i=0; i<=n; i++) {
			_root['btn'+i] = false;
		}
		_root['btn'+Number(this._name.substr(-1))] = true;
		myonPress(this.id);
	};
}
где то так!

Старый 14.11.2008, 20:20
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 5  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Цитата:
Сообщение от Division Посмотреть сообщение
Создавай у мувиков дополнительные свойства с их индексами при таком подходе.
…а какой подход ты бы посоветовал?

Выделение элементов вроде работает нормально с применением поправленного кода от INK•
Но проблемы на этом не закончились. Дальше не обходимо подтвердить выбор и вывести соответствующую информацию. Для этого я делаю кнопочку “Готово” и нумерую все элементы от 0 до 10. И снова выбрав десятый элемент при подтверждении он показывает информацию нулевого элемента.
Вложения
Тип файла: rar cycle_2.rar (7.0 Кб, 44 просмотров)

Старый 14.11.2008, 20:26
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 6  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Цитата:
…а какой подход ты бы посоветовал?
ООП конечно (: А элементы все в массиве хранить для удобства.
__________________
while(1) {}

Старый 17.11.2008, 00:02
INK• вне форума Посмотреть профиль Отправить личное сообщение для INK• Посетить домашнюю страницу INK• Найти все сообщения от INK•
  № 7  
Ответить с цитированием
INK•
 
Аватар для INK•

Регистрация: Nov 2001
Сообщений: 105
Отправить сообщение для INK• с помощью ICQ
Код AS1/AS2:
myonPress = function (id:Number) {
	_root['btn'+id] = true;  <--- добавить
Код AS1/AS2:
_root['btn'+Number(this._name.substr(-1))] = true; <---- убрать ниже из цикла
Добавлено через 26 минут
Да кстати. Хочу передать привет поясню что делает substr
substr имеет 2 параметра и возвращает новую строку
substr(начиная_С, длинной_В)

если начиная_С = -1 (или минус сколько то) то это значит, что надо смотреть с конца строки и взять оттуда 1 букво.
если бы было -2 то взять две буквы с конца соотвецтвенно.

тоесть

у тебя мувики именуются
q1
q2
q3
....
q10
так вот -1 с конца q1 = это у нас "1", с конца q2 это "2"... ну а с конца q10 это "0"

так вот. что бы работали твои махинации с именами мувиков, то скорей всего правельнее бы брать с первого (тоесть с начала смотреть) до this._name.length

Код AS1/AS2:
this._name.substr(1,this._name.length )
где то так.

Старый 17.11.2008, 00:51
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Да все что нужно это убрать минус. substr прекрасно обходится только стартовым индексом, считывая строку до конца.
И еще неплохо бы перестать гонять ID из строки в число и обратно. Вам нужна строка, она и так везде строка, зачем Вы ее в число-то переводите и потом обратно)))))
__________________
Reality.getBounds(this);

Старый 17.11.2008, 10:36
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 9  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Да все что нужно это убрать минус.
Изначально так и сделал, но не думал что это буде правильным, поэтому засомневался.
Переделал все несколько иначе.
Вот, посмотрите.
Вложения
Тип файла: rar cycle_3.rar (5.7 Кб, 46 просмотров)


Последний раз редактировалось KiL33; 17.11.2008 в 10:39.
Старый 18.11.2008, 12:34
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 10  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
А не проще ли было написать вот так
Код AS1/AS2:
ID=this.id
нежели так
Код AS1/AS2:
ID = Number(this._name.substr(1));
?

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

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

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


 


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


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