|
REPLAY: bild-o-mat workshop
Ablauf/Zeitplan | Ressources | Downloads |
Daten, Mapping usw...
Eure Bilddaten auf CD-ROM: DaTen
Mapping Eurer IPTC-Felder zur EasyDB: Mapping easyDB
Handbuch zum Ausfüllen des XML-Dokumentes und der EasyDB-Felder: Handbuch
Ablauf Workshop
Beginn Montag, den 14.2. um 9 Uhr
Ort: E 65
1.Woche: Konzept und Umsetzung
Montag, den 14.2.05 | 9 Uhr | Flash, ext. Libary, ext. actionScript | ab 14 Uhr | Konzeptbesprechung in Einzelgruppen |
Dienstag, den 15.2.05 | 9 Uhr | Flash | mittags | Einzelbesprechung nach Bedarf |
Mittwoch, den 16.2.05 | 9 Uhr | Datenbanken | mittags | Einzelbesprechung nach Bedarf |
Donnerstag, den 17.2.05 | 9 Uhr | Ergänzen der Metadaten | ab 14 Uhr | erste Zwischenpräsentation |
Freitag, den 18.2.05 | | Einzelbesprechung nach Bedarf | . | |
2. Woche: Umsetzung und Präsentation
Montag, den 21.2.05 | | Einzelbesprechung nach Bedarf | . |
Dienstag, den 22.2.05 | | Einzelbesprechung nach Bedarf | . |
Mittwoch, den 23.2.05 | | Einzelbesprechung nach Bedarf | . |
Donnerstag, den 24.2.05 | | Vorbereitung der Präsentation | . |
Freitag, den 25.2.05 | 9 Uhr | Schlußpräsentation mit Gästen | Ort E 15.1 |
ActionScript Ressources
Für den replay Workshop wird euch die Kommunikation mit der Bilderdatenbank 'easyDB' zur Verfügung gestellt.
Um diese Funktionalität zu nutzen müsst ihr im ersten Frame eurer Animation die entsprechende ActionScript Datei mit dem #include Befehl einbinden.
Zum Beispiel: #include "connectEasyDB_v0.01.as"
AlteVersionen
NEU
- connectEasyDB_v1.0.as:
- Anwendungen:
- FUNKTION: _askEasyDB(myColumn:String, myArg:String [, myStyle:String, myTargetArray:Array, myTargetFunction:Function, myMode:String, myLimit])
- stellt eine einfache Anfrage an die Datenbank(genau genommen an ein php Script, welches die Kommunikation mit der datenbank übernimmt), zum Beispiel: askEasyDB("Titel","freak");
- die zusätzliche Parameter erlauben jedoch eine genauere Abfrage. Neu ist die Angabe eines Arrays in welches die Informationen abgelegt werden können und die Angabe einer Funktion, die ausgeführt werden soll, wenn die Antwort der Datenbank verarbeitet ist.
- die Parameter in der eckigen Klammer sind optional. Will man einen der Parameter benutzen, muessen die vorangehenden Parameter ebenfalls gesetzt werden, mindestens mit dem 'default' Wert!
- myStyle [default: "normal"]:Sring!
- "exact" : gibt nur wirklich eindeutige Suchergebnisse zurück, z.B. _root.askEasyDB(id, 45,"exact"); // max. 1 Ergebnis
- "numerical_less" : entspricht der < Anfrage, z.B. _root.askEasyDB(id, 23,"numerical_less"); // mehrer Ergebnisse möglich
- "numerical_greater" : entspricht der > Anfrage, z.B. _root.askEasyDB(id, 67,"numerical_less"); // mehrer Ergebnisse möglich
- "numerical_less_equal" : entspricht der <= Anfrage, z.B. _root.askEasyDB(id, 48,"numerical_less_equal"); // mehrer Ergebnisse möglich
- "numerical_greater_equal" : entspricht der >= Anfrage, z.B. _root.askEasyDB(id, 13,"numerical_greater_equal"); // mehrer Ergebnisse möglich
- myTargetArray [default: default]
- hier könnt ihr ein Array angeben, in welches das Ergebnis eurer Suchanfrage abgelegt werden soll. Das Array muss VOR der Anfrage schon existieren!
- soll das Ergebnis in das _global.imageControl_array abgelegt werden muss der Eintrag default sein.
- myTargetFunction [default: default]
- hier könnt ihr eine FUNKTION angeben, die ausgeführt werden soll anstelle der _root.actionOnAnswer_xmlLoad(); Funktion. Die myTargetFunction muss schon vor der Anfrage existieren!
- soll die übliche root.actionOnAnswer_xmlLoad();_ ausgeführt werden muss der Eintrag default sein.
- myMode [default: "normal"]:Sring!
- "normal" : ergibt kein Unterschied zur bisherigen Suchanfrage
- "complex" : erlaubt das zusammenstellen komplexer Anfragen mit SQL Statements MIT VORSICHT ZU GEBRAUCHEN !!
- Der Mode 'complex' gibt mit dem Parameter 'where' Informationen aus der Datenbank. Damit können nur die gesamten Informationen eines Feldes ausgegeben, Groß- und Kleinschreibung ist verbindlich, Worte werde mit ' ' eigegeben, Zahlenwerte werden direkt eingegeben. (Beim Suchmodus 'complex' wird die Option myStyle überschrieben, muß aber als Parameter mitgesendet werden.)
- Z.B. die Suchanfrage für Bilder mit der Größe 100-200kb:
- WHERE filesize > 100000 AND filesize < 200000.
- Im URL muss das mit Apostroph getrennt sein:
- mode=complex&where="filesize > 100000 AND filesize < 200000".
- z.B.http://leonbattista.ethz.ch/~spindler/replay-test.php?mode=complex&where="Bilder.id<1724 AND Bilder.id>1720"
- Oder um aus dem Feld "Werkzusammenhang" dieses Suchergebnis zu erhalten: "strasse, shinjuku, tokio ,japan, leuchtreklamen" müßt ihr in die Anfrage die gesamten Worte eingeben. Das sieht dann so aus:
- http://leonbattista/~spindler/replay-easydb.php?mode=complex&where="Werkzusammenhang='strasse, shinjuku, tokio ,japan, leuchtreklamen'"
- mylimit
- "limit": Anzahl der zurückgegebenen Bilder wird eingeschränkt
- z. B: http://leonbattista.ethz.ch/~spindler/replay-test.php?column=masse&search=budapest&limit=3 // liefert 3 Suchergebnisse
- Die Zahl gibt die Anzahl der Bilder an. Mit n,m kann ein Bereich angegeben werden: limit=0,10 zeigt die Bilder 0-10 an, limit=11,20 die Bilder 11-20.
- FUNKTION: getInfoEasyDB(myColumn, myTargetAray [, myTargetFunction])
- Diese Funktion erlaubt Dir, sehr einfach Informationen aus der Datenbank zu erhalten.
- der Parameter in der eckigen Klammer ist optional.
- "column": Auswahl der gewünschten Spalte
- myTargetFunction [default: default]
- hier könnt ihr eine FUNKTION angeben, die ausgeführt werden soll anstelle der _root.actionOnGetInfoEasyDB Funktion. Die myTargetFunction muss schon vor der Anfrage existieren!
- soll die übliche root.actionOnGetInfoEasyDB() , bracuht man den Parameter nicht zu setzen.
* myTargetArray
- hier MUESST ihr ein Array angeben, in welches das Ergebnis eurer Suchanfrage abgelegt werden soll. Das Array muss VOR der Anfrage schon existieren!
- habt ihr z.B. folgende Anfrage verschickt: __root.getInfoEasyDB("masse", _root.meineStadt_array) findet ihr in jedem Feld (Schrank--> Schublade) eine 'Stadt'. z.B. trace(_root.meineStadt_array[2]); // Output: Zuerich
- Die Anfrage wird nur mit "mode=distinct" gesendet und gibt nur den Wertebereich einer Spalte wieder. Doppelnennungen sind bereits herausgefiltert.
- z.B. http://leonbattista.ethz.ch/~spindler/replay-test.php?mode=distinct&column=masse
- FUNKTION: sendEasyDB(my_lv, myColumn)
- der zu ändernde Wert muss zuerst im Flashobjekt gespeichert werden, zum Beispiel: _global.imageControl_array[3].titel = "mein neuer titel";
- schreibt bzw. speichert Informationen zu einem Bild in der Datenbank
- alle beiden Parameter müssen angegeben werden.
- my_lv
- wo befinden sich die Informationen zu dem Bild, zum Beispiel: _global.imageControl_array[3]
- myColumn
- Welchen Wert wollt ihr ändern? Für Änderungen an dem 'Replay XML' ist nicht die zu ändernde Eigenschaft anzugeben, sondern immer "myReplay" !
- Falsch: _root.sendEasyDB(_global.imageControl_array[3],"Architekt_nach");
- Richtig: _root.sendEasyDB(_global.imageControl_array[3],"myReplay");
- Richtig: _root.sendEasyDB(_global.imageControl_array[45],"Titel");
- Beispiele:
- _root.sendEasyDB(meineVariable,"Titel","Dieser Titel ist viel besser");
- _root.sendEasyDB(_global.imageControl_array[3],"myReplay");
- FUNKTION: searchMyReplay(my_array, myColumn, myValue):ARRAY
- mit dieser Funktion könnt ihr das 'replay' xml durchsuchen. NICHT das xml in der Datenbank, die Informationen zu einem Bild müssen zuerst angefragt worden sein.
- diese Funktion gibt euch ein Array mit den Treffern zurück.
- alle beiden Parameter müssen angegeben werden.
- my_array
- das Array indem die Informationen abgelegt sind (das Ergebnis der askEasyDB Anfrage), zum Beispiel: _global.imageControl_array
- myColumn
- In welcher Sparte wollt ihr suchen?
- myValue
- Nach welchem Wert soll gesucht werden!
- Beispiel:
- meinErgebnis_array = _root.searchMyReplay(_global.imageControl_array,"Architekt_nach","Gropius");
- weitere Informationen:
- weitergehende Informationen, z.B. zum _global.imageControl_array oder _root.actionOnAnswer_xmlLoad(); findet ihr hier: AlteVersionen:
- replayUtilities_v0.05.as:
- Anwendungen:
- die Datei muss ebenfalls mit #include "replayUtilities_v0.03.as" eingebunden werden.
- in Verbindung mit connectEasyDB_v0.0x.as erlaubt es die automatische Übersetzung des 'Mapping easyDB'
- FUNKTION: randRange(min,max)
- diese Funktion gibt eine zufällige ganzzahlige Zahl in einem bestimmten Bereich zurück.
- siehe auch.
- FUNKTION: _root.placeImage(target_mc, myObj, mySpaceHeight:Number, mySpaceWidth:Number, clipName:String, imgUrl:String, posX:Number, posY:Number, center:Boolean, myFunction)
- Parameter
- target_mc: In welchen Clip soll das Bild geladen werden? Es muss ein MovieClip angegeben werden! z.B. _root.clip_mc
- myObj: Wo findet man die Informationen zu dem Bild? z.B. _global.imageControl_array[0]
- mySpaceHeight: In welche Höhe soll das Bild eingepasst werden? z.B. 80
- mySpaceWidth: In welche Breite soll das Bild eingepasst werden? z.B. 80
- clipName: Wie soll der Clip heissen, in welchen das Bild geladen werden soll? z.B. "hans"
- --> Information: Das Bild wird nicht in den Clip "hans" geladen. Im Clip "hans" wird ein leerer Clip 'img_mc' gemacht, in dem dann das Bild geladen wird.
- imgUrl: welche Bildgrösse soll geladen werden? z.B. "urlThumb"
- posX: x position im target_mc
- posY: y position im target_mc
- center: Soll das Bild zentriert werden? z.B. true (HINWEIS: Es muss ein BOOLEAN übergeben werden, kein String!)
- myFunction: hier kann man optional eine Funktion übergeben, welche zum Beispiel die Bilder sortiern soll! z.B. "_root.setOrder"
- FUNKTION: realSizeOfImage(myObj, imgUrl):LoadVars
- diese Funktion gibt euch ein LoadVars Objekt zurück, mit der Bildgrösse des angefragten Bildes in Pixels
- über die Eigenschaften toLoadHeight und toLoadWidth kann man die Werte abfragen.
- Parameter
- myObj: z.Bsp. _global.imageControl_array[3]
- imgUrl: z.Bsp. "urlThumb"
- Beispiel:
- my_lv = _realSizeOfImage(_global.imageControl_array[3], "urlBig");
- trace(_my_lv.toLoadHeight); // Output: 234
- trace(_my_lv.toLoadWidth); // Output: 600
- FUNKTION: scaleFactor(mySpaceWidth, mySpaceHeight, toLoadWidth, toLoadHeight):NUMBER
- diese Funktion gibt euch den passenden Skalierfaktor zurück
- Parameter
- mySpaceWidth und mySpaceHeight: die Grösse in welche das Bild eingepasst werden soll..
- toLoadWidth und toLoadHeight: wie gross idt das zu ladende Bild in Pixel.
- Beispiel:
- myScale = _root.scaleFactor(456, 234, 678, 267);
- myScale = _root.scaleFactor(myWidth, myHeight, _realSizeOfImage(myObj, imgUrl).toLoadWidth, _realSizeOfImage(myObj, imgUrl).toLoadHeight);
Replay Downloads
- function randRange(min,max)
// The following example returns a random number between two specified integers.
// Quelle: macromedia flash help: math.random();
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.round(Math.random()*(max-min))+min;
return randomNum;
}
Description Feld: XML-Struktur
Ausfüllen: siehe Handbuch
<replay>
<Bauaufgabe>
<Wert></Wert>
<Wert></Wert>
</Bauaufgabe>
<Architekt_vorn>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
</Architekt_vorn>
<Architekt_nach>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
</Architekt_nach>
<Material>
<Wert></Wert>
<Wert></Wert>
</Material>
<Bauteil>
<Wert></Wert>
<Wert></Wert>
</Bauteil>
<Epoche></Epoche>
<Sty_Wert>5</Sty_Wert>
<Sty_Sum></Sty_Sum>
<Sty_Vote></Sty_Vote>
<Qu_Wert>5</Qu_Wert>
<Qu_Sum></Qu_Sum>
<Qu_Vote></Qu_Vote>
<Form_Wert>5</Form_Wert>
<Form_Sum></Form_Sum>
<Form_Vote></Form_Vote>
<Farbe>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
</Farbe>
<Person>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
</Person>
<Taetigkeit></Taetigkeit>
<Bildgattung></Bildgattung>
<User>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
<Wert></Wert>
</User>
<Usergruppe>Architekt</Usergruppe>
</replay>
Backup Thus 2005-02-17
Revision r1.29 - 28 Feb 2005 - 12:52 - KaiRuedenauer Parents: WebHome
|
Copyright © 1999-2003 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.
|
|
|