Просмотр полной версии : Нужно срочно сделать перетаскивание муфика по экрану...
p.kiev.ua
08.06.2007, 15:14
ПОМОГИТЕЕЕЕ! Я новичек и нужно срочно сделать перетаскивание муфика по экрану... В ActionScript 2.0 я знаю как делается а в мне нужно именно в ActionScript 3.0 ... Какойто умник в нем все совсем переделал что и даже кнопка не так создается ..ааааа.. аодскажите что куда прописовать чтоб я мог перетаскивать например квадрат по екрану...
спасибо большое!:umnik2: :umnik2: :umnik2:
__etc: Убавил количество истеричных восклицательных знаков с 25 до двух.
p.kiev.ua
08.06.2007, 15:37
on (press)
{
startDrag("/hair2", false);
}
on (release, releaseOutside)
{
stopDrag();
}
НЕ РАБОТАЕТ В ActionScript 3.0 ПОМОГИТЕ!
BlooDHounD
08.06.2007, 17:11
http://www.flasher.ru/forum/showthread.php?t=72041
p.kiev.ua
08.06.2007, 17:48
Очень смишно.... ничего там про то что я спрашивал нету :(
p.kiev.ua, отредактируйте свой пост и оформите код тегами .
ищем в встроенном help по ключ слову startDrag (как и в AS 2.0)
получаем след. код
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent):void
{
circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent):void
{
circle.stopDrag();
trace(circle.dropTarget.name);
}
p.kiev.ua
10.06.2007, 15:50
ищем в встроенном help по ключ слову startDrag (как и в AS 2.0)
получаем след. код
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent):void
{
circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent):void
{
circle.stopDrag();
trace(circle.dropTarget.name);
}
спасибо большое, но не понятно к какой кнопке оно привязуется? я вставил этот код в кадр и создал кнопку - квадрат ... но этот квадрат я же должен както обозвать чтоб именно этот квадрат двигался...
в годе ненашел привязку к квадрату... помогите... я наверное чего-то непонимаю... у меня не работает!
ищем в встроенном help по ключ слову startDrag (как и в AS 2.0)
получаем след. код
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent):void
{
circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent):void
{
circle.stopDrag();
trace(circle.dropTarget.name);
}
кстате в хелпе я покопался и нашел такой код:
// This code creates a drag-and-drop interaction using the mouse-following
// technique.
// circle and square are DisplayObjects (e.g. MovieClip or Sprite
// instances).
import flash.display.DisplayObject;
import flash.events.MouseEvent;
var offsetX:Number;
var offsetY:Number;
var draggedObject:DisplayObject;
// This function is called when the mouse button is pressed.
function startDragging(event:MouseEvent):void
{
// remember which object is being dragged
draggedObject = DisplayObject(event.target);
// Record the difference (offset) between where the cursor was when
// the mouse button was pressed and the x, y coordinate of the
// dragged object when the mouse button was pressed.
offsetX = event.stageX - draggedObject.x;
offsetY = event.stageY - draggedObject.y;
// move the selected object to the top of the display list
stage.addChild(draggedObject);
// Tell Flash Player to start listening for the mouseMove event.
stage.addEventListener(MouseEvent.MOUSE_MOVE, dragObject);
}
// This function is called when the mouse button is released.
function stopDragging(event:MouseEvent):void
{
// Tell Flash Player to stop listening for the mouseMove event.
stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragObject);
}
// This function is called every time the mouse moves,
// as long as the mouse button is pressed down.
function dragObject(event:MouseEvent):void
{
// Move the dragged object to the location of the cursor, maintaining
// the offset between the cursor's location and the location
// of the dragged object.
draggedObject.x = event.stageX - offsetX;
draggedObject.y = event.stageY - offsetY;
// Instruct Flash Player to refresh the screen after this event.
event.updateAfterEvent();
}
square.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
square.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
он работает, но думаю там много лишнего ... может подскажешь что убрать из него?
p.kiev.ua получает плюс за игнорирование замечания модератора.
p.kiev.ua
10.06.2007, 19:15
p.kiev.ua получает плюс за игнорирование замечания модератора
что это? что мне нужно сделать?
Нужно было посмотреть пост №5 и сделать необходимое. Сейчас уже поздно, конечно.
p.kiev.ua
10.06.2007, 20:00
Нужно было посмотреть пост №5 и сделать необходимое. Сейчас уже поздно, конечно.
я первый раз общаюсь в форуме -никогда этим не увлекался так как небыло времени на это... много работы.... поэтому те вещм которые для вас кажутся понятными - я не понимаю... прошу извинить
Я не написал ничего непонятного. Может мне ещё написать, что такое «форумные теги»?
p.kiev.ua
10.06.2007, 20:32
p.kiev.ua, отредактируйте свой пост и оформите код тегами .
Да не понятно это... зачем оформлять код тегами? и как это делается? Я не понимаю...
Оформлять нужно для того, чтобы легко было читать. Как это делается, по-моему, совершенно ясно из поста. Если непонятно, объясняю:
<тут код>
p.kiev.ua
10.06.2007, 20:40
я все понял - спасибо .... не злитесь - я чесно не со зла...
в моем коде название экземплыра кнопки = circle,
т.е в PropertyInspector в InstanceName вводим circle, и все работает
import flash.events.MouseEvent;//2Vvk80 при всём уважении незабываем о мелочах =)
function startDragging(event:MouseEvent):void
{
mc.startDrag();
}
function stopDragging(event:MouseEvent):void
{
mc.stopDrag();
}
mc.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
mc.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
P.S. На моей памяти пару лет назад коды тегами неоформляли и никто при этом незлился :rolleyes:
Исходник (http://flasher.ru/forum/attachment.php?attachmentid=16226&d=1168776586)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.