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

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

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

Регистрация: Sep 2011
Сообщений: 366
По умолчанию Почему не могу обратиться к элементу через e.target

Почему не могу обратиться к элементу через e.target
Код AS3:
import flash.display.MovieClip;
 
 
var mc:MovieClip = new MovieClip;
mc.mouseChildren=false;
var krug:s = new s;
var kvadr:k = new k;
krug.y = 100;
krug.x = 100;
mc.addChild(krug);
mc.addChild(kvadr);
addChild(mc);
mc.addEventListener(MouseEvent.CLICK,cli);
function cli (e:MouseEvent){
	e.target.krug.x=300;
 
	}

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
(e.currentTarget as MovieClip).krug.x = 300
__________________
Марк Tween

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Потому что у mc нету свойства krug.

Старый 21.10.2013, 21:03
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 4  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
(e.currentTarget as MovieClip).krug.x = 300 - не работает
как надо написать?

Добавлено через 46 секунд
Код AS3:
function cli (e:MouseEvent){
	(e.currentTarget as MovieClip).krug.x=300;
 
	}

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
getChildAt(), getChildByName().

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
e.currentTarget.krug.x = 300 100% должно работать. С приведением к мувиклипу это я погорячился , да.
__________________
Марк Tween

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

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

Старый 21.10.2013, 21:27
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 8  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
всмысле не должно?
это чтоли невозможно реализовать?

Старый 21.10.2013, 21:41
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 9  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
Вам нужно первым делом задать имя кругу.
Код AS3:
circle.name = 'circle';
Потом в обработчике событий -
Код AS3:
mc.getChildByName('circle').x = 300;
Добавлено через 1 минуту
А так получается, что Вы кликнули по квадрату, в обработчике событий под event.target вылазиет квадрат, у которого нет свойства круг.
Или сделайте обьявите mc на уровне класса и в обработчике уже через него
Код AS3:
_mc.circle += 50;

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Оно не должно работать.
Вообще то это скомпилится. e.currentTarget есть Object , соотсвесвенно динамический тип, значит у него есть...
ах понял наконец то... тут же разговор идет не про библиотечный клип... В котором вложены мувики с именами krug. Затупил действительно. Тогда только как советают выше. Вообще локальные переменные зло, сделали бы полями класса и все ок было бы обращались бы напрямую.
__________________
Марк Tween

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

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

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


 


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


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