Просмотр полной версии : перемещение карты внутри поля
Нужно сделать такой сплит во флеш ролике, внутри которого можно было бы картинку перетаскивать мышкой.
Наподобие карты в играх, когда её для обзора таскаешь мышью, увеличиваешь, уменьшаешь.
Сейчас пока обхожусь тем, что создаю ролик с рамкой и мувиком внутри. Внешний ролик помещаю в кадр, и к мувику написал обработчик перемещения мышью.
Пожалуйста подскажите кто знает:
Как сделать чтобы внутрений обрезался, а не вылазил за границы внешнего?:)
Adobe Flash CS5
маска?
проверка координат?
nOobCrafter
05.01.2011, 03:22
Sprite.startDrag() \ Sprite.stopDrag(); почитайте.
DisplayObject#scrollRect (http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/display/DisplayObject.html#scrollRect)
Спасибо alatar. Это то что нужно.
Вот такой код получился, если кому надо будет.
Тока обработчкики MOUSE_DOWN и MOUSE_UP прописать и все.
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(50, 50, 50);
circle.graphics.moveTo(70,70);
circle.graphics.drawCircle(20, 20, 20);
circle.scrollRect = new Rectangle(0, 0, 200, 200);
addChild(circle);
stage.addEventListener(MouseEvent.MOUSE_MOVE, fl_MouseOverHandler);
function fl_MouseOverHandler(event:MouseEvent):void
{
var rect:Rectangle = circle.scrollRect;
rect.x = -stage.mouseX + 25;
rect.y = -stage.mouseY + 25;
circle.scrollRect = rect;
}
Единственно хотелось бы добиться более плавного перемещения, встроенный объект несколько дерганно перемещается.
Единственно хотелось бы добиться более плавного перемещения
По mouseMove запоминайте координаты. По enterFrame перемещайте до достижения координат. Или используйте какой-нибудь твинер.
Спасибо. Это тоже пригодилось.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.