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

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

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

Регистрация: Aug 2007
Сообщений: 4
По умолчанию Не работает цикл

Здравствуйте! Я знаком с action script сравнительно недавно, так что сильно не пинайте
Проблема в следующем: срабатывает только
Код:
i=1
, т.е. вот здесь получается
Код:
_root.scroll.img1.onEnterFrame = function () {
, ну и если
Код:
i=2
, соотвественно там 2 и т.д.

Код:
for(i=1;i<=7;i++){	
	_root.scroll["img"+i].onEnterFrame = function () {		
	  if(this.hitTest(_xmouse, _ymouse)==true) {
	  status.text="true";
  } else { status.text="false"; };
  }
}
Помогите, пожалуйста! Заранее, благодарю!

Старый 03.08.2007, 04:17
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
во первых scroll и status явл. зарезервированными словами
во вторых, у тебя я так понял текстовое поле одно на всех, и получается, что в него пытается одновременно записаться 7 результатов.

Старый 03.08.2007, 04:24
VareNick вне форума Посмотреть профиль Отправить личное сообщение для VareNick Найти все сообщения от VareNick
  № 3  
Ответить с цитированием
VareNick

Регистрация: Aug 2007
Сообщений: 4
Изменил на scrolls и на statuss соответственно, не помогло, а причем тут поле вывода? переменная i туда не выводится.

Старый 03.08.2007, 04:36
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код:
for (var i = 0; i<=7; i++) {
	_root.scrolls["img"+i].onEnterFrame = function() {
		if (this.hitTest(_xmouse, _ymouse) == true) {
			status.text = this;
		} else {
			//status[i].text = "false";
		}
	};
}

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

Регистрация: Aug 2007
Сообщений: 4
Ну также срабатывает когда подвожу мышку к img1, а дальше уже не срабатывает, тем что вы изменили строчку
Код:
status.text=this
теперь он просто выводит где лежит этот мувик относительно корня.

Старый 04.08.2007, 00:14
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
в цикле ты прописываешь в onEnterFrame семи мувиков функцию проверки "находится над мувиком мышь или нет".
каждый кадр у тебя выполняется проверка этого условия для СЕМИ мувиков и все семь функций записывают результат в одно и то же текстовое поле. Функция одного мувика записывает туда true, все остальные false, функция чьего мувика срабатывает последняя, то и отображается у тебя в поле.

Старый 04.08.2007, 00:31
VareNick вне форума Посмотреть профиль Отправить личное сообщение для VareNick Найти все сообщения от VareNick
  № 7  
Ответить с цитированием
VareNick

Регистрация: Aug 2007
Сообщений: 4
А как сделать для каждого? Не подскажите?

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
сделай семь текстовых полей для каждого в отдельности

Старый 04.08.2007, 01:38
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 9  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Код:
for(i=1;i<=7;i++){	
	_root.scroll["img"+i].onEnterFrame = function () {		
	  if(this.hitTest(_xmouse, _ymouse)==true) {
	  status.text="true";
  } else { status.text="false"; };
  }
}
Увы и ах, но в ActionScript у циклов и прочих конструкций кроме "if" не может быть блока "else" как это например может быть в Python или Ruby.

Так же i нужно объявлять

Код:
for(var i:Number = 0; i <= 7 ; i ++)
А вообще это бред вешать столько onEnterFrame'ов
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 04.08.2007, 03:10
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
to Nirth
Цитата:
Увы и ах, но в ActionScript у циклов и прочих конструкций кроме "if" не может быть блока "else" как это например может быть в Python или Ruby.
в данном примене else относится к if, у него просто код неотформатирован.
Цитата:
А вообще это бред вешать столько onEnterFrame'ов
полностью с тобой согласен

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

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

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


 


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


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