Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   из loader.content сделать кнопку drag btn (http://www.flasher.ru/forum/showthread.php?t=136790)

zveryuka 25.02.2010 18:18

из loader.content сделать кнопку drag btn
 
Добрый день.
делаю первые шаги в АС3..

После загрузки изображения во флеш, я хочу сделать загруженную картинку кликабельной.

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



Код AS3:

stop();
 
import flash.display.*;
import flash.net.URLRequest;
import flash.events.MouseEvent;
 
 
 
 
var rec:Sprite = new Sprite();
rec.graphics.beginFill(0xFF0000);
rec.graphics.drawRoundRect(300, 200, 200,200,10,10);
rec.graphics.endFill();
addChild(rec);
rec.alpha=100;
 
BasicLoader();
 
function BasicLoader() {
 
        var loader:Loader = new Loader();
        var url:String="адрес"+fileRef.name;
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
        var urlReq:URLRequest=new URLRequest(url);
        loader.load(urlReq);
 
}
function onImageLoaded(event:Event) {
 
        var loader:Loader=Loader(event.target.loader);
        loader.content.mask=rec;
        loader.content.x=300;
        loader.content.y=200;
        // loader.width = 100;
 
        addChild(loader.content);
 
        loader.content.addEventListener(MouseEvent.MOUSE_DOWN, drag);
        loader.content.addEventListener(MouseEvent.MOUSE_UP, noDrag);
}
 
 
function drag(event:MouseEvent):void {
        trace("drag");
}
function noDrag(event:MouseEvent):void {
        trace("noDrag");
}


ipman 25.02.2010 18:58

Код AS3:

                PicLoader.load(new URLRequest(ImagePath+caption2.text));
                PicLoader.x = 85;
                PicLoader.addEventListener(MouseEvent.CLICK, onBtn1);
        function onBtn1(e:MouseEvent):void
        {
                trace ("Клик по картинке");
                }

вот так я сделал загруженную картинку кликабельной... вроде никаких проблем.

zveryuka 25.02.2010 19:48

вот немного переделал свой код, но выбивает ошибку когда пишу
Код AS3:

PicLoader.startDrag();

- чтобы перетягивать именно PicLoader

Каким способом можно реализовать перетягивание PicLoader или изображения что в нем?

Код AS3:

import flash.display.*;
import flash.net.URLRequest;
import flash.events.MouseEvent;
 
 
 
 
var rec:Sprite = new Sprite();
rec.graphics.beginFill(0xFF0000);
rec.graphics.drawRoundRect(300, 200, 200,200,10,10);
rec.graphics.endFill();
addChild(rec);
rec.alpha=100;
 
var PicLoader:Loader = new Loader();
PicLoader.mask=rec;
PicLoader.load(new URLRequest("адрес"+fileRef.name));
                PicLoader.x = 300;
                PicLoader.y = 200;
                addChild(PicLoader);
 
                PicLoader.addEventListener(MouseEvent.MOUSE_DOWN, drag);
                PicLoader.addEventListener(MouseEvent.MOUSE_UP, noDrag);
 
function drag(e:MouseEvent):void {
        PicLoader.startDrag();
 
}
function noDrag(e:MouseEvent):void {
        PicLoader.stopDrag();
}

Добавлено через 19 часов 14 минут
Вроде разобрался - создал контейнер
Код AS3:

var container_mc = new MovieClip();
addChild(container_mc);
container_mc.x=0;
container_mc.y=0;
//container_mc.alpha = .50;
container_mc.buttonMode=true;

и запихнул в него изображение... теперь всё прекрасно перетягивается


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

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