PDA

Просмотр полной версии : из loader.content сделать кнопку drag btn


zveryuka
25.02.2010, 18:18
Добрый день.
делаю первые шаги в АС3..

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

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



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
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
вот немного переделал свой код, но выбивает ошибку когда пишу PicLoader.startDrag();- чтобы перетягивать именно PicLoader

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

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 минут
Вроде разобрался - создал контейнер var container_mc = new MovieClip();
addChild(container_mc);
container_mc.x=0;
container_mc.y=0;
//container_mc.alpha = .50;
container_mc.buttonMode=true;

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