| |||||||
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: Apr 2003
Beiträge: 144
|
Verzweilung... HILFE Code: var missinpoint = 1;
_root.navBt5.onRelease = function() {
//CODE 1
switch (missinpoint) {
case 1 :
//CODE 2
break;
//CODE 3
};
//CODE 4 Code 1 und Code 4 werden ausgeführt Code 2 und 3(3 sind weitere cases) nicht Evtl. Denken jez manche der CODE 2 wäre fehlerhaft. Aber folgender Code funktioniert Code: var missinpoint = 1;
_root.navBt5.onRelease = function() {
//CODE 1
//switch (missinpoint) {
// case 1 :
//CODE 2
break;
//CODE 3
//};
//CODE 4 Oder bin ich einfach nur zu dumm? The GINemrod |
| | |
| | #2 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Weißt Du, wie switch funktioniert ![]() Eigentlich genau wie "if". Beispiel: PHP-Code: Erklärung: PHP-Code:
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
| | #3 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Nochmal genau zum Vergleichen mit der if-Abfrage: PHP-Code:
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- Geändert von thebiz (01-08-2004 um 23:16 Uhr) |
| | |
| | #4 (permalink) | |
| - Registriert seit: Jan 2004
Beiträge: 3.002
| Zitat:
ActionScript:
also nicht umbedingt ein zustand der Prüfvariable nach "case" ![]() grz Robert Edit: im Script war nen kleiner ehler.. stand über all "trace("lala = 1");" statt den enstprechenden Zahlen...
__________________ mfG, Robert Tutorials: [TUTORIAL] XML-Files in Flash einlesen+weiter verarbeiten Steuerung zwischen Zeitleisten & Movieclips [TUTORIAL] MP3-Player (+XML) [TUTORIAL] MP3-Player (+XML) Part II Geändert von pape (02-08-2004 um 02:44 Uhr) | |
| | |
| | #5 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Und wir können sowas machen: PHP-Code:
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
| | #6 (permalink) |
| - Registriert seit: Jan 2004
Beiträge: 3.002
|
jo - geht ja eigentlich daraus hervor, dass man break setzen muss, damit nicht weiterabgearbeitet wird! aber so isses noch mal ganz klar ausgesprochen
__________________ mfG, Robert Tutorials: [TUTORIAL] XML-Files in Flash einlesen+weiter verarbeiten Steuerung zwischen Zeitleisten & Movieclips [TUTORIAL] MP3-Player (+XML) [TUTORIAL] MP3-Player (+XML) Part II |
| | |
| | #7 (permalink) |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
und ums genau zu machen... switch/case ist mitnichten das gleiche wie eine if-abfrage... denn: switch kann nur einen möglichen zustand auswerten switch kann nur einen wert danach bearbeiten switch ist eh voll die krücke und viel langsamer switch iss eigentlich, wenn man es genau betrachtet, für die tonne... denn z.bsp.: ActionScript:
und außerdem kann ich, wenn eine bedingung, egal ob einfach oder merfacher natur, unendlich viele befehle ausführen für diese bedingung. dies ist mit switch nicht möglich...auch wirft er gleich fehlermeldungen, wénn man versucht, innerhalb der cases noch zu berechnen... also alles in allem: swich ist nicht wie if - arbeitet auch nicht so und switch ist unnötig wie´ne bulldoge im oberschenkel... ![]() greetz kelor
__________________ Team Flashbattle Zur ActionScript-Referenz Liste ALLER Funktionen/Objekte in Flash MX 2oo4 ActionScript - ScriptCollection FlashMX/PHP-Kontaktformular inkl. Multiempfängerauswahl[Kombobox] Es gibt dumme Fragen! Geändert von kelor (02-08-2004 um 07:43 Uhr) |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Apr 2003
Beiträge: 144
|
Ähm, ich glaube ihr habt es nicht ganz verstanden Habe gedacht das mit dem ganzen Code weglassen macht es einfacher. Nunja. Ihn dazulassen macht das Erklären des Probs schwieriger oO Code: //Fehlender Navi Punkt: News
var missinpoint = 1;
//ButtonActions
_root.navBt5.onRelease = function() {
var i = 75;
var j = 0;
_root.gnomy.gotoAndPlay(28);
setInterval(unsichtbar, 10);
function unsichtbar() {
_root.navBt5._alpha = i;
i--;
}
switch (missinpoint) {
case 1 :
_root.attachMovie("navBt1", "navBt1", 0);
_root.navBt1._alpha = 0;
navBt1._x = navBt5._x;
navBt1._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt1._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
break;
case navBt2 :
_root.attachMovie("navBt2", "navBt2", 0);
_root.navBt2._alpha = 0;
navBt2._x = navBt5._x;
navBt2._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt2._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
break;
case navBt3 :
_root.attachMovie("navBt3", "navBt3", 0);
_root.navBt3._alpha = 0;
navBt3._x = navBt5._x;
navBt3._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt3._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
break;
case navBt4 :
_root.attachMovie("navBt4", "navBt4", 0);
_root.navBt4._alpha = 0;
navBt4._x = navBt5._x;
navBt4._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt4._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
break;
case navBt5 :
_root.attachMovie("navBt5", "navBt5", 0);
_root.navBt5._alpha = 0;
navBt5._x = navBt5._x;
navBt5._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt5._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
break;
}
_root.navBt1.removeMovieClip();
application.loadData("navBt5.xml");
missinpoint = "navBt5";
}; Code: _root.attachMovie("navBt1", "navBt1", 0);
_root.navBt1._alpha = 0;
navBt1._x = navBt5._x;
navBt1._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt1._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
} Es werden keinerlei Fehlermeldungen von Flash ausgegeben The GINemrod |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Apr 2003
Beiträge: 144
|
Ok.... langsam beginne ich an meinem Verstand zu zweifeln Code: //Fehlender Navi Punkt: News
var fehlenderpunkt = 1;
//ButtonActions
_root.navBt5.onRelease = function() {
var i = 75;
var j = 0;
_root.gnomy.gotoAndPlay(28);
setInterval(unsichtbar, 10);
function unsichtbar() {
_root.navBt5._alpha = i;
i--;
}
if (fehlenderpunkt == 1) {
_root.attachMovie("navBt1", "navBt1", 0);
_root.navBt1._alpha = 0;
navBt1._x = navBt5._x;
navBt1._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt1._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
}
} Das geht: Code: //Fehlender Navi Punkt: News
var fehlenderpunkt = 1;
//ButtonActions
_root.navBt5.onRelease = function() {
var i = 75;
var j = 0;
_root.gnomy.gotoAndPlay(28);
setInterval(unsichtbar, 10);
function unsichtbar() {
_root.navBt5._alpha = i;
i--;
}
//if (fehlenderpunkt == 1) {
_root.attachMovie("navBt1", "navBt1", 0);
_root.navBt1._alpha = 0;
navBt1._x = navBt5._x;
navBt1._y = navBt5._y;
id = setInterval(sichtbar, 10);
function sichtbar() {
_root.navBt1._alpha = j;
j++;
if (j == 75) {
clearInterval(id);
}
}
//}
} The GINemrod |
| | |
| | #10 (permalink) | ||
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
|
wer lesen kann ist klar im vorteil... man für was tip ich mir nen wolf, wenn keiner liest....? Zitat:
case ! kann nur einen einzigen befehl abarbeiten... was du da machst ist schlicht nicht möglich... es geht net... und nochmal...auch für dich zumlesen: Zitat:
da muss entweder if her, oder ne schleife die die möglichen werte aus einem array liest und prüft [würd ich machen] oder sonst was... aber KEIN switch/case ! greetz kelor | ||
| | |
| | #11 (permalink) | |
| querdenker Registriert seit: Jun 2001 Ort: formel1-stadt hockenheim
Beiträge: 4.731
| Zitat:
nö...höchstens für syntax... 1. du kannst einen eben erst attachten mc nur über _root['deinmcname']._x = .... korrekt ansprechen... denn die eckige klammer wertet zum objekt, das davor steht aus´... außerdem nutzt du mal _root.bla udn dann wiedr nur bla... wie wäre es mit ner einheitlichen syntax? ActionScript:
da sind dermaßen viel syntaktische fehler drin, dass ich dir ernsthaft die F1 taste an die hand lege...und ein buch anrate... innerhalb von btn5 ist btn5 'this' der neue name eines mc´s darf/soll nicht dem namen des exportnamens entsprechen... obejkte, die gerade erst erstellt werden kann/soll man mit einer auswertung anrufen, das sie noch nicht zu 100% initialisiert sind...bzw. ansprechbar sind... [das dürfte meist 'undefined' geben] einmal bemühte syntax nicht stetig ändern... intervalle die man startet, sollte man auch wiedr beenden können... ich bin gespannt wie und wo du die var 'i ' wieder findest?! jooo...wars das soweit?....*gugg*...# ich glaub ja... greetz kelor | |
| | |
| | #12 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Hy kelor. Wenn Du sagst, dass die switch-Anweisung schlechter ist als die if, dann glaube ich es Dir ganz bestimmt. Ich habe auch noch keine großartige Erfahrung. Ich befolge eigentlich den Dingen, die ich im Buch gelesen habe. Da es eines der besten Bücher ist, fühle ich mich auch ziemlich sicher damit. Dort drinnen steht aber auch nur, dass die switch-Anweisung manchmal leichter zu lesen ist als die if. Mehr Vorteile sind jedoch nicht aufgelistet.
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
| | #13 (permalink) |
| helpQLODhelp Registriert seit: Feb 2002 Ort: Köln
Beiträge: 8.505
|
Hi The GINemrod, dein erster Code macht eigentlich genau das, was er soll. Code 1 gehört ja nicht zum Switch, wird also unabhängig davon ausgeführt. Code 2 ist der Code, der ausgeführt wird, wenn der case 1 zutrifft, also wenn missinpoint === 1 ist Code 3 steht hinter dem break und wird deshalb nicht ausgeführt Code 4 ist wie Code 1 Wenn dein Code 2 nicht ausgeführt wird, dann stimmt vielleicht der Typ von missinpoint nicht. Ein wichtiger Unterschied zwischen case und if ist der, dass auch der Typ überprüft wird. Der Code wie du ihn hier im Forum geschrieben hast, sollte also klappen, wenn jedoch missinpoint ein String (="1") ist, dann klappt er nicht mehr. Das entspricht dem Verhalten von ===, findest du in der Doku. Ansonsten ist es natürlich Quatsch zu sagen, dass ein Statement überflüssig sei. Es gibt sicher eine Menge Anwendungsfälle, in denen switch deutlich prägnanter zeigt was gemeint ist, als eine Reihe von ifs. mfg. r
__________________ Ralf Bokelberg™ - Flex & Flash Consulting Geändert von bokel (02-08-2004 um 12:39 Uhr) |
| | |
| | #14 (permalink) |
| flachzange Registriert seit: Jun 2003 Ort: berlin
Beiträge: 3.932
|
@kelor verdammt! ich wollte dich gerade schon makeln. aber switsch kann in flash ja garnix! vermutlich weil es zwangsweise auf strikte gleichheit prüft. da hatt MM wieder vonner tapete bis zur wand gedacht!
__________________ |
| | |
| | #15 (permalink) |
| Neuer User Registriert seit: Apr 2003
Beiträge: 144
|
Bin eben was aus der Übung ![]() @Kelor: Tut mir echt leid, das ahbe ich überlesen Also Kelor. Damit kommt Case in diesem Falle nicht in Frage, weil es das ganze nur komplizierter machen würde. ABER! Das if klappt ja ebenfalls nicht. @Kelor2: Meine Syntax is schrecklich... haben mir schon einige Leute gesagt. Der Code is das reinste Chaos -_- Gut: Ich werde die Syntax verbessern. Das Problem is nur: Alleine der Umstand, das ich if benutze, kann doch nicht den Code dahinter ungültig machen, wenn die Bedingung zutrifft! Die Syntax is zwar der der letzte Dreck, aber gerade noch so gültig, dass Flash es ja noch versteht! @TheBiz: Wie bokel auch sagt: Es kann Sinn machen wenn es sonst tausende ifs wären, darum habe ich es ja auch benutzt *duck* @Bokel: Macht er eben nicht. Er führt Code 2 NICHT aus! Obwohl es ja zutrifft missinpoint habe ich keinen Typ. Aber wenn ich sage var missinpoint = 1; heißt es laut "Action Script 1 &2" wird es automatisch als Integer gespeichert! Dürfte doch kein Prob sein oder?! @Binary: Das das nur eine Sache ausführen kann is ja echt Müll. Und wo steht das überhaupt oO Ich BETE dafür das Kelor nicht schon wieder meine Frage beantwortet hat ohne das ich es gemerkt habe. Habe es 3 mal gelesen. *kleinmach* The GINemrod Geändert von GINemrod (02-08-2004 um 14:47 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |