Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-07-2006, 17:28   #1 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
dynamisch geldaenes Bild über ID attachen

Hm, hoffe, der Titel hat es kurz und richtig ausgedacht. Also ich hab folgendes Problem:

Ich möchte ein Bild in Flash laden,
mit loadMovie kein Problem.

Jetzt möchte ich aber anschließend, dass von diesem geladenen Bild weitere Instanzen per attachMovie erzeugt werden.

Also ich möchte das Bild (von mir aus auch in einem Containermovieclip) über eine ID angesprochen wird, wie MovieClips oder Bitmaps in der Bibliothek,
bei denen "Export für Actionscript" aktiviert ist.

Kann mir da jemand sagen, wie ich das anstelle?

Danke im Vorraus.
__________________
http://fuxplusplus.blogspot.com
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 17:31   #2 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hallo, was du vorhast ist leider nicht möglich. du erreichst aber gleiches, indem du das bild so oft lädst wie du es benötigst - wenn es einmal geladen ist, ist es erstmal für ne weile im arbeitsspeicher und vielleicht sogar im cache.
das bedeutet, dass das bild tatsächlich nur einmal geladen wird und du es aber häufig benutzen kannst.

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 20-07-2006, 17:39   #3 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
Hm, nope, darum geht es leider nicht.

Es geht darum, dass ich eine Klasse verwenden möchte, welche die "id" eines Bildes verlangt. Da ein dynamisch geladenes Bild aber keine "id" hat, kann ich das Bild mit der Klasse auch nicht anfassen =/

Wenn das mit attachMovie klappen würde, würde es dann mit der Klasse auch funktionieren.
Um das nicht zu verkomplizieren, habe ich die Klasse nicht erwähnt.

Aber effektiv möchte ich die image distortion klasse vom andré michelle mit einem dynamisch geladenen Bild verwenden.

Geht das irgendwie? ò.O
ich mein ich kann mir irgendwie nicht vorstellen, dass das nicht geht *wunder*
__________________
http://fuxplusplus.blogspot.com
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 17:44   #4 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
doch genau hierum geht es doch
Zitat:
Zitat von Ullmann
Jetzt möchte ich aber anschließend, dass von diesem geladenen Bild weitere Instanzen per attachMovie erzeugt werden.
das ist technisch nicht möglich. nicht nur ein geladenes bild hat kenie id - bilder haben überhaupt keine id. movieclips in der bibliothek haben eine id, aber in die bibliothek kannst du keine bilder laden.

in der hilfe kannst du nachlesen, dass die methode duplicateMovieClip keine inhalte dupliziert, also klappt auch das nicht.

die einzige möglichkeit duplikate von geladenen bildern zu erzeugen, ist sie mehrfach zu laden.

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 20-07-2006, 17:50   #5 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
Ja, das ist prinzipiell richtig.

Allerdings geht es halt nicht darum, das Bild mehrfach zu laden.
Ich möchte lediglich ein Bild von außen mit dieser Klasse verknüpfen.
Ich meinte halt nur, dass durch mehrfaches Laden mein Problem nicht gelöst ist, y'know?



hmm . . . das wird schwerer als ich dachte
__________________
http://fuxplusplus.blogspot.com
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:00   #6 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hm warum verwendest du dann nicht einfach den instanznamen des movieclips, in den das bild geladen wurde? eine ID in der bibliothek ist doch auch nichts weiter....

lade das bild in einen container und tue danach so, als ob du ihn gerade attached hättest.
janoshnosh ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:05   #7 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
Meinst Du in etwa so?


PHP-Code:
this.createEmptyMovieClip("myInstance"1);
this.myInstance.loadMovie("image.jpg");
this.attachMovie ("myInstance""myNewInstance"2); 
Das funktioniert leider nich =/


Also im Clip myInstance liegt dann das Bild drinnen,
aber in myNewInstance lädt er nichts rein. o.o
__________________
http://fuxplusplus.blogspot.com

Geändert von Ullmann (20-07-2006 um 18:06 Uhr)
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:11   #8 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
Eine Bibliotheksverknüpfungs is nur "pfadabwärts" zu verwenden soll heißen,
du lädst in _root.container eine swf mit diversen Objekten in der Bibliothek die du gerne attachen willst, das geht aber nur in den parents von _root.container, nicht oberhalb. Sonst hättest du bei einem größeren Projekt nen Chaos von Verknüpfungsnamen-hier an dem Satz stutze ich grade, da ich auch schonmal das Problem mit der Scrolelrkomponente hatte, dass externe SWFs den Skin des Scrollbalken überschrieben haben-bin mir aber trotzdem sicher, dass die Regel "pfadabwärts" gilt-sonst wär ich doch damals nicht auch schon daran gescheitert.

(eifrig nach der Quelle suchend)

grüße
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:19   #9 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
Meinst Du damit, dass ich meine Bilder in die Bibliothek einer anderen swf Datei legen soll und dann die Bilder aus der Bibliothek holen soll?

Das würde funktionieren. Aber das ist doch nicht besonders elegant. Wenn ich dann im Nachhinein Bilder ändern möchte, muss ich jedesmal dafür in Flash rumfuhrwerken . . .

Oder meintest Du das anders?
__________________
http://fuxplusplus.blogspot.com
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:32   #10 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
ohh wir reden aneinander vorbei
dir gehts um "echte" externe jpgs denen du eine id verpassen willst?

Ich bin bereits davon ausgegangen du willst das über einen moviclip lößen in dem dein bild bereits liegt und den du aus ner swf laden willst.

Hast du nen Link zu der Klasse? Wird dort ein Bild über registerClass mit der entsprechenden Klasse verbunden? Wird der "Effekt" (is doch einer?) über viele Kopien realisiert- das macht die Verknüpfung mit einem Container, der dann das Bild läd schwer bsi unmöglich.
blabla laß mal das ding sehen.

grüße
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:44   #11 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
Ja, genau, externe jpg's.

In der Funktion aus der Klasse wird eben nach diesen Attributen gefragt

DistortImage( parent: MovieClip, symbolId: String, vseg: Number, hseg: Number )

und die symbolId macht mir eben Probleme, weil es eine ID sein muss und ein extern geladenes jpg keine hat.

Hier ist die Klasse runterzuladen.

http://www.flashmxpro.com/flas/flas_...63808297285648


danke für die mühe


EDIT: Ja, es werden viele "triangles" von dem Bild erstellt. Soweit ich weiß.
__________________
http://fuxplusplus.blogspot.com

Geändert von Ullmann (20-07-2006 um 18:46 Uhr)
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 18:56   #12 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
also externe jpgs würde gehen, aber bei ner segmentebreite (hor wie ver) von zB 5 pixeln bei nem

100x100 bild brauchste 400 segmente-ich weiß nicht wie flash mit caching auf solch große mengen reagiert.Rein theoretisch könnte man die Klassen usmchreiben, damit sie ein externes jpg zB 400x läd.
Sofern Flash direkt auf den Cache anspringt wäre das kein Ding, wenn aber 400 der Server kontaktiert wird..ich weiß nicht ob das geht.

Der Umbau betrifft dann die
getImageSize() methode
sowie die
createTriAngle() methode, dort wird dutzende Male attached
nen Versuch wärs mal Wert.

Das beste für dich wäre aber eine externe Bibliothek/SWF mit dem Bild in einem Movieclip der eine Verknüpfungs-Id besitzt- da wären wir bei dem oben beschriebenen Problem! Auf der Suche nach der Quelle bin ich komischerweise auf Workarounds gestoßen, vielleicht hilft das ja

Gesucht hab ich nach "linkage id attachmovie" in google.de

Berichte bei Erfolg

grüße
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 20-07-2006, 19:19   #13 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
Hmm . . . ich habe gerade mal im Forum gesucht, bin aber nicht wirklich auf eine Lösung gekommen.

Ich sehe da vielleicht noch eine andere Möglichkeit, mein Problem zu lösen.

Und zwar über die BitmapData Klasse in Flash 8.

Ich weiß, wie ich einen Snapshop von einem extern geladenen jpg machen kann, so dass ich es mit BitmapData weiterverarbeiten kann.

Und in der Klasse ist ja alles dabei, was man zum anfassen und setzen von einzelnen Pixel-Farbwerten braucht. Und das ist ja prinzipiell alles, was man für perspektivische Verzerrung braucht.

Wie kriege ich das jetzt hin, dass das Bild auf der linken Seite in der Höhe (nach oben sowie unten) gestretcht wird und auf der rechten Seite in seiner Ursprungshöhe bleibt.
Und dann so, dass ich es halt mit onEnterFrame am linken Rand vergrößern und verkleinern kann.

Momentle . . .

ich mach mal ein paar Bilder, wie ichs mein . . .
__________________
http://fuxplusplus.blogspot.com
Ullmann ist offline   Mit Zitat antworten
Alt 20-07-2006, 19:27   #14 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
Das schafft dir das Hauptproblem wohl vom Hals, aber ist ja auch kein AS1 mehr
Beziehungsweise nichtmal die Klasse von andre-die ist AS2

Besitzt du fmx,7 oder 8?
Meinst du mit deine Beschreibung nen Trapez?

edit:
Für nen Trapez würde ich spontan-fern jder Formel-
in der init Methode
bei
x = ix * hsLen;
y = iy * vsLen;
ansetzen, die y Werte müssen ja nach deiner Aussage je nach xpos weiter auseinander liegen,
das machste dann bei den Punkten.
Die andere Sache ist die render() Methode, da musste natürlich auch korrekte yscales errechnen.

grüße
deluxe

Geändert von Deluxe (20-07-2006 um 19:31 Uhr)
Deluxe ist offline   Mit Zitat antworten
Alt 20-07-2006, 19:29   #15 (permalink)
The Collector
 
Benutzerbild von Ullmann
 
Registriert seit: Apr 2004
Ort: Cologne
Beiträge: 137
also . . . ein dynamisch eingeladenes Bild,
ich nehme mal als Beispiel dieses hier



das ich on EnterFrame so wie unten verzerren kann.



Damit würd ich mich schon zufriedengeben


Noch besser wäre es, wenn ich das Ding sogar so verzerren könnte:




Und optimal Lösung wäre das hier:




aber wie gesagt, ich würde mich mit dem ersten schon zufrieden geben?


Vielleicht sollte man mal den Titel des Themas ändern oder es in ein anderes Forum packen, keinen Ahnung, es geht ja schon in adere Richtungen.

Also weiß jemand, wie ich das mache?

(sorry, dass ich so beharrlich bin, aber ich bin völlig unter Zeitdruck und mein Kopf raucht total irgendwie)

Gruß
ullmann


PS: Ja, ich hab auch Flash 8 zur Verfügung, aber ich dachte nicht, dass das noch so weit gehen würde. ^^
__________________
http://fuxplusplus.blogspot.com
Ullmann ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele