Anzeige

MC Problem

MC Problem | PSD-Tutorials.de

Erstellt von beyond, 09.05.2007.

  1. beyond

    beyond evil ^.^

    Dabei seit:
    26.07.2006
    Beiträge:
    1.318
    Geschlecht:
    männlich
    Ort:
    Villach
    Software:
    my beloved Cinema 4d ^^, Ps, zBrush
    MC Problem
    also hab wirklich versucht selber irgendwie dahinter zu kommen, naja, as is und wird warscheinlich nie meine stärke sein :D

    den code habe ich, was aber nicht wirklich so funktioniert wie es gerne hätte, der mc springt leider nur, will aber das er slidet

    Code (Text):
    1. moveRight = function() {
    2. rechts.onRollOver = function() {
    3. mebers._x += 50;
    4. }
    5. }
    6. rechts.onRollOver = function() {
    7. moveRight();
    8. }
    9. rechts.onRollOut = function() {
    10. delete rechts.onEnterFrame();
     
    #1      
  2. bad2be

    bad2be Aktives Mitglied

    Dabei seit:
    14.12.2005
    Beiträge:
    641
    Geschlecht:
    männlich
    Ort:
    Ludwigshafen am Rhein
    MC Problem
    AW: MC Problem

    Grüss Dich

    Klar das der springt, er macht das ja nur einmal, bei RollOver.
    Versuchs mal damit:

    Code (Text):
    1.  
    2. versatz = 10;
    3. rechts.onRollOver = function() {
    4.     bewegen(-versatz);
    5. };
    6. rechts.onRollOut = function() {
    7.     bewegen(0);
    8. };
    9. links.onRollOver = function() {
    10.     bewegen(+versatz);
    11. };
    12. links.onRollOut = function() {
    13.     bewegen(0);
    14. };
    15.  function bewegen(richtung) {
    16.     this.onEnterFrame = function() {
    17.         if (richtung>0) {
    18.             mebers._x = mebers._x+richtung;
    19.         } else if (richtung<0) {
    20.             mebers._x = mebers._x+richtung;
    21.         } else if (richtung == 0) {
    22.             delete this.onEnterFrame;
    23.         }
    24.     };
    25. }
    26.  
    Bei dir sieht der Code ganz komichs aus, da wär ich ne Zeit dran den gerade zu schütteln ;)


    Viel Spass damit

    Gruss B2B

    Edit:
    Wenn Du Deine Variante verwenden möchtest, dann nimm das:
    Code (Text):
    1.  
    2. moveRight = function () {
    3.     rechts.onEnterFrae = function() {
    4.         mebers._x += 10;
    5.     };
    6. };
    7. rechts.onRollOver = function() {
    8.     moveRight();
    9. };
    10. rechts.onRollOut = function() {
    11.     delete rechts.onEnterFrame;
    12. };
    13.  
    Must Du das selbe halt noch für links schreiben. Funktioniert aber auch nur richtig, wenn 'rechts' keine Schaltfläche, sondern ein MC ist. Flah hat mit onEnterFrame bei Buttons so seine Probleme, zumindest hatte es das bis zu Rev6.
     
    Zuletzt bearbeitet: 09.05.2007
    #2      
  3. beyond

    beyond evil ^.^

    Dabei seit:
    26.07.2006
    Beiträge:
    1.318
    Geschlecht:
    männlich
    Ort:
    Villach
    Software:
    my beloved Cinema 4d ^^, Ps, zBrush
    MC Problem
    super DANKE =D funktioniert prima


    EDIT:
    eine frage hätte ich doch noch, geht es das der mc wenn er einen gewissen punkt erreicht hat stehn bleibt?!??

    so und wieder ein problem ^^ also ich hab zwei mc´s die laufen sollen, mit einem klappts wunderbar, aber mit dem 2 wills einfach net funktioniern, es läuft immer nur der obere(oder das beide gleichzeitig laufen hab ich auch hingekriegt lol), und das obwohl ich beim unteren (hat auch eine andere instanz) zwei eigene btns habe mit komplett anderen instanzen, wenn ich darüber scroll fährt derwegen der obere mc Oo
     
    Zuletzt von einem Moderator bearbeitet: 16.05.2007
    #3      
  4. bad2be

    bad2be Aktives Mitglied

    Dabei seit:
    14.12.2005
    Beiträge:
    641
    Geschlecht:
    männlich
    Ort:
    Ludwigshafen am Rhein
    MC Problem
    AW: MC Problem

    Grüss Dich

    So ganz ohne Code is das nich ganz so einfach :)

    Versuchs mal so, nenn deinen oberen mc 'mcoben', deinen unteren 'mcunten'
    und deine buttons unten_rechts, oben_rechts, unten_links und oben links.

    Und dann versuchs damit:
    Code (Text):
    1. versatz = 10;
    2. oben_rechts.onRollOver = function() {
    3.     bewegen(-versatz, 'oben');
    4. };
    5. oben_rechts.onRollOut = function() {
    6.     bewegen(0);
    7. };
    8. oben_links.onRollOver = function() {
    9.     bewegen(+versatz, 'oben');
    10. };
    11. oben_links.onRollOut = function() {
    12.     bewegen(0);
    13. };
    14. unten_rechts.onRollOver = function() {
    15.     bewegen(-versatz, 'unten');
    16. };
    17. unten_rechts.onRollOut = function() {
    18.     bewegen(0);
    19. };
    20. unten_links.onRollOver = function() {
    21.     bewegen(+versatz, 'unten');
    22. };
    23. unten_links.onRollOut = function() {
    24.     bewegen(0);
    25. };
    26. function bewegen(richtung, element) {
    27.     switch (element) {
    28.     case 'oben' :
    29.         mymc = mcoben;
    30.         break;
    31.     case 'unten' :
    32.         mymc = mcunten;
    33.         break;
    34.     default :
    35.         break;
    36.     }
    37.     this.onEnterFrame = function() {
    38.         if (richtung>0) {
    39.             mymc._x = mymc._x+richtung;
    40.         } else if (richtung<0) {
    41.             mymc._x = mymc._x+richtung;
    42.         } else if (richtung == 0) {
    43.             delete this.onEnterFrame;
    44.         }
    45.     };
    46. }
    So musst Du nur noch die cases erweitern wenn du weiter buttons hinzu fügst .

    Gruss B2B

    Edit: @eine frage hätte ich doch noch, geht es das der mc wenn er einen gewissen punkt erreicht hat stehn bleibt?!??

    klar geht das. Du must in die if Bedingung noch ein &&mymc._x >= deinemax einfügen
     
    Zuletzt bearbeitet: 09.05.2007
    #4      
  5. beyond

    beyond evil ^.^

    Dabei seit:
    26.07.2006
    Beiträge:
    1.318
    Geschlecht:
    männlich
    Ort:
    Villach
    Software:
    my beloved Cinema 4d ^^, Ps, zBrush
    MC Problem
    AW: MC Problem

    woah super riesen DANKE echt =D ohne zweifel, das forum hat einfach die besten user ^^

    danke nochmal, gleich testen werd


    EDIT:
    funktioniert super, danke ^^
    tja und wie könnte es anders sein, das mit max will nicht (bin echt soo schlecht in as -.-)

    eigentlich weis ich gar net wo hin damit, aber habs mal so probiert ^^
    Code (Text):
    1. this.onEnterFrame = function() {
    2.         if (richtung>0) {
    3.             mymc._x = mymc._x+richtung&&mymc._x >= 300;
    4.         } else if (richtung<0) {
    5.             mymc._x = mymc._x+richtung&&mymc._x >= 300;
    6.         } else if (richtung == 0) {
    7.             delete this.onEnterFrame;
    8.         }
    9.  
     
    Zuletzt bearbeitet: 09.05.2007
    #5      
  6. bad2be

    bad2be Aktives Mitglied

    Dabei seit:
    14.12.2005
    Beiträge:
    641
    Geschlecht:
    männlich
    Ort:
    Ludwigshafen am Rhein
    MC Problem
    AW: MC Problem

    Hehe

    Gern geschehn

    ist klar das das nicht geht,
    zunächst must du das &&... in die Bedingung schreiben if(Bedingung1 && Bedingung2){
    dann muss ja eines dei Minimaler Wert und eines Dein Maximaler Wert sein.
    Also, in der if() bewegt er den mc nach rechts (richtung > 0), das heist die Zahl muss der maximale x wert sein, also solange mymc._x niedriger ist als, bei dir 300. Deswegen < anstatt >
    in der else if() wird der mc nach links, also in den negativen Bereich verschoben (richtung<0). Das heist der Wert sollte der minimale Wert sein.
    Nehmen wir an er soll sich bis maximal 10 pixel an den linken rand bewegen, dann sollte das so aussehn:

    Code (Text):
    1.  
    2. this.onEnterFrame = function() {
    3.         if (richtung>0 && mymc._x <= 300) {
    4.             mymc._x = mymc._x+richtung;
    5.         } else if (richtung<0 && mymc._x >= 10) {
    6.             mymc._x = mymc._x+richtung;
    7.         } else if (richtung == 0) {
    8.             delete this.onEnterFrame;
    9.         }
    10. }
    11.  
    eigentlich ganz easy ;)


    Gruss B2B

    Edit:


    wobei noch ein kleiner Fehler drin ist. Nehmen wir an, der mc liegt bei x=295 und der Versatz (hier 'richtung') liegt bei 10 und er der mc soll nach rechts (+10) verschoben werden. Dann trifft ja mymc <= 300 noch zu und der mc wird um 10 nach rechts versetzt. Danach liegt er aber bei 305, wir wollten aber, das er bei max 300 liegt. Deswegen ist das nicht 300, sondern 300-richtung. Bzw, wenn es nach links geht nicht >10 sondern >10+richtung


    Also in etwa so:


    Code (Text):
    1.  
    2. this.onEnterFrame = function() {
    3.         if (richtung>0 && mymc._x <= 300-richtung) {
    4.             mymc._x = mymc._x+richtung;
    5.         } else if (richtung<0 && mymc._x >= 10+richtung) {
    6.             mymc._x = mymc._x+richtung;
    7.         } else if (richtung == 0) {
    8.             delete this.onEnterFrame;
    9.         }
    10. }
    11.  
    oder du setzt noch ein weiteres if ein, fragst bei jedem on enter frame ab ob mc._x > 300 und setzt dann notfalls mc._x auf 300 zurück,
    also so:

    Code (Text):
    1.  
    2. this.onEnterFrame = function() {
    3.         if (richtung>0) {
    4.             mymc._x = mymc._x+richtung;
    5.         } else if (richtung<0) {
    6.             mymc._x = mymc._x+richtung;
    7.         } else if (richtung == 0) {
    8.             delete this.onEnterFrame;
    9.         }
    10.                 if(mymc._x>300){
    11.                     mymc._x=300;
    12.         delete this.onEnterFrame;//das muss nicht unbedingt
    13.                  }
    14.                 if(mymc._x<10){
    15.                     mymc._x=10;
    16.             delete this.onEnterFrame;//das auch nicht(der on enterFrame stoppt auch bei rollOut)
    17.                  }
    18. }//Edit <-die klammern hatte ich noch vergessen
    19.                
    20.  
    Gruss B2B
     
    Zuletzt bearbeitet: 10.05.2007
    #6      
  7. beyond

    beyond evil ^.^

    Dabei seit:
    26.07.2006
    Beiträge:
    1.318
    Geschlecht:
    männlich
    Ort:
    Villach
    Software:
    my beloved Cinema 4d ^^, Ps, zBrush
    MC Problem
    AW: MC Problem

    wahahahaa is das gail, super, bist mein hero ^^
    ich mein kann mich nur wiederholen, aber fettn danke, hast was gut bei mir =D


    EDIT:
    funktioniert perfekt =D danke, meine hp is gerettet ^^
     
    Zuletzt bearbeitet: 10.05.2007
    #7      
  8. bad2be

    bad2be Aktives Mitglied

    Dabei seit:
    14.12.2005
    Beiträge:
    641
    Geschlecht:
    männlich
    Ort:
    Ludwigshafen am Rhein
    MC Problem
    AW: MC Problem

    Hehe, bitte bitte

    :)
     
    #8      
Seobility SEO Tool
x
×
×