Bildergalerie die sich selbst aktualisiert [Flash 11]
| Beiträge: 25 Registriert: Dec 2010
| 28.01.2016, 20:24
Hallo!
Also zu Beginn ich habe Flash cs 5.5! Keine Ahnung welche Version das ist!
Ich würde gerne eine Bildergalerie bauen die automatisch alle Bilder anzeigt die im Ordner Bilder sind! Das heisst wenn schon neun Bilder drin sind und die Bildergalerie neun bilder anzeigt und wenn ich dann ein neues Bild in den Ordner speichere das dann die Bildergalerie automatisch das neue Bild beim nächsten aufrufen mit anzeigt!
Ich habe auch schon im Internet gegoogelt!
Ich habe eine Seite gefunden und das ausprobiert!
Jetzt habe ich folgendes:
1) einen Ordner mit dem namen "bilder"
2) im Ordner "Bilder" habe ich ein datei die heisst "read.php"
Der code in der "read.php" ist dieser:
_________________________________________________________________________
<?php
$daten="";
$handle=opendir ("bilder");// "bilder" ist der ordner in dem die bilder liegen
while ($datei = readdir ($handle))
{
// Verzeichnisse filtern
if ($datei != "." && $datei != ".." && !is_dir($datei)) {
// Nur Bilder durch lassen (Filter)
if (strstr($datei, ".gif") ||
strstr($datei, ".png") ||
strstr($datei, ".jpg")) {
$daten.=$datei."##";
}}}
closedir($handle);
echo "$daten";
?>
_________________________________________________________________________
Dann habe ich in dem Ordner "Bilder" noch 61 Bilder mit verschiedenen Namen.
Die einen heissen :
"a65image1.jpg" bis "a65image15.jpg"
die anderen heissen :
"CIMG2417.jpg" bis "CIMG2545.jpg".
Und dann habe ich noch eine datei die heisst "gallery.as" darin ist das actionscript.
Das so aussieht:
__________________________________________________________________________
package
{
import flash.events.*;
import flash.net.*;
import flash.display.*;
public class gallery_touch extends MovieClip
{
////EINSTELLUNGEN
public var x_abstand_tbn:Number=55;
public var y_abstand_tbn:Number=55;
//position thumbnail
public var y_tbn:Number=0;
//splaten thumbnail
public var spalten:Number;
//position bilder
public var img_y:Number=0;
public var img_x:Number=240;
//pfad zu bilderordner
public var pfad:String;
//art der gallery
public var touch:Boolean;
public var standard:Boolean;
////////////////////////////////
var counter:Number=0;
public function init()
{
////DATEN
var v:URLVariables = new URLVariables();
var request:URLRequest=new URLRequest(pfad+"read.php");
request.method=URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat=URLLoaderDataFormat.TEXT;
loader.load(request);
loader.addEventListener(Event.COMPLETE,geladen);
function geladen(e:Event)
{
var box:Array = new Array ();
box=e.target.data.split("##");
box.length=box.length-1;
/////img_thumbnail erstellen
var img_thumbnail:Array=[];
var img:Array=[];
for (var i:int; i<box.length; i++)
{
var load_thumbnail:Loader = new Loader();
///Thumbnail
var mc_thumbnail:MovieClip = new MovieClip();
addChild(mc_thumbnail);
load_thumbnail.load(new URLRequest(pfad+box[i]));
img_thumbnail[i]=mc_thumbnail;
mc_thumbnail.addChild(load_thumbnail);
///verteilung x_achse
img_thumbnail[i].x=x_abstand_tbn*counter;
///verteilung y_achse
img_thumbnail[i].y=y_tbn;
counter++;
if (counter>spalten)
{
counter=0
;
y_tbn=y_tbn+y_abstand_tbn;
}
load_thumbnail.contentLoaderInfo.addEventListener(Event.COMPLETE,fertig_tbn);
function fertig_tbn(e:Event):void
{
for (var i:int =0; i<img_thumbnail.length; i++)
{
img_thumbnail[i].height=img_thumbnail[i].width=50;
}
}
if (standard==true)
{
///IMG
var load_img:Loader = new Loader();
var mc_img:MovieClip = new MovieClip();
addChild(mc_img).y=300;
load_img.load(new URLRequest(pfad+box[i]));
img[i]=mc_img;
mc_img.addChild(load_img);
mc_img.alpha= 0
}
}
/////Buttons
for (var k:int; k<box.length; k++)
{
img_thumbnail<i>.ID=k;
img_thumbnail<i>.addEventListener(MouseEvent.ROLL_OVER, mouse);
img_thumbnail<i>.addEventListener(MouseEvent.ROLL_OUT, mouse_out);
}
function mouse(e:MouseEvent)
{
if (touch==true)
{
img_thumbnail[e.target.ID].scaleY=1;
img_thumbnail[e.target.ID].scaleX=1
;
setChildIndex(img_thumbnail[e.target.ID],box.length-1);
for (var k:int; k<box.length; k++)
{
if (img_thumbnail[e.target.ID].hitTestObject(img_thumbnail<i>))
{
img_thumbnail<i>.alpha=0;
setChildIndex(img_thumbnail<i>,box.length-1);
img_thumbnail[e.target.ID].alpha=1;
}
}
}
if (standard==true)
{
for (var z:int; z<box.length; z++)
{
img[z].alpha=0;
if (img_thumbnail[e.target.ID].hitTestObject(img_thumbnail[z]))
{
img[e.target.ID].alpha=1;
}
}
}
}
function mouse_out(e:MouseEvent)
{
if (touch==true)
{
img_thumbnail[e.target.ID].width=50;
img_thumbnail[e.target.ID].height=50;
for (var k:int; k<box.length; k++)
{
img_thumbnail<i>.alpha=1;
}
}
}
/////////
/////FUNKTIONEN
function button_mode()
{
for (var i:int; i<box.length; i++)
{
img_thumbnail[i].buttonMode=true;
}
}
button_mode();
}
}
}
}
__________________________________________________________________________
Und dann habe ich noch die datei "index.fla". das actionscript in dieser datei ist dieses:
__________________________________________________________________________
var gallery:gallery_touch=new gallery_touch();
gallery.pfad = "bilder"
gallery.spalten = 8
gallery.standard = true
gallery.touch= false
gallery.init()
addChild(gallery)
__________________________________________________________________________
Wenn ich dann auf Film testen klicke kommen die Fehlermeldungen:
Scene 1, Layer 'Layer 1', Frame 1, Line 1 1046: Type was not found or was not a compile-time constant: gallery_touch.
Scene 1, Layer 'Layer 1', Frame 1, Line 1 1180: Call to a possibly undefined method gallery_touch.
Scene 1, Layer 'Layer 1', Frame 1, Line 2 1202: Access of undefined property pfad in package gallery.
Scene 1, Layer 'Layer 1', Frame 1, Line 3 1202: Access of undefined property spalten in package gallery.
Scene 1, Layer 'Layer 1', Frame 1, Line 4 1202: Access of undefined property standard in package gallery.
Scene 1, Layer 'Layer 1', Frame 1, Line 5 1202: Access of undefined property touch in package gallery.
Scene 1, Layer 'Layer 1', Frame 1, Line 6 1180: Call to a possibly undefined method init.
__________________________________________________________________________
Also genug fehlermeldungen auf einmal!
Ich weiss das ich bestimmte Dateien an bestimmten orten ablegen muss das es funktioniert!
Kann mir jemand weiter helfen?
So weit bin ich gekommen! Jetzt muss ich es nur noch an die richtigen orte speichern damit die Gallerie auch auf meiner Homepage funktioniert!
Aber da blicke ich nicht mehr durch! Eine php oder script fähige homepage bzw anbieter habe ich! Ich habe schon kontaktformulare und einfache Bildergalien gebaut die Funktionieren und einen player der lieder abspielt wenn man play drückt und das nächste lied abspielt wenn man auf den "vorwärts"pfeil klickt!
Also werde ich doch eine Bildergalerie die immer aktuell ist wenn man ein neues Bild in den Ordner einfügt auch hin bekommen!
Bitte kann mir wer helfen?
Vielen Dank im Vorraus! | |
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|