123
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 2«12
Модератор форума: pashteet, Dimsan, nightmare 
Форум » Свободное общение » Болтаем очем хотим » Сборка ПК [Курсовая] - Flash 8 (*icon-0*)
Сборка ПК [Курсовая] - Flash 8
Отправлено 16.02.2014 - 01:1416
Начальная группа
211 сообщений
Мужчина
Создайте на сцене два объекта, допустим два прямоугольника. Объект 1 (который будете двигать) расположите на верхнем слое. Объект 2 на нижнем слое. Создайте третий пустой слой для экшен-скрипта и расположите его над всеми слоями. Преобразуйте объекты в мувиклипы с точкой привязки в центре. В полях инстанс нейм (instance name) там где свойства мувиклипа установите имена для объекта1 kub_mc, а для объекта2 имя trush_mc.
Далее, на верхний пустой слой копируйте код as3, который приведён ниже (на as2 я больше не пишу так как он скоро не будет поддерживаться):

kub_mc.addEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag);

function ClickToDrag(event:MouseEvent):void
{
kub_mc.startDrag();
}

stage.addEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop);

function ReleaseToDrop(event:MouseEvent):void
{
kub_mc.stopDrag();
if (kub_mc.hitTestObject(trush_mc))
{
kub_mc.rotation+=90;
kub_mc.x=trush_mc.x
kub_mc.y=trush_mc.y
kub_mc.removeEventListener(MouseEvent.MOUSE_DOWN, ClickToDrag);
stage.removeEventListener(MouseEvent.MOUSE_UP, ReleaseToDrop);
}
}

Перемещайте мышью объект 1 на объект 2. Смотрите скомпилированный код в работе:


Профиль Личное сообщение Дом. страница icq Skype
50
Отправлено 26.05.2014 - 06:0317
Начальная группа
3 сообщений
Женщина
stop();

kryg.onPress = function() {

this.startDrag();

_root.checkHit_int = setInterval(_root.checkHit_func, 12);
};
kryg.onRelease = kryg.onReleaseOutside=function () {

this.stopDrag();

clearInterval(_root.checkHit_int);
};

kvadrat.onPress = function() {

this.startDrag();

_root.checkHit_int = setInterval(_root.checkHit_func, 12);
};
kvadrat.onRelease = kryg.onReleaseOutside=function () {
kvadrat
this.stopDrag();

clearInterval(_root.checkHit_int);
};

function checkHit_func() {

if (_root. kryg.hitTest (_root. kvadrat) and _root. kryg1.hitTest (_root. kvadrat1)) {

_root.gotoAndStop(2);
}
}

Выдаёт ошибки:Монтажный кадр 1, слой "Слой 3", кадр 1, строка 33, столбец 42 1084: Синтаксическая ошибка: rightparen перед and.
Монтажный кадр 1, слой "Слой 3", кадр 1, строка 33, столбец 84 1084: Синтаксическая ошибка: identifier перед rightparen.
Монтажный кадр 1, слой "Слой 3", кадр 1, строка 33, столбец 86 1008: Недопустимый атрибут.


Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 30.05.2014 - 01:1618
Начальная группа
211 сообщений
Мужчина
Для чего такой запутанный код, с совершенно лишними строками ? Возможно, ошибки появляются при создании файла, нужно выбирать actionScript 2.0.
Код я проверил, он работает и ошибок не выдаёт. Только нужно создать два слоя: верхний для кода приведённого здесь, на нижнем разместите круг и квадрат. Затем на верхний слой добавляйте просто кадр, а на нижний пустой ключевой кадр. Тогда при совмещении круга и квадрата, они пропадут, потому что осуществиться переход на второй кадр, где их нет.
Вот эту строку необходимо исправитьif (_root. kryg.hitTest (_root. kvadrat) and _root. kryg1.hitTest (_root. kvadrat1)) {
Поставьте вместо неё, вот это if (_root.kryg.hitTest(_root.kvadrat) ) { и всё будет работать, см.далее:

http://www.servodroid.ru/Droid/CityRobots/DragAS2.swf


Профиль Личное сообщение Дом. страница icq Skype
50
Форум » Свободное общение » Болтаем очем хотим » Сборка ПК [Курсовая] - Flash 8 (*icon-0*)
Страница 2 из 2«12
Поиск: