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

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

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

Регистрация: Dec 2010
Сообщений: 121
По умолчанию Передача данных

Помогите, пожалуйста, исправить код!
Есть два swf-файла. Действия из второго swf передаются в первый swf. То есть, я открываю оба файла, и начинаю перетаскивать квадрат во втором swf, а два других в первом swf перемещается синхронно с тем, который я перетаскиваю. Но есть проблема. Как только я начинаю перетаскивание, то два квадрата из первого swf принимают начальные координаты того, который я таскаю во втором swf. Как сделать так, чтобы квадраты в первом swf НЕ принимали начальные координаты перетаскиваемого квадрата?

Код второго swf-файла:
Код AS3:
var lc:LocalConnection = new LocalConnection();
 
addEventListener(MouseEvent.MOUSE_DOWN, mDown);
function mDown(event:MouseEvent):void
{
    mc.startDrag(true, new Rectangle(0,0,550,400));
    addEventListener(MouseEvent.MOUSE_MOVE, mMove);
}
addEventListener(MouseEvent.MOUSE_UP, mUp);
 
function mUp(event:MouseEvent):void
{
    mc.stopDrag();
    removeEventListener(MouseEvent.MOUSE_MOVE, mMove);
}
 
function mMove(event:MouseEvent):void
{
    lc.send("myconnection", "go", mc.x, mc.y);
}
Код первого swf-файла:
Код AS3:
var lc:LocalConnection = new LocalConnection();
 
lc.client = this;
 
lc.connect("myconnection");
 
function go(newX:uint,newY:uint)
{
 
    mc1.x = newX;
    mc1.y = newY;
    mc2.x = newX;
    mc2.y = newY;
}
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!


Последний раз редактировалось Comer; 27.03.2018 в 16:23.
Старый 27.03.2018, 17:32
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
var lc:LocalConnection = new LocalConnection();
var lastX:Number;
var lasY:Number;
 
addEventListener(MouseEvent.MOUSE_DOWN, mDown);
function mDown(event:MouseEvent):void
{
	lastX = mc.x;
	lastY = mc.y;
	mc.startDrag(true, new Rectangle(0,0,550,400));
	addEventListener(MouseEvent.MOUSE_MOVE, mMove);
}
addEventListener(MouseEvent.MOUSE_UP, mUp);
 
function mUp(event:MouseEvent):void
{
	mc.stopDrag();
	removeEventListener(MouseEvent.MOUSE_MOVE, mMove);
}
 
function mMove(event:MouseEvent):void
{
	lc.send("myconnection", "go",  mc.x - lastX,  mc.y - lastY);
	lastX = mc.x;
	lastY = mc.y;
}
Код AS3:
    mc1.x += newX;
    mc1.y += newY;
    mc2.x += newX;
    mc2.y += newY;
как-то так.. если направления не попутал
__________________
Reality.getBounds(this);

Старый 27.03.2018, 17:52
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 3  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от Wolsh Посмотреть сообщение
как-то так.. если направления не попутал
Ошибку исправил, но всё равно не работает. Оба квадрата уходят в левый верхний угол ролика, а когда начинаю перетаскивать , то вообще уходят со сцены.
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
рекомендую воспользоваться trace() для прояснения обстановки
__________________
while(live()) { hope(); }

Старый 27.03.2018, 20:05
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 5  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Я не знаю как им пользоваться. Я ещё только учусь.
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

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

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
а через что вы компилите?
__________________
while(live()) { hope(); }

Старый 27.03.2018, 22:43
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 7  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от ZergMaster Посмотреть сообщение
а через что вы компилите?
Adobe Animate CC
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
рекомендую воспользоваться trace() для прояснения обстановки
Цитата:
Я не знаю как им пользоваться. Я ещё только учусь.
http://uroki-flash-as3.ru/uroki-acti...ionscript.html
__________________
There is no thing in this world that is not simple.

Старый 28.03.2018, 00:02
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
уходят в левый верхний угол
Вы точно исправили mc1.x = newX; на mc1.x += newX ?
И да, в приемнике функции go() надо заменить тип параметров на Number или хотя бы int.
Ведь uint не бывает отрицательным и преобразуется в огромное положительное число ("уходят с экрана").
__________________
Reality.getBounds(this);

Старый 28.03.2018, 06:55
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 10  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Вы точно исправили mc1.x = newX; на mc1.x += newX ?
И да, в приемнике функции go() надо заменить тип параметров на Number или хотя бы int.
Ведь uint не бывает отрицательным и преобразуется в огромное положительное число ("уходят с экрана").
Теперь работает. Спасибо большое!!!
__________________
Учить Flash начал, когда мне стукнуло 50. И не жалею!

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

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

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


 


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


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