PDA

Просмотр полной версии : Нужно срочно сделать перетаскивание муфика по экрану...


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
Очень смишно.... ничего там про то что я спрашивал нету :(

etc
09.06.2007, 00:45
p.kiev.ua, отредактируйте свой пост и оформите код тегами .

vvk80
09.06.2007, 14:16
ищем в встроенном 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);



он работает, но думаю там много лишнего ... может подскажешь что убрать из него?

etc
10.06.2007, 17:33
p.kiev.ua получает плюс за игнорирование замечания модератора.

p.kiev.ua
10.06.2007, 19:15
p.kiev.ua получает плюс за игнорирование замечания модератора

что это? что мне нужно сделать?

etc
10.06.2007, 19:26
Нужно было посмотреть пост №5 и сделать необходимое. Сейчас уже поздно, конечно.

p.kiev.ua
10.06.2007, 20:00
Нужно было посмотреть пост №5 и сделать необходимое. Сейчас уже поздно, конечно.

я первый раз общаюсь в форуме -никогда этим не увлекался так как небыло времени на это... много работы.... поэтому те вещм которые для вас кажутся понятными - я не понимаю... прошу извинить

etc
10.06.2007, 20:27
Я не написал ничего непонятного. Может мне ещё написать, что такое «форумные теги»?

p.kiev.ua
10.06.2007, 20:32
p.kiev.ua, отредактируйте свой пост и оформите код тегами .

Да не понятно это... зачем оформлять код тегами? и как это делается? Я не понимаю...

etc
10.06.2007, 20:35
Оформлять нужно для того, чтобы легко было читать. Как это делается, по-моему, совершенно ясно из поста. Если непонятно, объясняю:
<тут код>

p.kiev.ua
10.06.2007, 20:40
я все понял - спасибо .... не злитесь - я чесно не со зла...

vvk80
13.06.2007, 18:12
в моем коде название экземплыра кнопки = circle,
т.е в PropertyInspector в InstanceName вводим circle, и все работает

D12
13.06.2007, 22:24
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:

BigDan
13.06.2007, 22:34
Исходник (http://flasher.ru/forum/attachment.php?attachmentid=16226&d=1168776586)