Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-07-2005, 11:31   #1 (permalink)
cwt
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 4
Warum geht das nicht???*arg*

ich verstehe das nicht. bin zwar neuling aber habe schon mal programmiert.
kann mir von euch da einer helfen?

da sollen bilder geladen werden. und dann einfach hintereinander positioniet werden.

for (var i=1;i<4;i++){
createEmptyMovieClip ("mcs"+i,i); //erstellen der MC
_root["mcs"+i].loadMovie (i+".jpg"); // Laden der Bilder in die MC´s
_root["mcs"+i]._x=(_root["mcs"+(i-1)]._width)+5; //positionierung
}

danke.
cwt ist offline   Mit Zitat antworten
Alt 22-07-2005, 11:38   #2 (permalink)
Neuer User
 
Benutzerbild von WildDogSmith
 
Registriert seit: Aug 2002
Ort: Dorsten
Beiträge: 34
Beim Laden von Bildern, brauchst du einen preloader.
Dein Script läuft wahrscheinlich schneller ab, als das die Variable _width des Movies auf die des geladen Bildes steht. In Folge ist zu diesem Zeitpunt _width = 0 oder null und dann landen alle Movies auf der gleichen Position...

GreetinX
WildDogSmith ist offline   Mit Zitat antworten
Alt 22-07-2005, 11:48   #3 (permalink)
cwt
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 4
naja die bilder werden schon versetzt angezeigt, aber leider nur immer um 5 pixel.

_root["mcs"+i]._x= (_root["mcs"+(i-1)]._width) + 5;

als ob er nicht sagen könnte wie groß das bild ist.

habe noch einen fahler entdeckt. sollte eigentlisch so sein.

_root["mcs"+i]._x=(_root["mcs"+(i-1)]._x + _root["mcs"+(i-1)]._width) + 5;

warum brauch ich aber ein preloader. lokal muss das doch ganz fix da sein. sie sind auch nur max 10k groß

Geändert von cwt (22-07-2005 um 11:59 Uhr)
cwt ist offline   Mit Zitat antworten
Alt 22-07-2005, 11:59   #4 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Zitat:
Zitat von cwt
naja die bilder werden schon versetzt angezeigt, aber leider nur immer um 5 pixel.

_root["mcs"+i]._x= (_root["mcs"+(i-1)]._width) + 5;

als ob er nicht sagen könnte wie groß das bild ist.

warum brauch ich aber ein preloader. lokal muss das doch ganz fix da sein. sien sind auch nur max 10k groß
Egal.
Bau dir mal ein 'trace(_root["mcs"+(i-1)]._width);' in dein Script ein.
Dann wirst du feststellen, dass der Film in dem Moment, auch offline
noch nicht geladen wurde.

Um einen Preloader kommst du auch offline nicht herum.
__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 22-07-2005, 12:09   #5 (permalink)
cwt
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 4
hm.. das habe ich auch schon gemacht nur war ich mir nicht sicher ob ich da nicht was falsch gemacht habe.

naja wo kriege ich den so ein ding her. soll am besten kein großes tralala haben einfach nur die bilder laden und gut ist.

oder geht es so ein ding schnell selber bauen?

Geändert von cwt (22-07-2005 um 12:15 Uhr)
cwt ist offline   Mit Zitat antworten
Alt 22-07-2005, 12:26   #6 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
So ein Ding selber bauen geht schnell.

ActionScript:
  1. this.createEmptyMovieClip("holder_mc", 5);
  2. holder_mc.loadMovie("images/gl0-14.jpg");
  3. this.onEnterFrame = function() {
  4.     // && holder_mc.getBytesLoaded()>15 ist wichtig, da es ansonsten nicht funzt
  5.     // ein leerer mc hat nämlich auch ein paar kbs
  6.     if (holder_mc.getBytesTotal() == holder_mc.getBytesLoaded() && holder_mc.getBytesLoaded()>15) {
  7.         trace("Bild geladen. Höhe = "+holder_mc._height);
  8.         delete this.onEnterFrame;
  9.     }
  10. };

Nur wie du das in deinem Film am besten einbindest musst du selber ausprobieren.
Das 'onEnterFrame' kann auf jeden Fall nicht auf dem mc liegen, in
den gerade reingeladen wird.
__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 26-07-2005, 17:15   #7 (permalink)
cwt
Neuer User
 
Registriert seit: Jul 2005
Beiträge: 4
hej super, klappt.

die bilder werden jetzt nebeneinander mit dynamischer breite angezeigt.
wie bekomme ich das nun hin das sich die dinger bewegen. wollte so eine art gallerie machen.

vorher habe ich die dinger so bewegt (abgespeckte version)

this.onEnterFrame = function() {
_root[mcs1]._x=root[mcs1]._x--;
};

jetzt wird das aber gelöscht.

quelltext:

breit = new Array(10);
posi = new Array(10);

for (var i=1;i<=10;i++){
createEmptyMovieClip ("mcs"+i,i); //erstellen der MC
_root["mcs"+i].loadMovie (i+".jpg"); // Laden der Bilder in die MC´s
}

this.onEnterFrame = function() {
if (mcs10.getBytesTotal() == mcs10.getBytesLoaded() && mcs10.getBytesLoaded()>15) {
for(i=1;i<=10;i++){
breit[i]=_root["mcs"+i]._width;
posi[i] = breit[i-1] + _root["mcs"+(i-1)]._x +5 ;
_root["mcs"+i]._x= posi[i];
//trace("b "+i+" = breite:"+breit[i]+";position"+posi[i]);
delete this.onEnterFrame;
}
}
};
cwt ist offline   Mit Zitat antworten
Alt 31-07-2005, 21:05   #8 (permalink)
User
 
Benutzerbild von jeypack
 
Registriert seit: Sep 2003
Ort: Essen
Beiträge: 616
Ich verstehe zwar nicht ganz, wo du die Bilder hinbewegen willst.
Aber mal so als Ansatz:
ActionScript:
  1. breit = new Array(10);
  2. posi = new Array(10);
  3. for (var i = 1; i<=breit.length-1; i++) {
  4.     createEmptyMovieClip("mcs"+i, i);
  5.     //erstellen der MC
  6.     this["mcs"+i].loadMovie(i+".jpg");
  7.     // Laden der Bilder in die MC´s
  8. }
  9. this.onEnterFrame = function() {
  10.     for (var i = 1; i<=breit.length-1; i++) {
  11.         if (this["mcs"+i].getBytesTotal() == this["mcs"+i].getBytesLoaded() && this["mcs"+i].getBytesLoaded()>15) {
  12.             breit[i] = this["mcs"+i]._width;
  13.             posi[i] = breit[i-1]+this["mcs"+(i-1)]._x+5;
  14.             this["mcs"+i]._x = posi[i];
  15.             this["mcs"+i].onEnterFrame = function() {
  16.                 this._x = this._x--;
  17.             };
  18.             //trace("b "+i+" = breite:"+breit[i]+";position"+posi[i]);
  19.             if (i == breit.length-1) {
  20.                 delete this.onEnterFrame;
  21.             }
  22.         }
  23.     }
  24. };
__________________
Gruß, Jey!
jeypack ist offline   Mit Zitat antworten
Alt 15-08-2005, 17:24   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 7
komischwer weise bewegen sich die bilde nicht bei mir. sie kommen erst auf den bildschirm wenn alles schon abgelaufen ist.

ich wollte ja eine endloschleife haben die die bilder die ganze zeit durch den filmstreifen tanzen läßt.

früher habe ich das so genmacht.

bilder manuel in die bühne geladen.
in mc umgewandelt und dann wandern lassen.
nur hat das ding paar hacken. die teile müssen immer die gleiche größe haben und der aufwand die bilder zu tauschen ist größer.

beispiel:

http://www.vernier-bs.de/webneu/film...chinenpark.swf

quelltest:

this.onEnterFrame = function() {
if (Bild1._x > -200) Bild1._x--;
else if (Bild22._x < 241) Bild1._x = 459;

if (Bild1._x < 239 && Bild1._x > -200 || Bild2._x < 345 && Bild2._x > -200 ) Bild2._x--;
else Bild2._x = 459;

if (Bild2._x < 239 && Bild2._x > -200 || Bild3._x < 345 && Bild3._x > -200 ) Bild3._x--;
else Bild3._x = 459;

if (Bild3._x < 239 && Bild3._x > -200 || Bild4._x < 345 && Bild4._x > -200 ) Bild4._x--;
else Bild4._x = 459;

if (Bild4._x < 239 && Bild4._x > -200 || Bild5._x < 345 && Bild5._x > -200 ) Bild5._x--;
else Bild5._x = 459;

if (Bild5._x < 239 && Bild5._x > -200 || Bild6._x < 345 && Bild6._x > -200 ) Bild6._x--;
else Bild6._x = 459;

if (Bild6._x < 239 && Bild6._x > -200 || Bild7._x < 345 && Bild7._x > -200 ) Bild7._x--;
else Bild7._x = 459;

if (Bild7._x < 239 && Bild7._x > -200 || Bild8._x < 345 && Bild8._x > -200 ) Bild8._x--;
else Bild8._x = 459;

if (Bild8._x < 239 && Bild8._x > -200 || Bild9._x < 345 && Bild9._x > -200 ) Bild9._x--;
else Bild9._x = 459;

if (Bild9._x < 239 && Bild9._x > -200 || Bild10._x < 345 && Bild10._x > -200 ) Bild10._x--;
else Bild10._x = 459;

if (Bild10._x < 239 && Bild10._x > -200 || Bild11._x < 345 && Bild11._x > -200 ) Bild11._x--;
else Bild11._x = 459;

if (Bild11._x < 239 && Bild11._x > -200 || Bild12._x < 345 && Bild12._x > -200 ) Bild12._x--;
else Bild12._x = 459;

if (Bild12._x < 239 && Bild12._x > -200 || Bild13._x < 345 && Bild13._x > -200 ) Bild13._x--;
else Bild13._x = 459;

if (Bild13._x < 239 && Bild13._x > -200 || Bild14._x < 345 && Bild14._x > -200 ) Bild14._x--;
else Bild14._x = 459;

if (Bild14._x < 239 && Bild14._x > -200 || Bild15._x < 345 && Bild15._x > -200 ) Bild15._x--;
else Bild15._x = 459;

if (Bild15._x < 241 && Bild15._x > -200 || Bild16._x < 345 && Bild16._x > -200 ) Bild16._x--;
else Bild16._x = 459;

if (Bild16._x < 210 && Bild16._x > -200 || Bild17._x < 345 && Bild17._x > -200 ) Bild17._x--;
else Bild17._x = 459;

if (Bild17._x < 240 && Bild17._x > -200 || Bild18._x < 345 && Bild18._x > -200 ) Bild18._x--;
else Bild18._x = 459;

if (Bild18._x < 239 && Bild18._x > -200 || Bild19._x < 345 && Bild19._x > -200 ) Bild19._x--;
else Bild19._x = 459;

if (Bild19._x < 239 && Bild19._x > -200 || Bild20._x < 345 && Bild20._x > -200 ) Bild20._x--;
else Bild20._x = 459;

if (Bild20._x < 239 && Bild20._x > -200 || Bild21._x < 345 && Bild21._x > -200 ) Bild21._x--;
else Bild21._x = 459;

if (Bild21._x < 239 && Bild21._x > -200 || Bild22._x < 345 && Bild22._x > -200 ) Bild22._x--;
else Bild22._x = 459;
};
cwt106 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 11:23 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele