Warum das den nun schon wieder.. JavaScript
Benjamin Mollenhauer
0 Calocybe
Hallo,
ich glaub ich muß heute schon zum drittenmal euere Hilfe beanspruchen:
Ich weiß einfach nicht, warum dieser Code nicht funktioniert. Ich such' schon seit rund einer Stunde den Fehler, hab die functions umgeschrieben und so weiter.
Ich bekomme keine Syntax-Fehler, aber die Methode "animate" wird einfach nicht gestartet.
CODE (alle unwesentlichen Sachen gekillt):
-----------------8<-----------------8<-----------------8<-----------------8<-----------------8<-----------------
function LayerObject( layername ) {
[...]
this.move = moveObjFunction;
}
function AnimationObject( layerobject, array ) {
[...]
this.layerobj = layerobject;
this.animate = animateObjfunc;
}
function animateObjfunc() {
alert ( 'animate' ); // ICH BEKOMM KEINEN ALERT!
[...]
}
function init() {
wolk = new LayerObject ( "wolke01" );
[...arraydef...]
animObj1 = new AnimationObject( wolk, patharraywolke );
animObj1.layerobj.move( 0,444); // DAS FUNKTIONIERT
animObj1.animate; // DAS WIEDERUM NICHT.
}
-----------------8<-----------------8<-----------------8<-----------------8<-----------------8<-----------------
Sodele, ich hoffe ich hab nicht zuviel Code rausgeworfen.
Ich erkenn aber nicht den Unterschied zwischen meinem "move" und dem "animate" - liegt vielleicht auch an der fortgeschrittenen Uhrzeit (2 Uhr 02).
Ich hätte vielleicht doch auf ein vorgefertigte Lösung zurückgreifen sollen.
Vielen Dank im Voraus,
Benni
Ich weiß einfach nicht, warum dieser Code nicht funktioniert. Ich such' schon seit rund einer Stunde den Fehler, hab die functions umgeschrieben und so weiter.
Ich bekomme keine Syntax-Fehler, aber die Methode "animate" wird einfach nicht gestartet.
Als ich von Pascal auf C umgestiegen bin (JS ist C ja sehr aehnlich) hatte ich genau dasselbe Problem. Und ich habe genauso geflucht wie Du. Man gewoehnt sich dran.
animObj1.layerobj.move( 0,444); // DAS FUNKTIONIERT
animObj1.animate; // DAS WIEDERUM NICHT.
Du hast hinter animate keine Klammern! So rufst Du die Funktion nicht auf. In C ist es so, dass dieses Konstrukt einen Zeiger auf die Funktion animate zuruckliefert, in JS wahrscheinlich nicht. Wie auch immer, schreib einfach
animObj1.animate(); // JETZT SOLLTE ES FUNZEN!
Und den Kommentar nicht vergessen, der ist wichtig fuer die Motivation des JS Interpreters. ;-)
Sodele, ich hoffe ich hab nicht zuviel Code rausgeworfen.
Nee, nee, da hatten wir wirklich schon schlimmeres.
Ich erkenn aber nicht den Unterschied zwischen meinem "move" und dem "animate" - liegt vielleicht auch an der fortgeschrittenen Uhrzeit (2 Uhr 02).
Wieso? Ist doch die beste Zeit, um kreativ zu sein. ;-)
Ich hätte vielleicht doch auf ein vorgefertigte Lösung zurückgreifen sollen.
Entweder Du willst es lernen, oder nicht.
Calocybe