| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2003
Beiträge: 45
|
Hey, ich habe gerade aufmerksam den "Abbrechbare Animation"-Thread gelesen, da ich ein sehr ähnliches Problem habe. Leider hab ich es dennoch nicht lösen können. Also, ich habe eine simple "Diashow", Vor- und Zurück-Button. Beim Durchzappen blendet das jeweils angezeigte Bild aus, dann das jeweils nächste ein. Leider ist der Code ziemlich lang und unschlank, Anfänger halt Ein Auszug daraus:Code: if (_root.foliennummer == 3) {
if (_root.folien.inhalt02._alpha>=0) {
_root.folien.inhalt02._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt04._alpha>=0) {
_root.folien.inhalt04._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt02._alpha<=0) {
if (_root.folien.inhalt03._alpha<=100) {
_root.folien.inhalt03._alpha += _root.blendspeed;
}
}
} Ich müsste also irgendwie verhindern, dass während des Blendens die Benutzereingabe verhindert wird, die Buttons also inaktiv sind. Wenn ich einen unsichtbaren mc drüberlege (s. quick and dirty thread "Abbrechbare Animation") verhindert das bei mir nicht die Anwählbarkeit der Buttons - leider. |
| | |
| | #2 (permalink) |
| <> Registriert seit: Jun 2001 Ort: Hamburg
Beiträge: 412
|
Dann mach die Buttons doch inaktiv. Code:
Code:
|
| | |
| | #3 (permalink) | |
| [+] Registriert seit: Dec 2002 Ort: cologne
Beiträge: 2.274
| Zitat:
Code: invisibleClip.onPress = function(){};
invisibleClip.useHandCursor = false; | |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Aug 2003
Beiträge: 45
|
Vielen Dank ihr beiden! Bei nur zwei buttons ist die .enabled-Variante super geeignet und funzt wunderbar! Wäre da nur noch der fürchterlich unschlanke Anfängercode.(120 Zeilen für Ein- und Ausblenden ![]() Wie würdet Ihr sowas lösen? Leider hab ichs noch nicht so mit "Variablen an Funktionen Übergeben" weswegen ich alles per copy und paste gelöst habe. Dieses dauernde "if (x._alpha <= 100)-Prozedere macht den Code aber wirklich unübersichtlich. Ich habe 6 Bilder(_root.bild01 bis _root.bild06) und möchte beim durchzappen das jeweils aktuelle Bild ausblenden und dann, sobald sein _alpha <= 0 ist, das neue Bild eiblenden. Ich habe echt Probleme mit der Schreibweise. Habt Ihr da auch noch nen goldigen Tip? mfg Basti |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Aug 2003
Beiträge: 45
| so soll es sein - ich habe euch gewarnt :)
kurze Erklärung: "_root.folien" ist der mc der alle Folien beinhaltet "_root.folien.inhalt01(bis06)" sind die Folien "_root.folien.folie_vor" & "_root.folien.folie_zurück" sind die Buttons um von der einen zur anderen Folie zu navigieren "_root.foliennummer" ist die aktuell angezeigte Folie Leider ist diese Variante sehr performance-intensiv. Beim Folienblenden gibts auf meinen P4 2,6 ne CPU Auslastung von 85% und das Blenden ist nicht flüssig. Soviel zu den Nachteilen des Codes. Hier ist der betreffende Auszug aus dem Verbrechen: Code: _root.blendspeed = 5;
/////////////// Buttons //////////////////
//////////// Folie vor ///////////////////
_root.folien.folie_vor.onRollOver = function() {
_root.folien.folie_vor.gotoAndPlay(2);
};
_root.folien.folie_vor.onRollOut = function() {
_root.folien.folie_vor.gotoAndPlay(11);
};
_root.folien.folie_vor.onPress = function() {
if (_root.foliennummer<=5) {
_root.foliennummer += 1;
}
};
//////////// Folie zurück ////////////////
_root.folien.folie_zurück.onRollOver = function() {
_root.folien.folie_zurück.gotoAndPlay(2);
};
_root.folien.folie_zurück.onRollOut = function() {
_root.folien.folie_zurück.gotoAndPlay(11);
};
_root.folien.folie_zurück.onPress = function() {
if (_root.foliennummer>=2) {
_root.foliennummer -= 1;
}
};
////////////////////////////////////////////
//////////////////// Folienblenden ///////
_root.onEnterFrame = function(){
if (_root.foliennummer == 1) {
if (_root.folien.inhalt01._alpha<=99) {
_root.folien.folie_zurück.enabled = false;
_root.folien.folie_vor.enabled = false;
} else {
_root.folien.folie_zurück.enabled = true;
_root.folien.folie_vor.enabled = true;
}
if (_root.folien.inhalt02._alpha>=0) {
_root.folien.inhalt02._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt02._alpha<=0) {
if (_root.folien.inhalt01._alpha<=100) {
_root.folien.inhalt01._alpha += _root.blendspeed;
}
}
_root.folien.folie_vor._alpha = 100;
_root.folien.folie_zurück._alpha = 0;
}
if (_root.foliennummer == 2) {
if (_root.folien.inhalt02._alpha<=99) {
_root.folien.folie_zurück.enabled = false;
_root.folien.folie_vor.enabled = false;
} else {
_root.folien.folie_zurück.enabled = true;
_root.folien.folie_vor.enabled = true;
}
_root.folien.folie_zurück._alpha = 100;
if (_root.folien.inhalt01._alpha>=0) {
_root.folien.inhalt01._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt03._alpha>=0) {
_root.folien.inhalt03._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt01._alpha<=0) {
if (_root.folien.inhalt02._alpha<=100) {
_root.folien.inhalt02._alpha += _root.blendspeed;
}
}
}
if (_root.foliennummer == 3) {
if (_root.folien.inhalt03._alpha<=99) {
_root.folien.folie_zurück.enabled = false;
_root.folien.folie_vor.enabled = false;
} else {
_root.folien.folie_zurück.enabled = true;
_root.folien.folie_vor.enabled = true;
}
if (_root.folien.inhalt02._alpha>=0) {
_root.folien.inhalt02._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt04._alpha>=0) {
_root.folien.inhalt04._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt02._alpha<=0) {
if (_root.folien.inhalt03._alpha<=100) {
_root.folien.inhalt03._alpha += _root.blendspeed;
}
}
}
if (_root.foliennummer == 4) {
if (_root.folien.inhalt04._alpha<=99) {
_root.folien.folie_zurück.enabled = false;
_root.folien.folie_vor.enabled = false;
} else {
_root.folien.folie_zurück.enabled = true;
_root.folien.folie_vor.enabled = true;
}
if (_root.folien.inhalt03._alpha>=0) {
_root.folien.inhalt03._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt05._alpha>=0) {
_root.folien.inhalt05._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt03._alpha<=0) {
if (_root.folien.inhalt04._alpha<=100) {
_root.folien.inhalt04._alpha += _root.blendspeed;
}
}
}
if (_root.foliennummer == 5) {
if (_root.folien.inhalt05._alpha<=99) {
_root.folien.folie_zurück.enabled = false;
_root.folien.folie_vor.enabled = false;
} else {
_root.folien.folie_zurück.enabled = true;
_root.folien.folie_vor.enabled = true;
}
if (_root.folien.inhalt04._alpha>=0) {
_root.folien.inhalt04._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt06._alpha>=0) {
_root.folien.inhalt06._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt04._alpha<=0) {
if (_root.folien.inhalt05._alpha<=100) {
_root.folien.inhalt05._alpha += _root.blendspeed;
}
}
_root.folien.folie_vor._alpha = 100;
}
if (_root.foliennummer == 6) {
_root.folien.folie_vor.enabled = false;
if (_root.folien.inhalt06._alpha<=99) {
_root.folien.folie_zurück.enabled = false;
_root.folien.folie_vor.enabled = false;
} else {
_root.folien.folie_zurück.enabled = true;
_root.folien.folie_vor.enabled = true;
}
if (_root.folien.inhalt05._alpha>=0) {
_root.folien.inhalt05._alpha -= _root.blendspeed;
}
if (_root.folien.inhalt05._alpha<=0) {
if (_root.folien.inhalt06._alpha<=100) {
_root.folien.inhalt06._alpha += _root.blendspeed;
}
}
_root.folien.folie_vor._alpha = 0;
}
}; |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |