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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Dec 2016
Сообщений: 35
По умолчанию Управление мовиклипом как целым

Всем привет
Помогите
Создал я Мувиклип из нескольких мовиклипов
Назвал я его D2.
Создал небольшой проект по его управлению.
Когда я запускаю проект, то я не могу двигать D2 как целым.
Получается двигать только по частям.
Не могу понять в чем моя ошибка?
С уважением
Александр

Код AS3:
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
import flash.events.Event;
//import flash.ui.Mouse;
//import fl.controls.DataGrid;
//import fl.controls.Button;
 
var i,k:int;
var Kol_Dachikov=1;
var Zvz:DisplayObject;
var arr:Array = new Array();
var DvMouse:int=0;
var NDatch:int=0;
var str1:String;
 
stage.addEventListener(MouseEvent.MOUSE_DOWN, DvigStart);
stage.addEventListener(MouseEvent.MOUSE_UP, DvigStop);
 
function DvigStart(e:MouseEvent){
	DvMouse=1;	
	if((e.target.name!=null))
		(e.target as MovieClip).startDrag();	
}
 
function DvigStop (e:MouseEvent){
	DvMouse=0;	
		{(e.target as MovieClip).stopDrag();}
}
Вложения
Тип файла: zip proba1.zip (661.0 Кб, 14 просмотров)

Старый 09.10.2017, 16:39
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 2  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
а имя мувиклипу назначено?

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Уберите имя у частей, и дайте имя целому.
__________________
There is no thing in this world that is not simple.

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

Регистрация: Oct 2006
Сообщений: 2,281
и еще mouseChildren мувиклипу надо в false выставить

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Не обязательно, у него перетаскиваются только те, которые имеют имя.
__________________
There is no thing in this world that is not simple.

Старый 09.10.2017, 17:23
anda30 вне форума Посмотреть профиль Отправить личное сообщение для anda30 Найти все сообщения от anda30
  № 6  
Ответить с цитированием
anda30

Регистрация: Dec 2016
Сообщений: 35
Всем спасибо за оперативность
Буду пробовать

Старый 09.10.2017, 17:44
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 7  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
Сообщение от ZackMercury Посмотреть сообщение
Не обязательно, у него перетаскиваются только те, которые имеют имя.
Потяни за красный квадрат
test.swf   (21.5 Кб)


Код AS3:
private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			container = new Sprite();
			container.graphics.beginFill(0x0FF00, 1);
			container.graphics.drawRect(0, 0, 100, 100);
			container.name = "cont";
			var sp:Sprite = new Sprite();
			sp.graphics.beginFill(0xFF0000, 1);
			sp.graphics.drawRect(0, 0, 50, 50);
			container.alpha = 0.5;
			container.addChild(sp);
			addChild(container);
			//container.mouseChildren = false;
			stage.addEventListener(MouseEvent.MOUSE_DOWN, onMD);
			stage.addEventListener(MouseEvent.MOUSE_UP, onMU);
		}
		private function onMD(e:MouseEvent):void 
		{
			if (e.target.name!=null)
				e.target.startDrag();
		}
		private function onMU(e:MouseEvent):void 
		{
			e.target.stopDrag();
		}
Вложения
Тип файла: swf test.swf (21.5 Кб, 69 просмотров)

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
А, точно, им же при отсутствии присваиваются номера)
__________________
There is no thing in this world that is not simple.

Старый 10.10.2017, 11:33
anda30 вне форума Посмотреть профиль Отправить личное сообщение для anda30 Найти все сообщения от anda30
  № 9  
Ответить с цитированием
anda30

Регистрация: Dec 2016
Сообщений: 35
Еще раз всем спасибо.
Но у меня следующая задача
Я должен двигать этим мувиклипом как целым.
И этот мувиклип состоит из компонентов типа: "ComboBox", которым я должен управлять
Поэтому имена я должен присваивать
С уважением

Старый 10.10.2017, 12:02
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
проще всего не слушать все события стейджа, а слушать все события твоего мувиклипа:
Код AS3:
//container - твой мувиклип
...
container.addEventListener(MouseEvent.MOUSE_DOWN, onMD);
container.addEventListener(MouseEvent.MOUSE_UP, onMU);
function onMD(e:MouseEvent):void {
	container.startDrag();
}
function onMU(e:MouseEvent):void {
	container.stopDrag();
}

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

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

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


 


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


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