Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-10-2004, 00:17   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2002
Ort: stuttgart
Beiträge: 113
buttons werden nicht aktiviert ... ???

moin!

hab ein dickes problem: ich erzeuge leere MCs, lade
Bilder rein, funktioniert wunderbar ... nun will ich den
MCs noch per for-schleife ne onPress-function mitgeben.
wolln´se aber nich! warrrrum?

das ist mein code:

ActionScript:
  1. function placeObj () {
  2.     teile = teileArray[momRound];
  3.     function placeAtLocation () {
  4.         for (var l=0;l<teile;l++) {
  5.             _root.createEmptyMovieClip ("karte" add l, l+10000);
  6.             obj = _root["karte" add l];
  7.             obj.loadMovie (kartenArray[l]);
  8.             obj._x = l * 50;
  9.             obj.onRelease = function () {
  10.                 blabla ();
  11.             }
  12.            
  13.         }         
  14.     }
  15.     placeAtLocation ();
  16. }

kriegt er die swf´s nicht früh genug rein? aber die function liegt
doch auf dem mc, und die ist ja bereits generiert ... aber irgendwas
mach ich wohl falsch, habt ihr ne ahnung?

thx,

tom
__________________
ActionScript:
  1. if ( you == have faith in yourself) {
  2.      _root.others.willFollow ();
  3. }
tomaj ist offline   Mit Zitat antworten
Alt 12-10-2004, 00:57   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
moin moin,
schieb doch eben die fla hoch... dann kann ich da eben noch mal drüber schauen und ggf fehler direkt korrigieren...

hab schon nen verdacht, aber rumraten ist nich soo effektiv

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 12-10-2004, 01:07   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2002
Ort: stuttgart
Beiträge: 113
hi,

hab inzwischen auch ne ahnung, wenn ich die functions später
über nen button nochmal zuteil gehts. denke wenn er die butt-
function aufruft sind die movies noch nicht da ... da kann man
doch sowas wie this.onEnterFrame = function () { ...
bis der movie da ist, aber wie heißt das ... this.onLoad ... ?
krieg ich aber nicht hin.

lads trotzdem mal hoch, danke!
Angehängte Dateien
Dateityp: zip v3.zip (4,2 KB, 3x aufgerufen)
__________________
ActionScript:
  1. if ( you == have faith in yourself) {
  2.      _root.others.willFollow ();
  3. }
tomaj ist offline   Mit Zitat antworten
Alt 12-10-2004, 01:11   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
bevor mir jemand zuvor kommt poste ich einfach mal eine hoffentlich korrigierte version

PHP-Code:
function placeObj() {
    
teile teileArray[momRound];
    function 
placeAtLocation() {
        for (var 
0l<teilel++) {
            
_root.createEmptyMovieClip("karte"+ll+10000);
            
obj _root["karte"+l];
            
obj.createEmptyMovieClip("img"1);
            
obj.img.loadMovie(kartenArray[l]);
            
obj._x l*50;
            
obj.onRelease = function() {
                
trace("tada");
            };
        }
    }
    
placeAtLocation();

kann ich jetzt so schnell aber keine testumgebung aufbauen... daher ungetestet..... online wirste so, oder so aber probs kriegen, denn dann brauchste unbedingt noch einen preloader!

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 12-10-2004, 01:24   #5 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
yepp, das wars... mit loadMovie überschreibst du die eigenschaften der mc´s.... wenn die swf noch nicht geladen ist, dann wird die eigenschaft später überschrieben und dein button ist futsch.... deshalb wird in meinem bsp nochmal ein container mc jeweils eingebaut... so funktinierts.... online sollteste aber wie gesagt noch einen preloader zwischenschalten......

hier nochmal das gesammte as:
PHP-Code:
momRound 0;
momTeile 4;

teileArray = new Array ();
function 
genTeileArray () {
    for (
k=0;k<17;k++) { // resultat = 36 pieces am ende
        
teileArray[k] = 2*k;        
    }
}
genTeileArray ();

kartenArray = new Array ();

function 
genArray () {
    for (
i=0;i<momTeile;i++) {
        
kartenArray[i] = "m" add i add ".swf";        
    }
}
genArray ();

function 
placeObj() {
    
teile teileArray[momRound];
    function 
placeAtLocation() {
        for (var 
0l<teilel++) {
            
_root.createEmptyMovieClip("karte"+ll+10000);
            
obj _root["karte"+l];
            
obj.createEmptyMovieClip("img"1);
            
obj.img.loadMovie(kartenArray[l]);
            
obj._x l*50;
            
obj.onRelease = function() {
                
trace("tada");
            };
        }
    }
    
placeAtLocation();

placeObj ();

trace (kartenArray);
trace (teileArray);
trace (teile);

stop(); 
cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 12-10-2004, 01:35   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2002
Ort: stuttgart
Beiträge: 113
elegante lösung, tausend dank! deine seite ist übrigens
saugeil, gefällt mir richtig gut.

aber sag: du sagst preloader, klar, aber gibts da nicht
auch was in der form von mc.onLoad = function () { this.onEnterFrame = function () {} ?

tom
__________________
ActionScript:
  1. if ( you == have faith in yourself) {
  2.      _root.others.willFollow ();
  3. }
tomaj ist offline   Mit Zitat antworten
Alt 12-10-2004, 02:00   #7 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
thx
welche site meinste? old oder beta? die neue ist immer noch nicht fertig mir fehlt die zeit....

onload ist gut für xml und txt´s......
onEnterFrame ist richtig. in verbindung mit getBytesTotal und getBytesLoaded... also nem preloader...

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 12-10-2004, 02:28   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hab mal nen preloader prototype geschrieben.... allerdings nicht online getestet. die var ready entspricht den prozenten des geladenen mc´s. kann man natürlich noch mit arbeiten bzw anzeigen etc....

kannst ja mal schauen ob du damit was anfangen kannst. einfach das as komplett austauschen:

PHP-Code:
stop();

momRound 0;
momTeile 4;

teileArray = new Array();

function 
genTeileArray() {
    for (
k=0k<17k++) {
        
teileArray[k] = 4+2*k;
    }
}

genTeileArray();

kartenArray = new Array();

function 
genArray() {
    for (
i=0i<momTeilei++) {
        
kartenArray[i] = "m" add i add ".swf";
    }
}

genArray();

function 
placeObj() {
    
teile teileArray[momRound];
    function 
placeAtLocation() {
        for (var 
0l<teilel++) {
            
_root.createEmptyMovieClip("karte"+ll+10000);
            
obj _root["karte"+l];
            
obj._x l*50;
            
obj.loadObj(l);
        }
    }
    
placeAtLocation();
}

MovieClip.prototype.loadObj = function(toload) {
    var 
loaded 0;
    var 
mc this;
    
mc.createEmptyMovieClip("img"1);
    
mc.img.loadMovie(kartenArray[toload]);
    
mc.onEnterFrame = function() {
        
ready int(mc.img.getBytesLoaded()*100/mc.img.getBytesTotal());
        if (
ready>=100) {
            
delete mc.onEnterFrame;
            
mc.onRelease = function() {
                
trace("das ist die "+kartenArray[toload]);
            }
        }
    };
}

placeObj();

trace(kartenArray);
trace(teileArray);
trace(teile); 
cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (12-10-2004 um 02:35 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 12-10-2004, 17:48   #9 (permalink)
Neuer User
 
Registriert seit: Oct 2002
Ort: stuttgart
Beiträge: 113
hi!

die neue meint ich ... die alte ist nur hübsch

okay, also: warum der Movieclip.prototype? der macht
organisatorisch sinn, aber ich hätt die modifikationen doch
auch einfach in die placeAtLocation-function packen können,
oder? ist loadObj nun eine Klasse? hab ich noch nie verstanden ...
ich dank dir auf jeden fall sehr, kann gut sein daß ich heut nacht nochmal
feststecke, meld mich dann!

laters,

tom
__________________
ActionScript:
  1. if ( you == have faith in yourself) {
  2.      _root.others.willFollow ();
  3. }
tomaj 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 22:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele