![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 2
|
Это скрипт галереи. изначально при "onPress" вызывалась функция drag() и фото можно было передвигать теперь мне это не нужно, а нужно чтобы при клике вызывалась функция getURL но при генерации фоток из галереи устанавливается одна ссылка на все фото, а в XML файле они разные. Не могу понять почему..
Вот XML Цитата:
import flash.filters.*; import flash.display.BitmapData; var photoHolder = new Array(); var skalerTempo = 3; var thumbStr = 30; var stageHeight = Stage.height; var stageWidth = Stage.width; var fotoSkygge:DropShadowFilter = new DropShadowFilter(0, 45, 0x333333, 0.8, 10, 10, 2, 3); var glow:GlowFilter = new GlowFilter(0x333333, 100, 150, 150, 1.5, 3, true, true); var bakgrunnPattern:BitmapData = BitmapData.loadBitmap("bakgrunna"); // </vars> //////////////////////////////// //////////////////////////////// // <init> _root.createEmptyMovieClip("bakgrunsHolder", _root.getNextHighestDepth()); _root.createEmptyMovieClip("sideGlow", _root.getNextHighestDepth()); // </init> //////////////////////////////// //////////////////////////////// // <generer fotovariabler> //flickrTAGS = (flickrTAGS) ? flickrTAGS:""; xmlURL = (xmlURL) ? xmlURL : "photos.xml"; //xmlURL = (flickrID) ? "http://api.flickr.com/services/feeds/photos_public.gne?id="+flickrID+"&tags="+flickrTAGS+"&tagmode=any&format=rss_200":xmlURL; //// // Flickr feed //// var loadet_xml:XML = new XML(); loadet_xml.ignoreWhite = true; loadet_xml.onLoad = function(success) { var loop = (flickrID) ? loadet_xml.firstChild.firstChild.childNodes : loadet_xml.firstChild.childNodes; var num = 0; /* if (flickrID) { for (var i = 0; i<loop.length; i++) { if (loop[i].nodeName == "item") { var loop2 = loop[i].childNodes; photoHolder[num] = new Array(); for (var i2 = 0; i2<loop2.length; i2++) { if (loop2[i2].nodeName == "media:content") { photoHolder[num].url = loop2[i2].attributes.url; } else if (loop2[i2].nodeName == "ids") { photoHolder[num].ids = loop2[i2].firstChild; } else if (loop2[i2].nodeName == "title") { photoHolder[num].desc = loop2[i2].firstChild; } } num++; } } } else { */ for (i=0; i<loop.length; i++) { photoHolder[i] = loop[i].attributes; } ////////////////} delete loadet_xml; byggBilder(); }; loadet_xml.load(xmlURL); function byggBilder() { for (i=0; i<photoHolder.length; i++) { mc = _root.attachMovie("fotoHolder", "fotoHolder"+i, _root.getNextHighestDepth(), {_xscale:thumbStr, _yscale:thumbStr, _rotation:30-60*Math.random()}); mc.txt.text = photoHolder[i].desc; // устанавливаем название фотки под картинкой mc.onPress = function() { getURL("http://mysite.com/"+photoHolder[i].ids,"_blank"); } /* Тут ПРОБЛЕМА.. ссылка получается "mysite.com/undefined" а если photoHolder[i].ids задать как var то для всех фоток 1 и та же ссыла выходит :( помогите */ if (Math.round(Math.random()*1) == 1) { // tilfeldig y akse mc._y = (Stage.height*Math.random())+(mc._height*2); if (Math.round(Math.random()*1) == 1) { mc._x = Stage.width+(mc._width*2); } else { mc._x = -(mc._width*2); } } else { // tilfeldig x akse mc._x = (Stage.width*Math.random())+(mc._width*2); if (Math.round(Math.random()*1) == 1) { mc._y = Stage.height+(mc._height*2); } else { mc._y = -(mc._height*2); } } mc.newX = Math.round((mc._width/2)+(Stage.width-mc._width)*Math.random()); mc.newY = Math.round((mc._height/2)+(Stage.height-mc._height)*Math.random()); mc.oldRotation = mc._rotation; mc.oldX = mc.newX; mc.oldY = mc.newY; mc.startX = mc._x; mc.startY = mc._y; mc.oldHeight = mc._yscale; mc.oldWidth = mc._xscale; mc.id = i; mc.onEnterFrame = fotoAnimer; mc.filters = [fotoSkygge]; //mc.dragPol.onPress = function() { getURL("/user/"+linkedurl[i],"_blank"); } mc.dragPol.onReleaseOutside = mc.dragPol.onRelease=stopdrag; photoHolder[i].mc = mc; lastBilde(mc, photoHolder[i].url); delete mc; } antallBilder = i; } function lastBilde(mc, url) { mc.createEmptyMovieClip("tmp", mc.getNextHighestDepth()); lastBildeH.loadClip(url, (flickrID) ? mc.bildeHolder : mc.tmp); } var lastBildeH:MovieClipLoader = new MovieClipLoader(); var lastBildeHL:Object = new Object(); lastBildeHL.onLoadStart = function(mc:MovieClip):Void { mc._parent.attachMovie('preLoader', 'preloader', mc._parent.getNextHighestDepth()); loaderFarge = new Color(mc._parent.preloader); mc._parent.preloader.loadtxt.text = ""; loaderFarge.setRGB(0xFFFFFF); mc._parent.preloader._y = -10; mc._visible = false; }; lastBildeHL.onLoadProgress = function(mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void { var numPercentLoaded:Number = numBytesLoaded/numBytesTotal*100; mc._parent.preloader.percent._width = numPercentLoaded; }; lastBildeHL.onLoadInit = function(mc:MovieClip) { mc._parent.preloader.removeMovieClip(); var mc2 = mc._parent.bildeHolder; if (!flickrID) { var myBitmap = new BitmapData(mc._width, mc._height, true, 0xFFFFFF); myBitmap.draw(mc); mc._parent.bildeHolder.attachBitmap(myBitmap, mc._parent.bildeHolder.getNextHighestDepth(), "auto", true); mc.removeMovieClip(); } ///// // scale and place image //// var wP = 468/mc2._width; var hP = 450/mc2._height; mc2._width *= (wP<hP) ? hP : wP; mc2._height *= (wP<hP) ? hP : wP; mc2._x += -((mc2._width-468)/2); mc2._y += -((mc2._height-450)/2); mc2._visible = true; }; lastBildeH.addListener(lastBildeHL); // </bygg polaroids> //////////////////////////////// //////////////////////////////// // <hjelpeboks> _root.attachMovie("help", "help", _root.getNextHighestDepth()); help._x = 42; help._y = 48; help.filters = [fotoSkygge]; // </hjelpeboks> //////////////////////////////// function rensFilm() { for (i=0; i<antallBilder; i++) { mc = eval("fotoHolder"+i); mc.oldY = mc.startY; mc.oldX = mc.startX; mc.onEnterFrame = fotoAnimerTilbake; removeMovieClip(navigering); } } function fotoAnimer() { this._y += (this.newY-this._y)/skalerTempo; this._x += (this.newX-this._x)/skalerTempo; if (Math.round(this._y) == this.newY) { delete this.onEnterFrame; } } function fotoAnimerTilbake() { this._y += (this.oldY-this._y)/skalerTempo; this._x += (this.oldX-this._x)/skalerTempo; this._xscale += (this.oldWidth-this._xscale)/skalerTempo; this._yscale += (this.oldHeight-this._yscale)/skalerTempo; this._rotation += (this.oldRotation-this._rotation)/skalerTempo; this.nesteKnapp._alpha += (0-this.nesteKnapp._alpha)/skalerTempo; this.forrigeKnapp._alpha += (0-this.forrigeKnapp._alpha)/skalerTempo; if ((Math.round(this._y) == this.oldY) && (Math.round(this._x) == this.oldX)) { delete this.nesteKnapp.onRelease; delete this.forrigeKnapp.onRelease; delete this.onEnterFrame; } } function fotoSkaler() { this._xscale += (100-this._xscale)/skalerTempo; this._yscale += (100-this._yscale)/skalerTempo; this._rotation += (this.newRotation-this._rotation)/skalerTempo; this._x += ((Stage.width/2)-this._x)/skalerTempo; this._y += ((Stage.height/2)-this._y)/skalerTempo; this.nesteKnapp._alpha += (60-this.nesteKnapp._alpha)/skalerTempo; this.forrigeKnapp._alpha += (60-this.forrigeKnapp._alpha)/skalerTempo; if (Math.round(this._width) == this.newWidth) { delete this.onEnterFrame; } } ............... .................. var stageL:Object = new Object(); stageL.onResize = function() { for (i=0; i<antallBilder; i++) { mc = eval("fotoHolder"+i); if (mc != fotoSomBlirVist) { mc._x = Math.round(Stage.width*(mc._x/stageWidth)); mc._y = Math.round(Stage.height*(mc._y/stageHeight)); } else { fotoSomBlirVist._x = Stage.width/2; fotoSomBlirVist._y = Stage.height/2; } mc.oldX = Math.round(Stage.width*(mc.oldX/stageWidth)); mc.oldY = Math.round(Stage.height*(mc.oldY/stageHeight)); mc.newX = Math.round(Stage.width*(mc.newX/stageWidth)); mc.newY = Math.round(Stage.height*(mc.newY/stageHeight)); mc.startX = Math.round(Stage.width*(mc.startX/stageWidth)); mc.startY = Math.round(Stage.height*(mc.startY/stageHeight)); } stageWidth = Stage.width; stageHeight = Stage.height; //fillBG(); // fyllGlow(); }; Stage.addListener(stageL); //////////////////////////////// /* <bakgrunn> function fillBG() { with (bakgrunsHolder) { clear(); beginBitmapFill(bakgrunnPattern); moveTo(0,0); lineTo(Stage.width,0); lineTo(Stage.width,Stage.height); lineTo(0,Stage.height); lineTo(0,0); endFill(); } } function fyllGlow() { with (sideGlow) { clear(); filters = [glow]; beginFill(0xFFFFFF); moveTo(0, 0); lineTo(Stage.width, 0); lineTo(Stage.width, Stage.height); lineTo(0, Stage.height); lineTo(0, 0); endFill(); } } fillBG(); fyllGlow(); // </bakgrunn> /////////////////////////////// */ |
|
|||||
|
вынесите инициализацию в отдельную функцию с передачей ссылки на ваш инстанс.
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
... function byggBilder() { for (i=0; i<photoHolder.length; i++) { mc = _root.attachMovie("fotoHolder", "fotoHolder"+i, _root.getNextHighestDepth(), {_xscale:thumbStr, _yscale:thumbStr, _rotation:30-60*Math.random()}); mc.txt.text = photoHolder[i].desc; // устанавливаем название фотки под картинкой mc.url = photoHolder[i].url mc.onPress = function() { getURL("http://mysite.com" + this.url, "_blank"); } ... Последний раз редактировалось udaaff; 06.08.2009 в 22:13. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 2
|
спасибо всем за помощь я воспользовался методом предложенным от "udaaff" и все работает как швейцарские часы)))
|
|
|||||
|
Регистрация: Feb 2011
Сообщений: 1
|
Добрый день, уважаемые!
Подскажите пожалуйста как убрать в данном скрипте темное свечение по контуру главного фона? |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|