08. juni 2007 - 17:00
Der er
30 kommentarer og 1 løsning
Side hvor brugeren kan vælge sine egne billeder
Hej eksperter Jeg er netop hjemkommet fra mit første Flashkursus og kunne nu godt tænke mig, at lave en side hvor brugerne kan vælge billeder på en liste (med previews). De valgte billeder skal derefter indsættes i næste scene i en rækkefølge som jeg bestemmer. Kan man overhovedet lave det i Flash og evt. hvordan? Hvis nogen kender et sted hvor jeg kan lære hvordan jeg gør, er det også meget velkommen.
Annonceindlæg fra Conscia
Jeg indrømmer gerne, at koden er afskyelig. Men prøv lige at smide denne ind på en frame i Flash'en for fortæl mig så, om det er sådan noget, du ønsker: var ListedPictures:Array = new Array(); ListedPictures.push("billede1.png", "hund.jpg", "test.gif", "noget", "A", "T", "e", "s", "t", "1", "Alpha", "Beta", "Gamma", "Delta", "Epsilon", "pic_0", "pic_1", "pic_2", "pic_3", "pic_4", "pic_5", "pic_6", "pic_7", "pic_8", "pic_9", "pic_10"); var PicWidth:Number = 60; var PicHeight:Number = 60; var PicSpaceX:Number = 15; var PicSpaceY:Number = 15; var AreaX:Number = 50; var AreaY:Number = 35; var AreaWidth:Number = 390; var AreaHeight:Number = 300; var PanoramaHeight:Number = 300; var PanoramaY:Number = 50; var PanoramaSpace:Number = 15; var Panorama_To_Preview:Boolean = true; //Let the following be unchanged! var Pictures:Number = ListedPictures.length; var A:MovieClip; var Pcs:MovieClip; var Msk:MovieClip; var Bx:MovieClip = new MovieClip(); var GB:MovieClip; var AK:Array = new Array(); FBeg(); function FBeg():Void { A = createEmptyMovieClip("AFBOP", getNextHighestDepth()); Pcs = createEmptyMovieClip("CFP", getNextHighestDepth()); Msk = createEmptyMovieClip("MFP", getNextHighestDepth()); Pcs._x = AreaX; Pcs._y = AreaY; with(A) { lineStyle(1, 0x353535); beginFill(0xe0e0e0); _x = AreaX; _y = AreaY; lineTo(AreaWidth, 0); lineTo(AreaWidth, AreaHeight); lineTo(0, AreaHeight); lineTo(0,0); var Sb:MovieClip = createEmptyMovieClip("SbFSSOP", getNextHighestDepth()); var tmpB:MovieClip = createEmptyMovieClip("BtnFNxP", getNextHighestDepth()); with(Sb) { var Bg:MovieClip = createEmptyMovieClip("BgMc", getNextHighestDepth()); var TS:MovieClip = createEmptyMovieClip("TpSc", getNextHighestDepth()); var DS:MovieClip = createEmptyMovieClip("DwSc", getNextHighestDepth()); var T:MovieClip = createEmptyMovieClip("Tck", getNextHighestDepth()); with(Bg) { _x = AreaWidth; beginFill(0xefefef); lineStyle(1); lineTo(14, 0); lineTo(14, AreaHeight); lineTo(0, AreaHeight); lineTo(0, 0); } with(T) { _x = Bg._x + 2; _y = 2; beginFill(0xb0b0b0); lineStyle(1); lineTo(10, 0); lineTo(10, Bg._height - 25); lineTo(0, Bg._height - 25); lineTo(0, 0); } } with(tmpB) { lineStyle(1); beginFill(0xd0d0d0); _x = AreaWidth - 120; _y = AreaHeight + 2; lineTo(120, 0); lineTo(120, 18); lineTo(0, 18); lineTo(0, 0); var tmpT:TextField = createTextField("TfFTTNxS", getNextHighestDepth(), 0, 0, 120, 18); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Vis som panorama!"; tmpT.selectable = false; tmpTF.align = "center"; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 10; tmpT.setTextFormat(tmpTF); } tmpB.onRollOver = tmpB.onDragOver = function() { this.useHandCursor = false; if(typeof(_root.Bx) != "movieclip") { new Color(this).setTransform({rb: 40, gb: 40, bb:40}); } } tmpB.onRollOut = tmpB.onDragOut = function() { new Color(this).setTransform({rb: 0, gb: 0, bb:0}); } tmpB.onRelease = FNxS; } with(Msk) { beginFill(0x000000); _x = AreaX + PicSpaceX; _y = AreaY + PicSpaceY; lineTo(AreaWidth - 2 * PicSpaceX, 0); lineTo(AreaWidth - 2 * PicSpaceX, AreaHeight - 2 * PicSpaceY); lineTo(0, AreaHeight - 2 * PicSpaceY); lineTo(0,0); } Pcs.setMask(Msk); var PX:Number = int((A._width - PicSpaceX) / (PicWidth + PicSpaceX)); for(var i:Number = 0; i < Pictures; i++) { with(Pcs.createEmptyMovieClip("p" + i, i)) { var CMDK:Boolean = false; _x = PicSpaceX + (i % PX) * (PicWidth + PicSpaceX); _y = PicSpaceY + int(i / PX) * (PicHeight + PicSpaceY); var PBg:MovieClip = createEmptyMovieClip("PBg", 0); var LP:MovieClip = createEmptyMovieClip("LPC", 1); var PB:MovieClip = createEmptyMovieClip("PB", 2); var CbM:MovieClip = createEmptyMovieClip("CbMA", 3); with(PBg) { beginFill(0xeeeeee); lineTo(PicWidth, 0); lineTo(PicWidth, PicHeight); lineTo(0, PicHeight); lineTo(0, 0); } with(PB) { beginFill(0x000000); lineTo(PicWidth, 0); lineTo(PicWidth, PicHeight); lineTo(0, PicHeight); lineTo(0, 0); lineTo(1, 1); lineTo(1, PicHeight - 2); lineTo(PicWidth - 2, PicHeight - 2); lineTo(PicWidth - 2, 1); lineTo(1, 1); lineTo(0, 0); } with(CbM.createEmptyMovieClip("Bg", 0)) { beginFill(0x202020); _x = PicWidth - 9; _y = PicHeight - 9; lineTo(9, 0); lineTo(9, 9); lineTo(0, 9); lineTo(0, 0); } with(CbM.createEmptyMovieClip("Fg", 1)) { beginFill(0xefefef); _x = PicWidth - 8; _y = PicHeight - 8; lineTo(7, 0); lineTo(7, 7); lineTo(0, 7); lineTo(0, 0); } with(CbM.createEmptyMovieClip("CM", 2)) { beginFill(0xff0000); _x = PicWidth - 7; _y = PicHeight - 7; lineTo(1, 0); lineTo(2.5, 1.5); lineTo(4, 0); lineTo(5, 0); lineTo(5, 1); lineTo(3.5, 2.5); lineTo(5, 4); lineTo(5, 5); lineTo(4, 5); lineTo(2.5, 3.5); lineTo(1, 5); lineTo(0, 5); lineTo(0, 4); lineTo(1.5, 2.5); lineTo(0, 1); lineTo(0, 0); _alpha = 0; } var tmpT:TextField = LP.createTextField("TfFTTNxS", getNextHighestDepth(), 0, 0, 0, 0); var tmpTF:TextFormat = new TextFormat(); tmpT.text = ListedPictures[i]; tmpT.selectable = false; tmpT.autoSize = true; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 0; tmpT.setTextFormat(tmpTF); while(tmpT._width <= PicWidth && tmpT._height <= PicHeight) { tmpTF.size++; tmpT.setTextFormat(tmpTF); } tmpT._x = (PicWidth - tmpT._width) / 2; tmpT._y = (PicHeight - tmpT._height) / 2; } Pcs["p" + i].onRollOver = function() { this.useHandCursor = false; if(typeof(Bx) != "movieclip") { new Color(this.CbMA.Fg).setRGB(0xffffff); this.CbMA.CM._alpha = 50; } } Pcs["p" + i].onRollOut = Pcs["p" + i].onDragOut = function() { new Color(this.CbMA.Fg).setRGB(0xefefef); this.CbMA.CM._alpha = this.CMDK ? 100 : 0; } Pcs["p" + i].onPress = Pcs["p" + i].onDragOver = function() { if(typeof(Bx) != "movieclip") { new Color(this.CbMA.Fg).setRGB(0xdfdfdf); this.CbMA.CM._alpha = this.CMDK ? 25 : 75; } } Pcs["p" + i].onRelease = function() { new Color(this.CbMA.Fg).setRGB(0xefefef); if(typeof(Bx) != "movieclip") { this.CbMA.CM._alpha = this.CMDK ? 0 : 100; this.CMDK = !this.CMDK; } } } if(Pcs._height > Msk._height) { T._yscale = Msk._height / Pcs._height * 100; T._height = Math.floor(T._height); } else { Sb._visible = false; } T.onRollOver = function() { this.useHandCursor = false; if(typeof(Bx) != "movieclip") { new Color(this).setTransform({rb:30, gb:30, bb:30}); } } T.onRollOut = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); } T.onRelease = function() { new Color(this).setTransform({rb:30, gb:30, bb:30}); stopDrag(); } T.onReleaseOutside = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); stopDrag(); } T.onPress = function() { if(typeof(Bx) != "movieclip") { this.startDrag(false, Bg._x + 2, 2, Bg._x + 2, Bg._height - this._height - 2); } } A.onEnterFrame = function() { if(typeof(Bx) != "movieclip") { var difU:Number = 40; var difD:Number = 30; for(var i:String in Pcs) { var o:Object = new Color(Pcs[i].PB).getTransform(); if(Pcs[i].hitTest(_xmouse, _ymouse, true)) { o.rb += difU; o.gb += difU; o.bb += difU; if(o.rb > 255) { o.rb = 255; } if(o.gb > 255) { o.gb = 255; } if(o.bb > 255) { o.bb = 255; } } else { o.rb -= difD; o.gb -= difD; o.bb -= difD; if(o.rb < 0) { o.rb = 0; } if(o.gb < 0) { o.gb = 0; } if(o.bb < 0) { o.bb = 0; } } if(!Pcs[i].CMDK) { new Color(Pcs[i].PB).setTransform(o); } else { new Color(Pcs[i].PB).setRGB(0xffffff); } } Pcs._y = Msk._y - PicSpaceY - Math.round((Pcs._height - Msk._height) * ((T._y - 2) / (Bg._height - T._height - 4))); } } } function FRem():Void { var DK:Array = new Array(); if(A != undefined && Pcs != undefined && Msk != undefined) { delete A.onEnterFrame; A.removeMovieClip(); Msk.removeMovieClip(); for(var i:String in Pcs) { if(typeof(Pcs[i]) == "movieclip") { if(!C(AK, Pcs[i])) { Pcs[i].removeMovieClip(); } else { for(var j:String in Pcs[i]) { if(Pcs[i][j]._name == "LPC") { Pcs[i][j]._x -= Pcs[i]._x; Pcs[i][j]._y -= Pcs[i]._y; Pcs._x = Pcs._y = 0; DK.push(Pcs[i][j]); } else if(Pcs[i][j]._name == "PBg") { Pcs[i][j]._x -= Pcs[i]._x; Pcs[i][j]._y -= Pcs[i]._y; Pcs[i][j]._visible = false; } else { Pcs[i][j].removeMovieClip(); } } } } } for(var i:Number = 0; i < DK.length; i++) { DK[DK.length - 1 - i]._x += i * PicWidth; } Pcs._y = PanoramaY; Pcs._height = PanoramaHeight; Pcs._xscale = Pcs._yscale; if(Pcs._width > Stage.width - 2 * PanoramaSpace) { Pcs._x = PanoramaSpace; Pcs.onEnterFrame = function() { Pcs._x -= (_xmouse - Stage.width / 2) / 15; if(Pcs._x > PanoramaSpace) { Pcs._x = PanoramaSpace; } if(Pcs._x < Stage.width - Pcs._width - PanoramaSpace) { Pcs._x = Stage.width - Pcs._width - PanoramaSpace; } } } else { Pcs._x = (Stage.width - Pcs._width) / 2; } if(Panorama_To_Preview) { GB = createEmptyMovieClip("GBTPvBt", getNextHighestDepth()); with(GB) { lineStyle(1); beginFill(0xd0d0d0); _x = Stage.width - 90; _y = (Stage.height + PanoramaHeight) / 2 + 10; lineTo(80, 0); lineTo(80, 18); lineTo(0, 18); lineTo(0, 0); var tmpT:TextField = createTextField("GBTPvTF", getNextHighestDepth(), 0, 0, 80, 18); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Tilbage"; tmpT.selectable = false; tmpTF.align = "center"; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 10; tmpT.setTextFormat(tmpTF); } GB.onRollOver = GB.onDragOver = function() { this.useHandCursor = false; new Color(this).setTransform({rb: 40, gb: 40, bb:40}); } GB.onRollOut = GB.onDragOut = function() { new Color(this).setTransform({rb: 0, gb: 0, bb:0}); } GB.onRelease = GBTPv; } } } function C(Arr:Array, SS:Object):Boolean { for(var i:String in Arr) { if(Arr[i] == SS) { return true; } } return false; } function FNxS():Void { if(typeof(Bx) != "movieclip") { for(var i:Number = 0; i < Pictures; i++) { if(Pcs["p" + i].CMDK) { AK.push(Pcs["p" + i]); } } if(AK.length == 0) { Bx = createEmptyMovieClip("BxMsgTU", getNextHighestDepth()); with(Bx) { beginFill(0x000000, 20); lineTo(Stage.width, 0); lineTo(Stage.width, Stage.height); lineTo(0, Stage.height); lineTo(0, 0); _alpha = 0; var BxM:MovieClip = createEmptyMovieClip("BxWM", 0); var BxMO:MovieClip = createEmptyMovieClip("BxWM", 4); with(BxM) { _x = Stage.width / 2 - 110; _y = Stage.height / 2 - 50; beginFill(0xffffff); lineTo(220, 0); lineTo(220, 100); lineTo(0, 100); lineTo(0, 0); } with(BxMO) { _x = Stage.width / 2 - 110; _y = Stage.height / 2 - 50; beginFill(0xffffff); lineTo(220, 0); lineTo(220, 100); lineTo(0, 100); lineTo(0, 0); } } Bx.onEnterFrame = function() { if(Bx._alpha < 100) { this._alpha += 4; } else { if(!tmpTW && !B && !tmpT) { this._alpha = 100; var tmpTW:TextField = Bx.createTextField("TIBx", 1, BxM._x + 10, BxM._y + 20, 0, 0); var tmpTF:TextFormat = new TextFormat(); tmpTW.text = "Vælg minimum ét billede til visning!"; tmpTW.selectable = false; tmpTW.autoSize = true; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 12; tmpTW.setTextFormat(tmpTF); var B:MovieClip = Bx.createEmptyMovieClip("BtnFCMBx", 2); with(B) { _x = BxM._x + BxM._width / 2 - 40; _y = BxM._y + BxM._height / 2 + 20; beginFill(0xcfcfcf); lineStyle(1, 0xb0b0b0); lineTo(80, 0); lineTo(80, 20); lineTo(0, 20); lineTo(0, 0); } var tmpT:TextField = Bx.createTextField("TOBt", 3, B._x, B._y, B._width, B._height); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Ok"; tmpT.selectable = false; tmpTF.font = "Arial"; tmpTF.align = "center"; tmpTF.bold = false; tmpTF.size = 12; tmpT.setTextFormat(tmpTF); B.onRollOver = B.onDragOver = function() { this.useHandCursor = false; new Color(this).setTransform({rb:30, gb:30, bb:30}); } B.onRollOut = B.onDragOut = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); } B.onRelease = function() { if(!Bx.onEnterFrame) { Bx.onEnterFrame = function() { BxMO._alpha += 5; if(BxMO._alpha >= 100) { if(tmpTW && B && tmpT) { tmpTW.removeTextField(); tmpT.removeTextField(); B.removeMovieClip(); } this._alpha -= 4; if(this._alpha <= 0) { delete this; Bx.removeMovieClip(); Bx = new MovieClip(); } } } } } } BxMO._alpha -= 5; if(BxMO._alpha <= 0) { delete this.onEnterFrame; } } } } else { FRem(); } } } function GBTPv():Void { Pcs.removeMovieClip(); GB.removeMovieClip(); AK = new Array(); FBeg(); } Linjen ListedPictures.push("billede1.png", "hund.jpg", "test.gif", "noget", "A", "T", "e", "s", "t", "1", "Alpha", "Beta", "Gamma", "Delta", "Epsilon", "pic_0", "pic_1", "pic_2", "pic_3", "pic_4", "pic_5", "pic_6", "pic_7", "pic_8", "pic_9", "pic_10"); definerer alle de billeder, Flash skal vide, og i hvilken rækkefølge, de vises. Om billederne så skal hentes fra en ekstern kilde eller være movieclips i Flash, som du attacher via linkage, det er op til dig.
Koden tog mig lidt tid at lave, det er grunden til, at den et et par dage forsinket, og den er lavet udelukkende til dit formål :) Jeg glemte lige en beskrivelse af de forskellige variabler: var PicWidth:Number = 60; Bredde på previews. var PicHeight:Number = 60; Højre på previews. var PicSpaceX:Number = 15; Horisontalt mellemrum mellem previews. var PicSpaceY:Number = 15; Vertikalt mellemrum mellem previews. var AreaX:Number = 50; X-position på listen med previews. var AreaY:Number = 35; Y-position på listen med previews. var AreaWidth:Number = 390; Bredde på listen med previews. var AreaHeight:Number = 300; Højde på listen med previews. var PanoramaHeight:Number = 300; Højde på panoramavisning. var PanoramaY:Number = 50; Y-position på panoramavisning. var PanoramaSpace:Number = 15; Mellemrum til kanterne af scenen i yderpositioner. var Panorama_To_Preview:Boolean = true; Tilbage-knap til previews fra panoramavisning.
Det er dog fantastisk, at du har siddet og lavet det bare til mig... :-) Desværre har jeg ikke meget forstand på kodningen, men vil rigtig gerne lære det. Jeg har sat din kode ind og lavet et movieklip med et enkelt billede. I linjen ListedPictures.push("billede1.png", "hund.jpg", "test.gif", "noget", "A", "T", "e", "s", "t", "1", "Alpha", "Beta", "Gamma", "Delta", "Epsilon", "pic_0", "pic_1", "pic_2", "pic_3", "pic_4", "pic_5", "pic_6", "pic_7", "pic_8", "pic_9", "pic_10"); har jeg erstattet der første billede med filnavnet på billedet i movieklippet... Der sker desværre ikke meget - hvad gør jeg galt?
Du gør ikke noget galt, for jeg har ikke ordnet det endnu ;) Så fortæl mig lige, om den skal hente billederne ind fra en mappe af, eller om billederne ligger i Flash'en i forvejen. Så ordner jeg resten derfra for dig.
Åh, jeg forstår :-) Jamen, så vil jeg nok helst hente dem fra en mappe.
Så burde den være der :) var ListedPictures:Array = new Array(); ListedPictures.push("billede1.png", "hund.jpg", "test.gif", "noget", "A", "T", "e", "s", "t", "1", "Alpha", "Beta", "Gamma", "Delta", "Epsilon", "pic_0", "pic_1", "pic_2", "pic_3", "pic_4", "pic_5", "pic_6", "pic_7", "pic_8", "pic_9", "pic_10"); var PicWidth:Number = 60; var PicHeight:Number = 60; var PicSpaceX:Number = 15; var PicSpaceY:Number = 15; var AreaX:Number = 50; var AreaY:Number = 35; var AreaWidth:Number = 390; var AreaHeight:Number = 300; var PanoramaHeight:Number = 300; var PanoramaY:Number = 50; var PanoramaSpace:Number = 15; var Panorama_To_Preview:Boolean = true; //Let the following be unchanged! var Pictures:Number = ListedPictures.length; var A:MovieClip; var Pcs:MovieClip; var Msk:MovieClip; var Bx:MovieClip = new MovieClip(); var GB:MovieClip; var AK:Array = new Array(); FBeg(); function FBeg():Void { A = createEmptyMovieClip("AFBOP", getNextHighestDepth()); Pcs = createEmptyMovieClip("CFP", getNextHighestDepth()); Msk = createEmptyMovieClip("MFP", getNextHighestDepth()); Pcs._x = AreaX; Pcs._y = AreaY; with(A) { lineStyle(1, 0x353535); beginFill(0xe0e0e0); _x = AreaX; _y = AreaY; lineTo(AreaWidth, 0); lineTo(AreaWidth, AreaHeight); lineTo(0, AreaHeight); lineTo(0,0); var Sb:MovieClip = createEmptyMovieClip("SbFSSOP", getNextHighestDepth()); var tmpB:MovieClip = createEmptyMovieClip("BtnFNxP", getNextHighestDepth()); with(Sb) { var Bg:MovieClip = createEmptyMovieClip("BgMc", getNextHighestDepth()); var TS:MovieClip = createEmptyMovieClip("TpSc", getNextHighestDepth()); var DS:MovieClip = createEmptyMovieClip("DwSc", getNextHighestDepth()); var T:MovieClip = createEmptyMovieClip("Tck", getNextHighestDepth()); with(Bg) { _x = AreaWidth; beginFill(0xefefef); lineStyle(1); lineTo(14, 0); lineTo(14, AreaHeight); lineTo(0, AreaHeight); lineTo(0, 0); } with(T) { _x = Bg._x + 2; _y = 2; beginFill(0xb0b0b0); lineStyle(1); lineTo(10, 0); lineTo(10, Bg._height - 25); lineTo(0, Bg._height - 25); lineTo(0, 0); } } with(tmpB) { lineStyle(1); beginFill(0xd0d0d0); _x = AreaWidth - 120; _y = AreaHeight + 2; lineTo(120, 0); lineTo(120, 18); lineTo(0, 18); lineTo(0, 0); var tmpT:TextField = createTextField("TfFTTNxS", getNextHighestDepth(), 0, 0, 120, 18); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Vis som panorama!"; tmpT.selectable = false; tmpTF.align = "center"; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 10; tmpT.setTextFormat(tmpTF); } tmpB.onRollOver = tmpB.onDragOver = function() { this.useHandCursor = false; if(typeof(_root.Bx) != "movieclip") { new Color(this).setTransform({rb: 40, gb: 40, bb:40}); } } tmpB.onRollOut = tmpB.onDragOut = function() { new Color(this).setTransform({rb: 0, gb: 0, bb:0}); } tmpB.onRelease = FNxS; } with(Msk) { beginFill(0x000000); _x = AreaX + PicSpaceX; _y = AreaY + PicSpaceY; lineTo(AreaWidth - 2 * PicSpaceX, 0); lineTo(AreaWidth - 2 * PicSpaceX, AreaHeight - 2 * PicSpaceY); lineTo(0, AreaHeight - 2 * PicSpaceY); lineTo(0,0); } Pcs.setMask(Msk); var PX:Number = int((A._width - PicSpaceX) / (PicWidth + PicSpaceX)); for(var i:Number = 0; i < Pictures; i++) { with(Pcs.createEmptyMovieClip("p" + i, i)) { var CMDK:Boolean = false; _x = PicSpaceX + (i % PX) * (PicWidth + PicSpaceX); _y = PicSpaceY + int(i / PX) * (PicHeight + PicSpaceY); var PBg:MovieClip = createEmptyMovieClip("PBg", 0); var LP:MovieClip = createEmptyMovieClip("LPC", 1); var PB:MovieClip = createEmptyMovieClip("PB", 2); var CbM:MovieClip = createEmptyMovieClip("CbMA", 3); var LB:MovieClip = createEmptyMovieClip("LdB", 4); with(PBg) { beginFill(0xeeeeee); lineTo(PicWidth, 0); lineTo(PicWidth, PicHeight); lineTo(0, PicHeight); lineTo(0, 0); } with(PB) { beginFill(0x000000); lineTo(PicWidth, 0); lineTo(PicWidth, PicHeight); lineTo(0, PicHeight); lineTo(0, 0); lineTo(1, 1); lineTo(1, PicHeight - 2); lineTo(PicWidth - 2, PicHeight - 2); lineTo(PicWidth - 2, 1); lineTo(1, 1); lineTo(0, 0); } with(CbM.createEmptyMovieClip("Bg", 0)) { beginFill(0x202020); _x = PicWidth - 9; _y = PicHeight - 9; lineTo(9, 0); lineTo(9, 9); lineTo(0, 9); lineTo(0, 0); } with(CbM.createEmptyMovieClip("Fg", 1)) { beginFill(0xefefef); _x = PicWidth - 8; _y = PicHeight - 8; lineTo(7, 0); lineTo(7, 7); lineTo(0, 7); lineTo(0, 0); } with(CbM.createEmptyMovieClip("CM", 2)) { beginFill(0xff0000); _x = PicWidth - 7; _y = PicHeight - 7; lineTo(1, 0); lineTo(2.5, 1.5); lineTo(4, 0); lineTo(5, 0); lineTo(5, 1); lineTo(3.5, 2.5); lineTo(5, 4); lineTo(5, 5); lineTo(4, 5); lineTo(2.5, 3.5); lineTo(1, 5); lineTo(0, 5); lineTo(0, 4); lineTo(1.5, 2.5); lineTo(0, 1); lineTo(0, 0); _alpha = 0; } with(LB) { _x = 1; _y = PicHeight - 9; beginFill(0xff0000); lineTo(PicWidth - 10, 0); lineTo(PicWidth - 10, 7); lineTo(0, 7); lineTo(0, 0); } LB._xscale = 50; with(LP) { var MCL:MovieClipLoader = new MovieClipLoader(); var ODK:Object = new Object(); MCL.addListener(ODK); MCL.loadClip(ListedPictures[i], LP); ODK.onLoadError = function(Tg:MovieClip, Ec:Number) { Tg._parent.LdB._visible = false; } ODK.onLoadProgress = function(Tg:MovieClip, Bl:Number, Bt:Number) { Tg._parent.LdB._xscale = Bl / Bt * 100; } ODK.onLoadComplete = function(Tg:MovieClip) { Tg.onEnterFrame = function() { if(Tg._parent.LdB._alpha > 0) { Tg._parent.LdB._alpha -= 5; } else { Tg._parent.LdB.removeMovieClip(); delete Tg.onEnterFrame; } if(Tg._width != _root.PicWidth && Tg._height != _root.PicHeight) { Tg._width = _root.PicWidth; Tg._yscale = Tg._xscale; if(Tg._height > _root.PicHeight) { Tg._height = _root.PicHeight; Tg._xscale = Tg._yscale; Tg._x = (_root.PicWidth - Tg._width) / 2 } else { Tg._y = (_root.PicHeight - Tg._height) / 2 } } } } } } Pcs["p" + i].onRollOver = function() { this.useHandCursor = false; if(typeof(Bx) != "movieclip") { new Color(this.CbMA.Fg).setRGB(0xffffff); this.CbMA.CM._alpha = 50; } } Pcs["p" + i].onRollOut = Pcs["p" + i].onDragOut = function() { new Color(this.CbMA.Fg).setRGB(0xefefef); this.CbMA.CM._alpha = this.CMDK ? 100 : 0; } Pcs["p" + i].onPress = Pcs["p" + i].onDragOver = function() { if(typeof(Bx) != "movieclip") { new Color(this.CbMA.Fg).setRGB(0xdfdfdf); this.CbMA.CM._alpha = this.CMDK ? 25 : 75; } } Pcs["p" + i].onRelease = function() { new Color(this.CbMA.Fg).setRGB(0xefefef); if(typeof(Bx) != "movieclip") { this.CbMA.CM._alpha = this.CMDK ? 0 : 100; this.CMDK = !this.CMDK; } } } if(Pcs._height > Msk._height) { T._yscale = Msk._height / Pcs._height * 100; T._height = Math.floor(T._height); } else { Sb._visible = false; } T.onRollOver = function() { this.useHandCursor = false; if(typeof(Bx) != "movieclip") { new Color(this).setTransform({rb:30, gb:30, bb:30}); } } T.onRollOut = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); } T.onRelease = function() { new Color(this).setTransform({rb:30, gb:30, bb:30}); stopDrag(); } T.onReleaseOutside = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); stopDrag(); } T.onPress = function() { if(typeof(Bx) != "movieclip") { this.startDrag(false, Bg._x + 2, 2, Bg._x + 2, Bg._height - this._height - 2); } } A.onEnterFrame = function() { if(typeof(Bx) != "movieclip") { var difU:Number = 40; var difD:Number = 30; for(var i:String in Pcs) { var o:Object = new Color(Pcs[i].PB).getTransform(); if(Pcs[i].hitTest(_xmouse, _ymouse, true)) { o.rb += difU; o.gb += difU; o.bb += difU; if(o.rb > 255) { o.rb = 255; } if(o.gb > 255) { o.gb = 255; } if(o.bb > 255) { o.bb = 255; } } else { o.rb -= difD; o.gb -= difD; o.bb -= difD; if(o.rb < 0) { o.rb = 0; } if(o.gb < 0) { o.gb = 0; } if(o.bb < 0) { o.bb = 0; } } if(!Pcs[i].CMDK) { new Color(Pcs[i].PB).setTransform(o); } else { new Color(Pcs[i].PB).setRGB(0xffffff); } } Pcs._y = Msk._y - PicSpaceY - Math.round((Pcs._height - Msk._height) * ((T._y - 2) / (Bg._height - T._height - 4))); } } } function FRem():Void { var DK:Array = new Array(); if(A != undefined && Pcs != undefined && Msk != undefined) { delete A.onEnterFrame; A.removeMovieClip(); Msk.removeMovieClip(); for(var i:String in Pcs) { if(typeof(Pcs[i]) == "movieclip") { if(!C(AK, Pcs[i])) { Pcs[i].removeMovieClip(); } else { var Rem:MovieClip; for(var j:String in Pcs[i]) { if(Pcs[i][j]._name == "LPC") { Pcs[i][j]._x -= Pcs[i]._x; Pcs[i][j]._y -= Pcs[i]._y; Pcs._x = Pcs._y = 0; DK.push(Pcs[i][j]); } else if(Pcs[i][j]._name == "PBg") { Pcs[i][j]._x -= Pcs[i]._x; Pcs[i][j]._y -= Pcs[i]._y; Pcs[i][j]._visible = false; } else { Pcs[i][j].removeMovieClip(); } Rem = Pcs[i]; } } } } for(var i:Number = 0; i < DK.length; i++) { DK[DK.length - 1 - i]._x += i * PicWidth; } Pcs._y = PanoramaY; Pcs._height = PanoramaHeight; Pcs._xscale = Pcs._yscale; if(Pcs._width > Stage.width - 2 * PanoramaSpace) { Pcs._x = PanoramaSpace; Pcs.onEnterFrame = function() { Pcs._x -= (_xmouse - Stage.width / 2) / 15; if(Pcs._x > PanoramaSpace) { Pcs._x = PanoramaSpace; } if(Pcs._x < Stage.width - AK.length * PanoramaHeight * PicWidth / PicHeight - PanoramaSpace) { Pcs._x = Stage.width - AK.length * PanoramaHeight * PicWidth / PicHeight - PanoramaSpace; } } } else { Pcs._x = (Stage.width - Pcs._width) / 2; } if(Panorama_To_Preview) { GB = createEmptyMovieClip("GBTPvBt", getNextHighestDepth()); with(GB) { lineStyle(1); beginFill(0xd0d0d0); _x = Stage.width - 90; _y = (Stage.height + PanoramaHeight) / 2 + 10; lineTo(80, 0); lineTo(80, 18); lineTo(0, 18); lineTo(0, 0); var tmpT:TextField = createTextField("GBTPvTF", getNextHighestDepth(), 0, 0, 80, 18); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Tilbage"; tmpT.selectable = false; tmpTF.align = "center"; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 10; tmpT.setTextFormat(tmpTF); } GB.onRollOver = GB.onDragOver = function() { this.useHandCursor = false; new Color(this).setTransform({rb: 40, gb: 40, bb:40}); } GB.onRollOut = GB.onDragOut = function() { new Color(this).setTransform({rb: 0, gb: 0, bb:0}); } GB.onRelease = GBTPv; } } } function C(Arr:Array, SS:Object):Boolean { for(var i:String in Arr) { if(Arr[i] == SS) { return true; } } return false; } function FNxS():Void { if(typeof(Bx) != "movieclip") { for(var i:Number = 0; i < Pictures; i++) { if(Pcs["p" + i].CMDK) { AK.push(Pcs["p" + i]); } } if(AK.length == 0) { Bx = createEmptyMovieClip("BxMsgTU", getNextHighestDepth()); with(Bx) { beginFill(0x000000, 20); lineTo(Stage.width, 0); lineTo(Stage.width, Stage.height); lineTo(0, Stage.height); lineTo(0, 0); _alpha = 0; var BxM:MovieClip = createEmptyMovieClip("BxWM", 0); var BxMO:MovieClip = createEmptyMovieClip("BxWM", 4); with(BxM) { _x = Stage.width / 2 - 110; _y = Stage.height / 2 - 50; beginFill(0xffffff); lineTo(220, 0); lineTo(220, 100); lineTo(0, 100); lineTo(0, 0); } with(BxMO) { _x = Stage.width / 2 - 110; _y = Stage.height / 2 - 50; beginFill(0xffffff); lineTo(220, 0); lineTo(220, 100); lineTo(0, 100); lineTo(0, 0); } } Bx.onEnterFrame = function() { if(Bx._alpha < 100) { this._alpha += 4; } else { if(!tmpTW && !B && !tmpT) { this._alpha = 100; var tmpTW:TextField = Bx.createTextField("TIBx", 1, BxM._x + 10, BxM._y + 20, 0, 0); var tmpTF:TextFormat = new TextFormat(); tmpTW.text = "Vælg minimum ét billede til visning!"; tmpTW.selectable = false; tmpTW.autoSize = true; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 12; tmpTW.setTextFormat(tmpTF); var B:MovieClip = Bx.createEmptyMovieClip("BtnFCMBx", 2); with(B) { _x = BxM._x + BxM._width / 2 - 40; _y = BxM._y + BxM._height / 2 + 20; beginFill(0xcfcfcf); lineStyle(1, 0xb0b0b0); lineTo(80, 0); lineTo(80, 20); lineTo(0, 20); lineTo(0, 0); } var tmpT:TextField = Bx.createTextField("TOBt", 3, B._x, B._y, B._width, B._height); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Ok"; tmpT.selectable = false; tmpTF.font = "Arial"; tmpTF.align = "center"; tmpTF.bold = false; tmpTF.size = 12; tmpT.setTextFormat(tmpTF); B.onRollOver = B.onDragOver = function() { this.useHandCursor = false; new Color(this).setTransform({rb:30, gb:30, bb:30}); } B.onRollOut = B.onDragOut = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); } B.onRelease = function() { if(!Bx.onEnterFrame) { Bx.onEnterFrame = function() { BxMO._alpha += 5; if(BxMO._alpha >= 100) { if(tmpTW && B && tmpT) { tmpTW.removeTextField(); tmpT.removeTextField(); B.removeMovieClip(); } this._alpha -= 4; if(this._alpha <= 0) { delete this; Bx.removeMovieClip(); Bx = new MovieClip(); } } } } } } BxMO._alpha -= 5; if(BxMO._alpha <= 0) { delete this.onEnterFrame; } } } } else { FRem(); } } } function GBTPv():Void { Pcs.removeMovieClip(); GB.removeMovieClip(); AK = new Array(); FBeg(); }
Og se den kunne faktisk blive endnu bedre end før, for nu sætter den en rød streg i preview, hvis billedet ikke eksisterer eller ikke kan hentes (i følgende har jeg undladt alt over '//Let the following be unchanged!'): //Let the following be unchanged! var Pictures:Number = ListedPictures.length; var A:MovieClip; var Pcs:MovieClip; var Msk:MovieClip; var Bx:MovieClip = new MovieClip(); var GB:MovieClip; var AK:Array = new Array(); FBeg(); function FBeg():Void { A = createEmptyMovieClip("AFBOP", getNextHighestDepth()); Pcs = createEmptyMovieClip("CFP", getNextHighestDepth()); Msk = createEmptyMovieClip("MFP", getNextHighestDepth()); Pcs._x = AreaX; Pcs._y = AreaY; with(A) { lineStyle(1, 0x353535); beginFill(0xe0e0e0); _x = AreaX; _y = AreaY; lineTo(AreaWidth, 0); lineTo(AreaWidth, AreaHeight); lineTo(0, AreaHeight); lineTo(0,0); var Sb:MovieClip = createEmptyMovieClip("SbFSSOP", getNextHighestDepth()); var tmpB:MovieClip = createEmptyMovieClip("BtnFNxP", getNextHighestDepth()); with(Sb) { var Bg:MovieClip = createEmptyMovieClip("BgMc", getNextHighestDepth()); var TS:MovieClip = createEmptyMovieClip("TpSc", getNextHighestDepth()); var DS:MovieClip = createEmptyMovieClip("DwSc", getNextHighestDepth()); var T:MovieClip = createEmptyMovieClip("Tck", getNextHighestDepth()); with(Bg) { _x = AreaWidth; beginFill(0xefefef); lineStyle(1); lineTo(14, 0); lineTo(14, AreaHeight); lineTo(0, AreaHeight); lineTo(0, 0); } with(T) { _x = Bg._x + 2; _y = 2; beginFill(0xb0b0b0); lineStyle(1); lineTo(10, 0); lineTo(10, Bg._height - 25); lineTo(0, Bg._height - 25); lineTo(0, 0); } } with(tmpB) { lineStyle(1); beginFill(0xd0d0d0); _x = AreaWidth - 120; _y = AreaHeight + 2; lineTo(120, 0); lineTo(120, 18); lineTo(0, 18); lineTo(0, 0); var tmpT:TextField = createTextField("TfFTTNxS", getNextHighestDepth(), 0, 0, 120, 18); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Vis som panorama!"; tmpT.selectable = false; tmpTF.align = "center"; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 10; tmpT.setTextFormat(tmpTF); } tmpB.onRollOver = tmpB.onDragOver = function() { this.useHandCursor = false; if(typeof(_root.Bx) != "movieclip") { new Color(this).setTransform({rb: 40, gb: 40, bb:40}); } } tmpB.onRollOut = tmpB.onDragOut = function() { new Color(this).setTransform({rb: 0, gb: 0, bb:0}); } tmpB.onRelease = FNxS; } with(Msk) { beginFill(0x000000); _x = AreaX + PicSpaceX; _y = AreaY + PicSpaceY; lineTo(AreaWidth - 2 * PicSpaceX, 0); lineTo(AreaWidth - 2 * PicSpaceX, AreaHeight - 2 * PicSpaceY); lineTo(0, AreaHeight - 2 * PicSpaceY); lineTo(0,0); } Pcs.setMask(Msk); var PX:Number = int((A._width - PicSpaceX) / (PicWidth + PicSpaceX)); for(var i:Number = 0; i < Pictures; i++) { with(Pcs.createEmptyMovieClip("p" + i, i)) { var CMDK:Boolean = false; _x = PicSpaceX + (i % PX) * (PicWidth + PicSpaceX); _y = PicSpaceY + int(i / PX) * (PicHeight + PicSpaceY); var PBg:MovieClip = createEmptyMovieClip("PBg", 0); var LP:MovieClip = createEmptyMovieClip("LPC", 1); var LB:MovieClip = createEmptyMovieClip("LdB", 2); var PB:MovieClip = createEmptyMovieClip("PB", 3); var CbM:MovieClip = createEmptyMovieClip("CbMA", 4); with(PBg) { beginFill(0xeeeeee); lineTo(PicWidth, 0); lineTo(PicWidth, PicHeight); lineTo(0, PicHeight); lineTo(0, 0); } with(PB) { beginFill(0x000000); lineTo(PicWidth, 0); lineTo(PicWidth, PicHeight); lineTo(0, PicHeight); lineTo(0, 0); lineTo(1, 1); lineTo(1, PicHeight - 2); lineTo(PicWidth - 2, PicHeight - 2); lineTo(PicWidth - 2, 1); lineTo(1, 1); lineTo(0, 0); } with(CbM.createEmptyMovieClip("Bg", 0)) { beginFill(0x202020); _x = PicWidth - 9; _y = PicHeight - 9; lineTo(9, 0); lineTo(9, 9); lineTo(0, 9); lineTo(0, 0); } with(CbM.createEmptyMovieClip("Fg", 1)) { beginFill(0xefefef); _x = PicWidth - 8; _y = PicHeight - 8; lineTo(7, 0); lineTo(7, 7); lineTo(0, 7); lineTo(0, 0); } with(CbM.createEmptyMovieClip("CM", 2)) { beginFill(0xff0000); _x = PicWidth - 7; _y = PicHeight - 7; lineTo(1, 0); lineTo(2.5, 1.5); lineTo(4, 0); lineTo(5, 0); lineTo(5, 1); lineTo(3.5, 2.5); lineTo(5, 4); lineTo(5, 5); lineTo(4, 5); lineTo(2.5, 3.5); lineTo(1, 5); lineTo(0, 5); lineTo(0, 4); lineTo(1.5, 2.5); lineTo(0, 1); lineTo(0, 0); _alpha = 0; } with(LB) { _x = 1; _y = PicHeight - 9; beginFill(0xff0000); lineTo(PicWidth - 10, 0); lineTo(PicWidth - 10, 7); lineTo(0, 7); lineTo(0, 0); } LB._xscale = 50; with(LP) { var MCL:MovieClipLoader = new MovieClipLoader(); var ODK:Object = new Object(); MCL.addListener(ODK); MCL.loadClip(ListedPictures[i], LP); ODK.onLoadError = function(Tg:MovieClip, Ec:Number) { Tg.Selectable = false; Tg._parent.LdB._xscale = 100; Tg._parent.LdB.clear(); with(Tg._parent.LdB) { _x = _root.PicWidth; _y = 0; beginFill(0xff0000); lineTo(10 - _root.PicWidth, _root.PicHeight); lineTo(-_root.PicWidth, _root.PicHeight); lineTo(-10, 0); lineTo(0, 0); } } ODK.onLoadProgress = function(Tg:MovieClip, Bl:Number, Bt:Number) { Tg._parent.LdB._xscale = Bl / Bt * 100; } ODK.onLoadComplete = function(Tg:MovieClip) { Tg.Selectable = true; Tg.onEnterFrame = function() { if(Tg._parent.LdB._alpha > 0) { Tg._parent.LdB._alpha -= 5; } else { Tg._parent.LdB.removeMovieClip(); delete Tg.onEnterFrame; } if(Tg._width != _root.PicWidth && Tg._height != _root.PicHeight) { Tg._width = _root.PicWidth; Tg._yscale = Tg._xscale; if(Tg._height > _root.PicHeight) { Tg._height = _root.PicHeight; Tg._xscale = Tg._yscale; Tg._x = (_root.PicWidth - Tg._width) / 2 } else { Tg._y = (_root.PicHeight - Tg._height) / 2 } } } } } } Pcs["p" + i].onRollOver = function() { this.useHandCursor = false; if(typeof(Bx) != "movieclip" && this.LPC.Selectable) { new Color(this.CbMA.Fg).setRGB(0xffffff); this.CbMA.CM._alpha = 50; } } Pcs["p" + i].onRollOut = Pcs["p" + i].onDragOut = function() { new Color(this.CbMA.Fg).setRGB(0xefefef); this.CbMA.CM._alpha = this.CMDK ? 100 : 0; } Pcs["p" + i].onPress = Pcs["p" + i].onDragOver = function() { if(typeof(Bx) != "movieclip" && this.LPC.Selectable) { new Color(this.CbMA.Fg).setRGB(0xdfdfdf); this.CbMA.CM._alpha = this.CMDK ? 25 : 75; } } Pcs["p" + i].onRelease = function() { new Color(this.CbMA.Fg).setRGB(0xefefef); if(typeof(Bx) != "movieclip" && this.LPC.Selectable) { this.CbMA.CM._alpha = this.CMDK ? 0 : 100; this.CMDK = !this.CMDK; } } } if(Pcs._height > Msk._height) { T._yscale = Msk._height / Pcs._height * 100; T._height = Math.floor(T._height); } else { Sb._visible = false; } T.onRollOver = function() { this.useHandCursor = false; if(typeof(Bx) != "movieclip") { new Color(this).setTransform({rb:30, gb:30, bb:30}); } } T.onRollOut = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); } T.onRelease = function() { new Color(this).setTransform({rb:30, gb:30, bb:30}); stopDrag(); } T.onReleaseOutside = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); stopDrag(); } T.onPress = function() { if(typeof(Bx) != "movieclip") { this.startDrag(false, Bg._x + 2, 2, Bg._x + 2, Bg._height - this._height - 2); } } A.onEnterFrame = function() { if(typeof(Bx) != "movieclip") { var difU:Number = 40; var difD:Number = 30; for(var i:String in Pcs) { var o:Object = new Color(Pcs[i].PB).getTransform(); if(Pcs[i].hitTest(_xmouse, _ymouse, true) && Pcs[i].LPC.Selectable) { o.rb += difU; o.gb += difU; o.bb += difU; if(o.rb > 255) { o.rb = 255; } if(o.gb > 255) { o.gb = 255; } if(o.bb > 255) { o.bb = 255; } } else { o.rb -= difD; o.gb -= difD; o.bb -= difD; if(o.rb < 0) { o.rb = 0; } if(o.gb < 0) { o.gb = 0; } if(o.bb < 0) { o.bb = 0; } } if(!Pcs[i].CMDK) { new Color(Pcs[i].PB).setTransform(o); } else { new Color(Pcs[i].PB).setRGB(0xffffff); } } Pcs._y = Msk._y - PicSpaceY - Math.round((Pcs._height - Msk._height) * ((T._y - 2) / (Bg._height - T._height - 4))); } } } function FRem():Void { var DK:Array = new Array(); if(A != undefined && Pcs != undefined && Msk != undefined) { delete A.onEnterFrame; A.removeMovieClip(); Msk.removeMovieClip(); for(var i:String in Pcs) { if(typeof(Pcs[i]) == "movieclip") { if(!C(AK, Pcs[i])) { Pcs[i].removeMovieClip(); } else { var Rem:MovieClip; for(var j:String in Pcs[i]) { if(Pcs[i][j]._name == "LPC") { Pcs[i][j]._x -= Pcs[i]._x; Pcs[i][j]._y -= Pcs[i]._y; Pcs._x = Pcs._y = 0; DK.push(Pcs[i][j]); } else if(Pcs[i][j]._name == "PBg") { Pcs[i][j]._x -= Pcs[i]._x; Pcs[i][j]._y -= Pcs[i]._y; Pcs[i][j]._visible = false; } else { Pcs[i][j].removeMovieClip(); } Rem = Pcs[i]; } } } } for(var i:Number = 0; i < DK.length; i++) { DK[DK.length - 1 - i]._x += i * PicWidth; } Pcs._y = PanoramaY; Pcs._height = PanoramaHeight; Pcs._xscale = Pcs._yscale; if(Pcs._width > Stage.width - 2 * PanoramaSpace) { Pcs._x = PanoramaSpace; Pcs.onEnterFrame = function() { Pcs._x -= (_xmouse - Stage.width / 2) / 15; if(Pcs._x > PanoramaSpace) { Pcs._x = PanoramaSpace; } if(Pcs._x < Stage.width - AK.length * PanoramaHeight * PicWidth / PicHeight - PanoramaSpace) { Pcs._x = Stage.width - AK.length * PanoramaHeight * PicWidth / PicHeight - PanoramaSpace; } } } else { Pcs._x = (Stage.width - Pcs._width) / 2; } if(Panorama_To_Preview) { GB = createEmptyMovieClip("GBTPvBt", getNextHighestDepth()); with(GB) { lineStyle(1); beginFill(0xd0d0d0); _x = Stage.width - 90; _y = (Stage.height + PanoramaHeight) / 2 + 10; lineTo(80, 0); lineTo(80, 18); lineTo(0, 18); lineTo(0, 0); var tmpT:TextField = createTextField("GBTPvTF", getNextHighestDepth(), 0, 0, 80, 18); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Tilbage"; tmpT.selectable = false; tmpTF.align = "center"; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 10; tmpT.setTextFormat(tmpTF); } GB.onRollOver = GB.onDragOver = function() { this.useHandCursor = false; new Color(this).setTransform({rb: 40, gb: 40, bb:40}); } GB.onRollOut = GB.onDragOut = function() { new Color(this).setTransform({rb: 0, gb: 0, bb:0}); } GB.onRelease = GBTPv; } } } function C(Arr:Array, SS:Object):Boolean { for(var i:String in Arr) { if(Arr[i] == SS) { return true; } } return false; } function FNxS():Void { if(typeof(Bx) != "movieclip") { for(var i:Number = 0; i < Pictures; i++) { if(Pcs["p" + i].CMDK) { AK.push(Pcs["p" + i]); } } if(AK.length == 0) { Bx = createEmptyMovieClip("BxMsgTU", getNextHighestDepth()); with(Bx) { beginFill(0x000000, 20); lineTo(Stage.width, 0); lineTo(Stage.width, Stage.height); lineTo(0, Stage.height); lineTo(0, 0); _alpha = 0; var BxM:MovieClip = createEmptyMovieClip("BxWM", 0); var BxMO:MovieClip = createEmptyMovieClip("BxWM", 4); with(BxM) { _x = Stage.width / 2 - 110; _y = Stage.height / 2 - 50; beginFill(0xffffff); lineTo(220, 0); lineTo(220, 100); lineTo(0, 100); lineTo(0, 0); } with(BxMO) { _x = Stage.width / 2 - 110; _y = Stage.height / 2 - 50; beginFill(0xffffff); lineTo(220, 0); lineTo(220, 100); lineTo(0, 100); lineTo(0, 0); } } Bx.onEnterFrame = function() { if(Bx._alpha < 100) { this._alpha += 4; } else { if(!tmpTW && !B && !tmpT) { this._alpha = 100; var tmpTW:TextField = Bx.createTextField("TIBx", 1, BxM._x + 10, BxM._y + 20, 0, 0); var tmpTF:TextFormat = new TextFormat(); tmpTW.text = "Vælg minimum ét billede til visning!"; tmpTW.selectable = false; tmpTW.autoSize = true; tmpTF.font = "Arial"; tmpTF.bold = true; tmpTF.size = 12; tmpTW.setTextFormat(tmpTF); var B:MovieClip = Bx.createEmptyMovieClip("BtnFCMBx", 2); with(B) { _x = BxM._x + BxM._width / 2 - 40; _y = BxM._y + BxM._height / 2 + 20; beginFill(0xcfcfcf); lineStyle(1, 0xb0b0b0); lineTo(80, 0); lineTo(80, 20); lineTo(0, 20); lineTo(0, 0); } var tmpT:TextField = Bx.createTextField("TOBt", 3, B._x, B._y, B._width, B._height); var tmpTF:TextFormat = new TextFormat(); tmpT.text = "Ok"; tmpT.selectable = false; tmpTF.font = "Arial"; tmpTF.align = "center"; tmpTF.bold = false; tmpTF.size = 12; tmpT.setTextFormat(tmpTF); B.onRollOver = B.onDragOver = function() { this.useHandCursor = false; new Color(this).setTransform({rb:30, gb:30, bb:30}); } B.onRollOut = B.onDragOut = function() { new Color(this).setTransform({rb:0, gb:0, bb:0}); } B.onRelease = function() { if(!Bx.onEnterFrame) { Bx.onEnterFrame = function() { BxMO._alpha += 5; if(BxMO._alpha >= 100) { if(tmpTW && B && tmpT) { tmpTW.removeTextField(); tmpT.removeTextField(); B.removeMovieClip(); } this._alpha -= 4; if(this._alpha <= 0) { delete this; Bx.removeMovieClip(); Bx = new MovieClip(); } } } } } } BxMO._alpha -= 5; if(BxMO._alpha <= 0) { delete this.onEnterFrame; } } } } else { FRem(); } } } function GBTPv():Void { Pcs.removeMovieClip(); GB.removeMovieClip(); AK = new Array(); FBeg(); } Nu er det ved at ligne noget. Og jeg beklager, mine indlæg bliver så pokkers lange, men jeg kan ikke gøre ret meget ved det. Og så tillader jeg mig lige at smide et svar også, hvis du nu skulle synes, dette er tilfredsstillende :)
Om dit svar er tilfredstillende.......? Jeg er da helt forlegen over at du har brugt så lang tid på at hjælpe mig! Derfor alene ville jeg gerne sende min. 3 flasker god vin og en STOR buket blomster :-) Jeg har kopieret din kode ind, men er i tvivl om hvad jeg skal gøre med billederne? Jeg har forsøgsvis lagt et i samme mappe som fla filen, men det returneres der ikke noget ved. Hvad præcis skal jeg gøre?
Hvad du har fået hér plejer jeg at tage et par tusinde for, så du har været heldig, jeg lige kedede mig lidt ;)
Nu skal du høre. Koden ovenover er lidt utæt kan jeg se og med lidt debug-koder rundt omkring, og jeg nægter at tage så meget af ekspertens databaseplads på grund af en kode, så jeg har lagt den på
http://www.maqhem.com/exp/782342.as , hvor alle følgende koder også vil komme til at ligge, hvis jeg ændrer i den.
Har du billederne billede_1.jpg, billede_2.jpg og billede_3.jpg, der skal hentes ind, så skal anden linje se ud som:
ListedPictures.push("billede_1.jpg", "billede_2.jpg", "billede_3.jpg");
Og så skal du blot lægge billederne i samme mappe som swf-filen.
Angående betaling: Næh ved du hvad, du har fanget mig på en heldig dag. Hvis du meget gerne vil betale, så synes jeg, du skal sende den STORE buket blomster med et par søde ord i til en sød pige, jeg kender, og så skrive mig på som afsender ;)
10. juni 2007 - 21:37
#10
Jeg sender gerne en stor buket til din udkårende, men egentlig syntes jeg hellere du selv skal gøre det, for det er nu engang meget mere romantisk :D Hvad er en .as fil? Ligger jeg billederne i samme mappe og laver swf'en fra .as filen, så vises blot en blank side.... Jeps, I know - jeg er absolut udvidende...
10. juni 2007 - 23:17
#11
Ja jeg tror også selv, jeg sender en stor buket blomster på et tidspunkt. Så bestemmer jeg også selv, hvad der skal stå deri :) AS står for ActionScript, og og er en fil, der kan indeholde en klasse eller et stykke kode, der inkluderes enten med #include "fil.as" eller ved at kopiere indholdet ind. Så enten lægger du den sammen med filen, og skriver #include "782342.as" eller åbner den i Flash og kopierer hele indholdet ind i ActionScriptet.
11. juni 2007 - 15:44
#12
Hmmm... jeg kan ikke få den til at vise noget. Når jeg publishere den, får jeg bare en blank side i min swf. Og undskyld mine lange svartider... Jeg er desværre nødt til at passe mit arbejde også :(
11. juni 2007 - 15:50
#13
Hent as-filen. Åbn den med Flash, kopier hele indholdet af den, luk as-filen, åbn en fla-fil, indsæt koden i actionscriptet, gem filen sammen med dine billeder og wupti, så skulle det gerne du :)
11. juni 2007 - 16:02
#14
Den viser stadig intet. Fejlen er i line 315: for(var i:Number = 0; i < DK.length; i++) { og i linie 2 Men hvad ved jeg ikke?
11. juni 2007 - 16:12
#15
11. juni 2007 - 21:45
#16
Kan du få det til at du? :)
11. juni 2007 - 21:57
#17
Ja, undskyld... er netop hjemkommet igen :) Nu kan jeg se, at det virker. Tusind tak! Send venindens adresse, så sender jeg gerne blomsterne :D Nu må jeg så bare se om jeg kan gennemskue koden og få den returnerede side til at stå som jeg gerne vil have den... Må jeg spørge igen, hvis det ikke lykkedes? Endnu engang tusind tusind tak! Jeg vil gerne tildele dig flere points, men hvordan gør jeg det?
12. juni 2007 - 05:57
#18
Lige lidt til koden: Den er langt fra overskuelig, fordi den er blevet så lang og bøvlet. Jeg arbejder på en løsning med brug af OOP, da det er efterhånden er blevet hel mode, hvilket jo kort sagt splitter koden op til overskuelige delkoder, og at linjer, der før har fyldt 10 linjer 30 forskellige steder i koden, pludseligt fylder én linje 30 forskellige steder i koden. Jeg ved ikke helt, hvor meget inde i OOP (Obejct Oriented Programming / Objektorienteret programmering), men det er jo programmørens måde hvorpå kan skaber sine egne klasser med tilhørender medlemmer og metoder, hvilket gør det hypersmart. En lang og avanceret klasse i sig selv ville kunne rumme hele ovenstående, hvor du så bare skriver: var Gallery:Gallery = new Gallery("billede1", "billede2", "billede3"); Og så har man enten udnyttet det maksimalt eller udnyttet det for meget. Det er op til en selv at vurdere. Jeg er glad for, at det virker, og at du er tilfreds med det, og jeg synes nu, du skal spare dine penge, og lade være med at bruge dem på én, du ikke engang kender.
12. juni 2007 - 05:58
#19
Og spar du også på dine point. Jeg besvarer ikke spørgsmål for pointenes skyld, men for æren :)
12. juni 2007 - 06:50
#20
Jamen så siger jeg bare endnu engang tak. Problemet med siden er, at jeg vil egentlig gerne have, at man kan skrive 1 - 2 - 3 osv. og at billederne bliver sat op i den rækkefølge brugeren bestemmer. Faktisk vil jeg også gerne have underpunkter (ala 1.1 og 1.2 osv.) så de billeder kommer som underpunkter. Gad vide om det er muligt at lave?
12. juni 2007 - 13:37
#21
Hvordan skal underbillederne så vises? Skal det være sådan, at hvis man nu klikker på billedet, skiftes hele billedserien ud med underbillederne? Eller skal billedet, man klikkede på, erstattes af billedserien af underbilleder? Eller skal det måske stilles op på en helt anden måde?
12. juni 2007 - 14:02
#22
Og lige en note, du bør skrive dig bag øret: Erklær først en opgave umulig efter selv at have prøvet at løse problemet, og gennemtænkt enhver mulighed. Start aldrig med "Gad vide, om det er muligt" eller "Kan man overhovedet...?". Alt, hvad du kan tænke dig til at sjove ting og sager og finurligheder, kan laves i Flash - bortset fra ondsindede vira og superavanceret programmering med ændring i computerens hukommelse og grafiske opsætninger og sådan noget. Grafisk dækker Flash alle behov, og med lidt fornuft og viden kan du kombinere det med alverdens andre sprog. PHP og ASP eksempelvis - eller til de helt avancerede findes Northcode's SWF Studio.
12. juni 2007 - 15:57
#23
Jeg ved at alt kan lade sig gøre, blot at jeg (endnu forhåbentlig) ikke er dygtig nok :( Jeg forestiller mig, at hvis man skriver 1, 2, 3 o.s.v., så vises billederne på øverste niveau og hvis man skriver 1.1, 1.2, 2.1, 2.2 o.s.v. så vises billederne på 2. niveau. Altså skal man ikke kunne skrive 1.1, 1.2, 2.1, 2.2 o.s.v. hvis der ikke er valgt et 1. niveau. Py ha, det er avanceret?
12. juni 2007 - 16:07
#24
Jeg tror ikke det bliver så svært igen, jeg ser lige på det :)
12. juni 2007 - 16:15
#25
Hvis det nu fungerer sådan, at man styrer billederne til højre og ventre samt niveaumæssigt på nogle pile eller ved at trække billederne i et lille preview, er det så okay? Eller er det meget strængt, at man skal skrive det? For at skrive det virker i mine øjne en smule primitivt :)
12. juni 2007 - 16:30
#26
Det er helt perfekt. Det primære er at man kan vælge på 2 niveauer.
12. juni 2007 - 16:31
#27
...og at samme billeder kan vælges på begge niveauer
23. juli 2007 - 22:11
#28
Maqhem, du er sgu 112% i orden.
23. juli 2007 - 22:23
#29
Tak skal du have, larsholdgaard_dk, det er jo ligesom Toyota :) Men jeg er lidt pinlig over, at jeg har givet afkald på at OOP'e scriptet samt gøre det helt færdigt, som starter jo ønsker/ønskede det, men jeg må indrømme, at jeg kan ikke tage mig sammen til at gøre det. Beklager, starter, du må "nøjes" med de 541 linjer, som står ovenfor.
23. juli 2007 - 22:24
#30
Ej og så staver jeg dit navn forkert. Og så endda til dig, som er en af de eneste, der kan stave mit navn rigtigt. Jeg prøver lige igen: larsholmgaard_dk.
24. juli 2007 - 06:50
#31
;-)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.