Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-12-2004, 05:30   #1 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
if bei 0

guten morgen

sitz grad vor dem code fetzen und weiss nich mehr weiter. ich hätte gern das überprüft wird ob alpha 0 ist und er dann erst hoch bis 100 zählt.
mit einer else abfrage könnte ich doch noch sagen, das wenn er schon bei 100 ist ,er wieder auf alpha 0 runterzählt.
aber nichmal der ansatz stimmt...mein kopf ist grad wie blei

ActionScript:
  1. mc2.onPress=function(){
  2. fade = setInterval(function () {
  3. if(ad._alpha==0){
  4. ad._alpha += 2;
  5. };
  6. if (ad._alpha == 100) {
  7. clearInterval(fade);}}, 20);
  8. };

hilfe wär lieb

daniel
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 05:52   #2 (permalink)
Wer??? Ich???
 
Registriert seit: May 2003
Ort: München
Beiträge: 807
Hallo,

du musst die Bedingung in der if Anweisung anders Formulieren. So wie du es geschrieben hast überprüfst du ob der _alpha wert == 0 ist. Wenn ja zähl _alpha um 2 hoch.

Da ist das Problem die Bedinngung wird nur einmal ausgeführt weil der _alpha Wert nur einmal bei 0 ist. Denn nachdem die Schleife einmal durchlaufen wurde ist der _alpha wert schon 2. Somit wird die Schleife nicht mehr Durchlaufen.

Du musst schreiben:

ActionScript:
  1. mc2.onPress=function()
  2. {
  3. fade = setInterval(function ()
  4. {
  5. if(ad._alpha<100)
  6. {
  7. ad._alpha += 2;
  8. }
  9. else
  10. {
  11. clearInterval(fade);}}, 20);
  12. };

Cu
hOmId
Homid ist offline   Mit Zitat antworten
Alt 30-12-2004, 12:41   #3 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
ok geschnallt.aber jetzt kann ich keine zweite bedingung mehr aufstellen die überprüft ob er nicht schon bei hundert ist und dann alpha runterzählt.
das problem ist das ich irgendwie den button dazubringen muss zwischen 2 zuständen zu unterscheiden. wenn alpha<100 dann sichbar machen und wenn alpha>0 dann unsichbar machen. aber nun schließen sich beide bedingungen aus.oder?


liebe grüss

daniel
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 12:54   #4 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
ActionScript:
  1. stat = false;
  2. function checkAlpha(){
  3.             if( ! stat ){
  4.                   if(ad._alpha <100){
  5.                      ad._alpha+=5;
  6.                   }else{
  7.                      stat=true;
  8.                      ad._alpha=100;
  9.                   }
  10.              }else{
  11.                    if ( ad._alpha >0 ){
  12.                       ad._alpha -=5;
  13.                    }else{
  14.                       stat = false;
  15.                       ad._alpha=0;
  16.                    }
  17.               }
  18. }
  19.  
  20. mc2.onPress=function(){
  21.       fade = setInterval(checkAlpha, 40);
  22. }


zum bleistigt so...ich würd´s pers. noch mal anders machen, aber das genügt deinen ansprüchen vollkommen


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:10   #5 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
hmm..das sieht vielversprechend aus. aber so wie es aussieht wird der mc in immer kürzer werdenden abständen auftauchen und dann wieder verschwinden wenn ich einmal den mc2 gedrückt hab.

mfg
daniel
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:34   #6 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
@kelor

hab es ausprobiert und ist wie ich dachte...es blinkt in kleiner werdenden intervalen....was timmat da nicht?
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:36   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
ActionScript:
  1. stat = false;
  2. function checkAlpha(){
  3.             if(!stat){
  4.                   if(ad._alpha <100){
  5.                      ad._alpha+=5;
  6.                   }else{
  7.                      stat=true;
  8.                      return ad._alpha=100;
  9.                   }
  10.              }else{
  11.                    if ( ad._alpha >0 ){
  12.                       ad._alpha -=5;
  13.                    }else{
  14.                       stat = false;
  15.                       return ad._alpha=0;
  16.                    }
  17.               }
  18. }
  19.  
  20. mc2.onPress=function(){
  21.       fade = setInterval(checkAlpha, 40);
  22. }

probier´s jetzt mal...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:50   #8 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
nein ... passiert immernoch das selbe.er spielt die beiden funktionen von oben nach unten ab und stop nicht bei 100 oder 0.
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:52   #9 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
sekunde...ich mach mal flash auf


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 13:56   #10 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
merci
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 14:00   #11 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
also bei mir läuft das tadellos...
einzig noch nen blocker rein machen, damit man das szenario nicht beschleunigen kann, durch ständiges klicken auf den button...

ActionScript:
  1. stat = false;
  2. function checkAlpha(){
  3.             trace(stat);
  4.             if(!stat){
  5.                   if(ad._alpha <100){
  6.                      ad._alpha+=5;
  7.                   }else{
  8.                      stat=true;
  9.                      return ad._alpha=100;
  10.                   }
  11.              }else{
  12.                    if ( ad._alpha >0 ){
  13.                       ad._alpha -=5;
  14.                    }else{
  15.                       stat = false;
  16.                       return ad._alpha=0;
  17.                    }
  18.               }
  19. }
  20.  
  21. mc2.onPress=function(){
  22.     if(!done){
  23.        fade = setInterval(checkAlpha, 40);
  24.        done = true;
  25.     }
  26. }

bei mir geht das ohne probs...(hätt mich auch gewundert...hmmm)


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 14:22   #12 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
also bei mir blinkt es...und jedesmal wenn ich den mc2 drücke verkleinern sich die intervalle. ich habe noch anderes script drin aber warum das sich nicht verstehen sollte weiss ich nicht

ActionScript:
  1. #include "lmc_tween.as"
  2. velocity = 4;
  3.  
  4. _global.groß = function() {
  5.     tal_mc.meio.tween("_height", höhe-25, velocity, "easeoutElastic", 0.005);
  6.     tal_mc.meio.tween("_width", breite-25, velocity, "easeoutElastic", 0.005);
  7.    
  8.     tal_mc.fd.tween("_height", höhe, velocity, "easeoutElastic", 0);
  9.     tal_mc.fd.tween("_width", breite, velocity, "easeoutElastic", 0);
  10. };
  11.  
  12.  
  13. _global.normal = function() {
  14.     tal_mc2.meio.tween("_height", 50, velocity, "easeoutElastic", 0.005);
  15.     tal_mc2.meio.tween("_width", 50, velocity, "easeoutElastic", 0.005);
  16.    
  17.     tal_mc2.fd.tween("_height", 70, velocity, "easeoutElastic", 0);
  18.     tal_mc2.fd.tween("_width", 70, velocity, "easeoutElastic", 0)
  19.  
  20.    
  21. };
  22.  
  23. stat = false;
  24. function checkAlpha(){
  25. trace(stat);
  26. if(!stat){
  27. if(ad._alpha <100){
  28. ad._alpha+=5;
  29. }else{
  30. stat=true;
  31. return ad._alpha=100;
  32. }
  33. stop();
  34. }else{
  35. if ( ad._alpha >0 ){
  36. ad._alpha -=5;
  37. }else{
  38. stat = false;
  39. return ad._alpha=0;
  40. }
  41. }
  42. }
  43.  
  44. mc2.onPress=function(){
  45. if(!done){
  46. fade = setInterval(checkAlpha, 40);
  47. done = true;
  48. }
  49. }
  50.  
  51.  
  52. mc2.onPress=function(){
  53. fade = setInterval(checkAlpha, 40);
  54. }
  55.  
  56.  
  57. mc2.onPress=function(){
  58. fade = setInterval(checkAlpha, 40);
  59. }
  60.  
  61. onEnterFrame = function () {
  62.     mc2._x =mc1._x-3;
  63.     mc3._x =mc2._x+mc2._width-632;
  64.     mc4._x = mc3._x-3;
  65. };

oder vertsteht es sich doch nicht
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 14:30   #13 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
ActionScript:
  1. mc2.onPress=function(){
  2. if(!done){
  3. fade = setInterval(checkAlpha, 40);
  4. done = true;
  5. }
  6. }
  7. mc2.onPress=function(){
  8. fade = setInterval(checkAlpha, 40);
  9. }
  10. mc2.onPress=function(){
  11. fade = setInterval(checkAlpha, 40);
  12. }



hä???
was soll das denn sein?
dreimal einen onPress für mc2 ????





greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 30-12-2004, 14:34   #14 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
sorry hat sich eingemoglet , aber dran liegt es nicht.habs schon wieder raus.
dabinjo ist offline   Mit Zitat antworten
Alt 30-12-2004, 14:42   #15 (permalink)
man lernt immer dazu
 
Benutzerbild von dabinjo
 
Registriert seit: Dec 2003
Ort: Freiburg
Beiträge: 442
zur vervollständigung noch die on(press) aktionen auf dem mc2:

ActionScript:
  1. on (press) {
  2.     // a largura q ele tera
  3.     _root.höhe= 200;
  4.     // a altura q ele tera
  5.     _root.breite = 200;
  6.     // aki e so pra indicar a variavel de voltar
  7.     // (nao altera! mas tem q estar antes de indicar a instancia deste mc)
  8.     _root.tal_mc2 = _root.clicado;
  9.     // aki vc indica a instancia deste mesmo MC, n eskeça do root
  10.     _root.clicado = _root.mc2;
  11.     //
  12.     // aki vc so vai indicar q o tal_mc eh esse aki
  13.     _root.tal_mc = this;
  14.     // dai vc executa a ação
  15.     groß();
  16.     //executa a ação de fechar o outro MC
  17.     normal();
  18.    
  19. }
  20. on(rollOver){
  21.     this.field.colorTo(0x99cc00,1)
  22. }
  23. on(rollOut){
  24.     this.field.colorTo(0x333333,1)
  25. }

lieben gruss

daniel
dabinjo 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 15:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele