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

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

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

Регистрация: Jan 2010
Сообщений: 25
По умолчанию сотрировка клипов на сцене

Есть МувиКлипы созданные дuномически друг под другом (высото 100px и отступ между ними 10 px)с кнопкой Закрыть каждый.
Клип1
Клип2
клип3
клип4
на кнопку закрыть удаляю выбраный клип(к примеру 2) (removeChild(Клип2) )
на сцене остаються пустое место .. как мне поднять все остальные клипы что-бы были друг по другом ?

Старый 01.05.2010, 19:30
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 2  
Ответить с цитированием
Crenth
[+1 19.06.10]
[+1 27.07.10]
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
дайте код, которым создаете мувики
__________________
Trapatatupatupa

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

Регистрация: Jan 2010
Сообщений: 25
Код AS3:
creat.addEventListener(MouseEvent.CLICK, creat_f);
var kol:int=5;
 
var MyclipArray:Array = new Array();
 
	function creat_f(event:Event):void
	{
			for (var i:Number =0; i<kol; i++) {
				MyclipArray[i] = new Myclip;
				addChild(MyclipArray[i]);
				MyclipArray[i].y=100*i;
				MyclipArray[i].name = i;	
MyclipArray[i].close.addEventListener(MouseEvent.CLICK,del);			
			}
	}
function del(e:Event){
	removeChild(MyclipArray[e.target.parent.name]);
}

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

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
не проверял, но должно работать.

Код AS3:
creat.addEventListener(MouseEvent.CLICK, creat_f);
var kol:int=5;
 
var MyclipArray:Array = new Array();
 
function creat_f(event:Event):void
{
	for (var i:int=0; i<kol; i++) {
		MyclipArray[i] = new Myclip;
		addChild(MyclipArray[i]);
		MyclipArray[i].y=100*i;
		MyclipArray[i].name = i;	
		MyclipArray[i].close.addEventListener(MouseEvent.CLICK,del);			
	}
}
function del(e:Event){
	removeChild(MyclipArray[int(e.target.parent.name)]);
	refreshMyclip(int(e.target.parent.name));
}
 
function refreshMyclip(itemIndex) {
	MyclipArray.splice(itemIndex, 1);
	if (kol>1) { 
		kol--;
		for (var i:int=0; i<kol; i++) {
			MyclipArray[i].name = i;	
			MyclipArray[i].y=100*i;
		}	
	}
}


Последний раз редактировалось mikhailk; 01.05.2010 в 23:23.
Старый 01.05.2010, 22:55
Ckazkatmn вне форума Посмотреть профиль Отправить личное сообщение для Ckazkatmn Найти все сообщения от Ckazkatmn
  № 5  
Ответить с цитированием
Ckazkatmn

Регистрация: Jan 2010
Сообщений: 25
Так ни чего и не получается...
Задача состоит чтобы создать Мувиклипы с дополнительными параметрами(свойствами) типа String и кнопкой закрыть , разместить их в колонку друг под другом, при нажатие на кнопку "закрыть" удалялся этот Мувиклип, а все остальные Мувиклипы под ним если есть поднимались выше ..

Таким макаром создаю...
Код AS3:
  var MyclipArray:Array = new Array;
	function creat_f1(id:int,Param1:String,Param2:String):void
	{
		var nom:int = MyclipArray.length;
		MyclipArray.push(new Myclip());
		MyclipArray[nom].id = nom; //???????????
		MyclipArray[nom].param1 = Param1;
		MyclipArray[nom].y = 100*nom;
		addChild(MyclipArray[nom]);
	    MyclipArray[nom].close.addEventListener(MouseEvent.CLICK,del);
 
	}
УДаляю
Код AS3:
function del(event:Event){
	var i:int = Myclip(event.target.parent).id;
	trace("Обработка кнопки удалить my id "+i);
//	trace("Обработка кнопки удалить " + MyclipArray[i].param1);
//	trace(event.target.name);
	removeChild(MyclipArray[event.target.parent.id]);
	refreshMyclip(int(event.target.parent.id));
}
и сортирую по методу mikhailk и после этого меняються индексы массива куча проблем ...


Последний раз редактировалось Ckazkatmn; 02.05.2010 в 03:56.
Старый 02.05.2010, 10:56
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 6  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Код AS3:
var MyclipArray:Array = new Array;
function creat_f1(id:int,Param1:String,Param2:String):void
{
	var nom:int = MyclipArray.length;
	MyclipArray.push(new Myclip());
	MyclipArray[nom].param1 = Param1;
	MyclipArray[nom].y = 100*nom;
	addChild(MyclipArray[nom]);
             MyclipArray[nom].close.addEventListener(MouseEvent.CLICK,del);
}
 
function del(event:Event){
	var i:uint=MyclipArray.indexOf(event.target.parent);
             removeChild(MyclipArray[i]);
	for(var j:uint=i+1; i<MyclipArray.length; i++){
                     MyclipArray[j].y-=100;
                     MyclipArray[j-1]=MyclipArray[j];
             }
             MyclipArray.length--;
}


Последний раз редактировалось incvizitor; 02.05.2010 в 10:59.
Старый 02.05.2010, 18:03
Ckazkatmn вне форума Посмотреть профиль Отправить личное сообщение для Ckazkatmn Найти все сообщения от Ckazkatmn
  № 7  
Ответить с цитированием
Ckazkatmn

Регистрация: Jan 2010
Сообщений: 25
решил проблему ...
при создание мувиклипа указал свойство name
Код AS3:
function del(event:Event){
	var i:uint=MyclipArray.indexOf(event.target.parent);
	var g:String = event.target.parent.name;
 
	trace("Имя удаляемого обьекта "+g);
	trace("Индекс "+i);
			removeChild(getChildByName(g));
			MyclipArray.splice(i, 1);
	for(var j:int=0; j<MyclipArray.length; j++){			
	MyclipArray[j].y =100*j;
	}
Добавлено через 8 часов 0 минут
Подскажите как удалить мувиклип...
(circle типа мувиклип) в нем (panelka типа Scrollbar)
Код AS3:
	var Box:Sprite = new Sprite;
           MyclipArray.push(new Myclip());
           MyclipArray[nom].name = id;
	Box.addChild(MyclipArray[nom]);
	MyclipArray[nom].close.addEventListener(MouseEvent.CLICK,del);
           circle.panelka.source=Box;
 
function del(event:Event){
	var g:String = event.target.parent.name;//Имя определяет верно 
//	circle.panelka.Box.removeChild(getChildByName(g)); //Не удаляет
	circle.panelka.Box.removeChild(event.target.parent); //и так не удаляет 
//	circle.panelka.removeChild(event.target.parent); //и так не удаляет 
}
Попутно второй вопрос: На мувик circle стоит обработчик start и stopDrap(перетаскивание).как сделать что бы перетаскивание происходило именно при нажатие на сам мувик circle, а на остальные клипы внутри него отключить ?

Добавлено через 19 часов 34 минуты
Ну что ни кто не поможет с проблемой из предыдущего поста?


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

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

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


 


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


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