Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нужно срочно сделать перетаскивание муфика по экрану... (http://www.flasher.ru/forum/showthread.php?t=96849)

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, отредактируйте свой пост и оформите код тегами [code][/code].

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

Цитата:

Сообщение от vvk80
ищем в встроенном 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);
}


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

в годе ненашел привязку к квадрату... помогите... я наверное чего-то непонимаю... у меня не работает!

Цитата:

Сообщение от vvk80
ищем в встроенном 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 и сделать необходимое. Сейчас уже поздно, конечно.


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

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