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

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

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

Регистрация: Feb 2015
Сообщений: 4
По умолчанию Условие на нажатие кнопки

Всем доброго дня суток.
Вообщем, перейду сразу к сабжу.
У меня есть две кнопки. Хотел сделать по такому принципу, на первых кадрах загружаю первую кнопку, а спустя пару кадров вторую. Трабла заключается в том, что когда я вызываю/нажимаю на первую кнопку ВТОРАЯ кнопка которая ещё не создана удаляется и ругается, мол ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта.

Помогите пожалуйста составить проверку на вызывание той или иной кнопки!

Код AS 3.0

Код AS3:
function ShowMenu(event:MouseEvent):void // ПЕРВАЯ КНОПКА btn_nextalgoritm - это и есть вторая кнопка
{
    removeChild(btn_nextalgoritm);
    gotoAndStop(1);
    // Navigation Menu: Algoritm, Type, Operators, Cycle
    addChild(btn_algoritm); // Основы Алгоритмизации
    btn_algoritm.x=160;
    btn_algoritm.y=35;
}
stop();
 
function ShowNextAlgoritm(event:MouseEvent):void // ВТОРАЯ КНОПКА
{
    gotoAndStop(7);
}
stop();
Добавлено через 2 часа 14 минут
Сделал тестовую команду. Всё равно выдаёт ошибку

Код AS3:
function ShowT1(event:MouseEvent):void
{
	if (wasClicked == true)
	{
		wasClicked = false;
  		trace('Создал);
		addChild(btn_t2);
		btn_t2.x=270;
		btn_t2.y=5;
	}
	else
	{
		wasClicked = true;
  		trace('Удалил);
		removeChild(btn_t2);
	}
}
Помогите пожалуйста!)


Последний раз редактировалось Rishat1c; 21.05.2015 в 19:40.
Старый 21.05.2015, 21:13
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Судя по тексту ошибки, вы пытаетесь удалить из родителя то, чего в нем нет. Подумайте об этом.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Может так)
if(btn_t2 != null) removeChild(btn_t2)

Старый 22.05.2015, 20:53
Rishat1c вне форума Посмотреть профиль Отправить личное сообщение для Rishat1c Найти все сообщения от Rishat1c
  № 4  
Ответить с цитированием
Rishat1c

Регистрация: Feb 2015
Сообщений: 4
Цитата:
Сообщение от KiL33 Посмотреть сообщение
Может так)
if(btn_t2 != null) removeChild(btn_t2)
Увы, не помогло) Та же ошибка
Код AS3:
ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта.
dimarik, я хочу вставить проверку на наличие кнопки. Если она есть в 1-ом кадре, то удалять

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
KiL33, не так.
Скорее так:

Код AS3:
if(contains(btn_t2)) removeChild(btn_t2);
__________________
There is no thing in this world that is not simple.

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
contains хитрая функция
я бы parent проверял
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 22.05.2015, 23:29
Rishat1c вне форума Посмотреть профиль Отправить личное сообщение для Rishat1c Найти все сообщения от Rishat1c
  № 7  
Ответить с цитированием
Rishat1c

Регистрация: Feb 2015
Сообщений: 4
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
KiL33, не так.
Скорее так:

Код AS3:
if(contains(btn_t2)) removeChild(btn_t2);
Ошибки нету, но почему то не срабатывает всё равно :с
Containts - это что?

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Если вы хотите удалить её сразу как она добавится - допишите ещё вот так
Код AS3:
btn_t2.addEventListener(Event.ADDED_TO_STAGE, function(e:Event){ removeChild(e.currentTarget as DisplayObject); });
(Правда фокус в том, что я не знаю, как потом удалить обработчик-анонимку, поэтому или оставить так и потом он не даст добавить больше эту кнопку, если пойдёт, или вариант ниже)

Код AS3:
btn_t2.addEventListener(Event.ADDED_TO_STAGE, remove);
function remove(e:Event):void
{
removeChild(e.currentTarget as DisplayObject);
(e.currentTarget as EventDispatcher).removeEventListener(Event.ADDED_TO_STAGE, remove);
}
Добавлено через 2 минуты
Цитата:
Containts - это что?
contains - это метод, наследуемый от DisplayObjectContainer, такой же, как и addChild, removeChild, он проверяет, находится ли объект в дисплейлисте текущего экземпляра, у которого был вызван или его потомков.
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 22.05.2015 в 23:59.
Старый 23.05.2015, 00:42
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 9  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
про contains:
Цитата:
contains()метод
Код AS3:
public function contains(child:DisplayObject):Boolean
Определяет, является ли указанный объект отображения дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром. Область поиска охватывает весь список отображения, включая данный экземпляр DisplayObjectContainer. Нижестоящие элементы второго, третьего и последующих уровней возвращают значение true.
...
__________________
местонахождение

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Код AS3:
if (btn_t2.parent) {
    btn_t2.parent.removeChild(btn_t2);
}

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

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

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


 


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


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